Sadržaj:

Ultrazvučni senzor za snimanje pozicijskih promjena objekata: 3 koraka
Ultrazvučni senzor za snimanje pozicijskih promjena objekata: 3 koraka

Video: Ultrazvučni senzor za snimanje pozicijskih promjena objekata: 3 koraka

Video: Ultrazvučni senzor za snimanje pozicijskih promjena objekata: 3 koraka
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №37 2024, Juli
Anonim
Ultrazvučni senzor za snimanje pozicijskih promjena objekata
Ultrazvučni senzor za snimanje pozicijskih promjena objekata

Važno je da vaše vrijedne stvari budu na sigurnom, bilo bi jadno ako biste cijeli dan čuvali svoj dvorac. Pomoću maline pi kamere možete napraviti snimke u pravom trenutku. Ovaj će vam vodič pomoći pri snimanju videozapisa ili fotografiranju kada se promjene osjete unutar graničnog područja.

Hardver:

  1. Raspberry Pi 2/3/4
  2. Ultrazvučni senzor
  3. Pi kamera
  4. Džemperi

Korak 1: Veze

Connections
Connections
  • TRIG to RPI4B 17
  • VCC na RPI4B 5V
  • GND u RPI4B GND
  • Odjek na 470-ohmski otpornik na priključak-1
  • GND na 1K ohm otpornik na priključak-1
  • veza-1 na RPI4B 4

Shema kola napravljena je pomoću circuito.io, ima sve najpopularnije mikrokontrolere, senzore itd., A platforma je laka za upotrebu za početnike

Korak 2: Otpremite kôd

Otpremite kôd
Otpremite kôd
Otpremite kôd
Otpremite kôd

Prije nego pokrenete skriptu, kreirajte mapu kroz sljedeće naredbe otvaranjem terminala, a zatim uredite datoteku skripte.

pi@raaspberrypi: mkdir media

pi@raaspberrypi: nano mjera.py

Kod koristi kamere i GPIO biblioteke. Unakrsno provjerite da li su pinovi GPIO_TRIGGER i GPIO_ECHO pravilno spojeni na 17. i 4. pinove Raspberry Pi izvana.

Kopirajte i zalijepite donji kôd ili upišite u python datoteku i dajte mu ime "mjera.py"

#Librariesimport RPi. GPIO kao GPIO vrijeme uvoza uvoz os iz pikamere uvoz PiCamera # Kamera način rada kamera = PiCamera () camera.rotation = 180 # Komentirajte ovu liniju ako je slika savršeno postavljena #GPIO način GPIO.način rada (GPIO. BCM) GPIO.setwarnings (False) #set GPIO pinovi GPIO_TRIGGER = 17 GPIO_ECHO = 4 #postavljeni GPIO smjer (IN / OUT) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN) def distance (): # postavite Trigger na HIGH GPIO.output (GPIO_TRIGGER, True) # postavite Trigger nakon 0,01 ms na LOW time.sleep (0,00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () # spremite StartTime while GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # spremi vrijeme dolaska dok GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # vremenska razlika između početka i dolaska TimeElapsed = StopTime - StartTime # pomnožite sa zvučnom brzinom (34300 cm / s) # i podijelite s 2, jer tamo i zadnja udaljenost = (TimeElapsed * 34300) / 2 povratna udaljenost ako je _name_ == '_main_': camera.start_preview (alpha = 200) try: while True: dist = distance () print ("Izmjerena udaljenost = %.1f cm" % dist) ako je dist <= 20: # promijenite ovu vrijednost prema postavkama sada = vrijeme.ctime (). replace ("", "-") camera.capture ("media/image % s.jpg" % now) print ("Slika sačuvana na mediju/image- % s.jpg" % sada) # camera.start_recording ("media/video- % s.h264" % now) # Ostavite komentar na ovo da snimite video # ispis ("Video zapis sačuvan na mediju/image- % s.jpg" % sada) # sleep (5) # Raskomentirajte ovo za snimanje videozapisa u trajanju od 5 sekundi.sleep (3) camera.stop_preview () # camera.stop_recording () # Dekomentirajte ovo za snimanje videozapisa # Resetirajte pritiskom na CTRL + C osim KeyboardInterrupt: print ("Mjerenje je zaustavio korisnik") GPIO.cleanup ()

Korak 3: Pokrenite kôd

Pokrenite kôd
Pokrenite kôd
Pokrenite kôd
Pokrenite kôd
Pokrenite kôd
Pokrenite kôd
Pokrenite kôd
Pokrenite kôd

Sada pokrenite skriptu kao

pi@raspberrypi: python mjera.py

Udaljenost se mjeri svake 3 sekunde (možete promijeniti vrijednost u skripti) i ispisuje se na ekranu ako se identificira objekt unutar 20 centimetara, pi kamera snima fotografiju i sprema je u mapu s medijima.

Alternativno, možete snimiti videozapis tako što ćete komentirati ili ukloniti hashtagove (#) iz redaka skripte spomenutih kao komentari. Također možete produžiti video zapis jednostavnim povećanjem/smanjenjem vrijednosti u “time.sleep (5)”.

Happy Circuiting!

Preporučuje se: