Cuprins:

Senzor cu ultrasunete pentru a surprinde modificările poziționale ale obiectelor: 3 pași
Senzor cu ultrasunete pentru a surprinde modificările poziționale ale obiectelor: 3 pași
Anonim
Senzor cu ultrasunete pentru a surprinde modificările poziționale ale obiectelor
Senzor cu ultrasunete pentru a surprinde modificările poziționale ale obiectelor

Este important să vă protejați lucrurile valoroase, ar fi șchiop dacă ați păstra castelul toată ziua. Folosind camera raspberry pi puteți face instantanee la momentul potrivit. Acest ghid vă va ajuta să înregistrați un videoclip sau să fotografiați atunci când modificările sunt detectate în zona de delimitare.

Hardware:

  1. Raspberry Pi 2/3/4
  2. Senzor cu ultrasunete
  3. Camera Pi
  4. Jumpers

Pasul 1: Conexiuni

Conexiuni
Conexiuni
  • TRIG la RPI4B 17
  • VCC la RPI4B 5V
  • GND la RPI4B GND
  • Ecoul la rezistorul 470-ohm la conexiunea-1
  • Rezistor GND la 1K ohm la conexiune-1
  • conexiune-1 la RPI4B 4

Schema circuitului este realizată folosind circuito.io, are toate cele mai populare microcontrolere, senzori etc., iar platforma este ușor de utilizat pentru începători

Pasul 2: încărcați codul

Încărcați codul
Încărcați codul
Încărcați codul
Încărcați codul

Înainte de a rula scriptul, creați un folder prin următoarele comenzi care deschid terminalul și apoi editați fișierul script.

pi @ raaspberrypi: mkdir media

pi @ raaspberrypi: nano measure.py

Codul folosește biblioteci de camere și GPIO. Verificați încrucișat pinii GPIO_TRIGGER și GPIO_ECHO sunt conectați corect la pinii 17 și 4 ai Raspberry Pi extern.

Copiați și lipiți codul de mai jos sau tastați în fișierul Python și denumiți-l ca „măsură.py”

#Librariesimport RPi. GPIO ca timp de import GPIO pentru importul de imagini din camera foto PiCamera # Camera Mode camera = PiCamera () camera.rotation = 180 # Comentează această linie dacă imaginea este perfect unghiulară #GPIO Mode GPIO.setmode (GPIO. BCM) GPIO.setwarnings (False) #set GPIO Pins GPIO_TRIGGER = 17 GPIO_ECHO = 4 #set GPIO direction (IN / OUT) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN) def distance (): # setați Trigger la HIGH GPIO.output (GPIO_TRIGGER, True) # setați Trigger după 0,01ms la LOW time.sleep (0,00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () # save StartTime în timp ce GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # economisiți timpul de sosire în timp ce GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # diferență de timp între ora de start și sosire = StopTime - StartTime # multiplicați cu viteza sonică (34300 cm / s) # și împărțiți la 2, pentru că distanța dintre și înapoi = (TimeElapsed * 34300) / 2 distanță de retur dacă _name_ == '_main_': camera.start_preview (alpha = 200) try: while True: dist = distance () print ("Distance Distance =%.1f cm"% dist) if dist <= 20: # modificați această valoare în funcție de setarea dvs. acum = time.ctime (). înlocuiți ("", "-") camera.capture ("media / image% s.jpg"% acum) print ("Imagine salvată la media / image-% s.jpg"% acum) # camera.start_recording („media / video-% s.h264”% acum) # Descomentați acest lucru pentru a face un videoclip # print („Video salvat pe media / image-% s.jpg„% acum) # sleep (5) # Decomentați acest lucru pentru a face un videoclip timp de 5 secunde. GPIO.cleanup ()

Pasul 3: Rulați codul

Rulați codul
Rulați codul
Rulați codul
Rulați codul
Rulați codul
Rulați codul
Rulați codul
Rulați codul

Acum rulați scriptul ca

pi @ raspberrypi: python measure.py

Distanța se măsoară la fiecare 3 secunde (puteți modifica valoarea din script) și este imprimată pe ecran dacă un obiect este identificat în 20 de centimetri, camera pi face o fotografie și salvează în folderul media.

Alternativ, puteți înregistra un videoclip decomentând sau eliminând hashtagurile (#) din liniile de script menționate ca comentarii. De asemenea, puteți extinde durata videoclipului prin simpla creștere / descreștere a valorii în „time.sleep (5)”.

Circuit fericit!

Recomandat: