Kazalo:

Ultrazvočni senzor za zajemanje pozicijskih sprememb predmetov: 3 koraki
Ultrazvočni senzor za zajemanje pozicijskih sprememb predmetov: 3 koraki

Video: Ultrazvočni senzor za zajemanje pozicijskih sprememb predmetov: 3 koraki

Video: Ultrazvočni senzor za zajemanje pozicijskih sprememb predmetov: 3 koraki
Video: HC-SR04 Ultrasonic Sensor Signals on Oscilloscope 2024, December
Anonim
Ultrazvočni senzor za zajemanje pozicijskih sprememb predmetov
Ultrazvočni senzor za zajemanje pozicijskih sprememb predmetov

Pomembno je, da imate svoje dragocene stvari na varnem, slabo bi bilo, če bi ves dan stražili svoj grad. S kamero maline pi lahko posnamete posnetke v pravem trenutku. Ta vodnik vam bo pomagal pri snemanju videoposnetka ali fotografiranju, ko boste zaznali spremembe v mejnem območju.

Strojna oprema:

  1. Raspberry Pi 2/3/4
  2. Ultrazvočni senzor
  3. Pi kamera
  4. Skakalci

1. korak: Povezave

Povezave
Povezave
  • TRIG v RPI4B 17
  • VCC do RPI4B 5V
  • GND v RPI4B GND
  • Odmev na 470-ohmski upor do priključka-1
  • GND do 1K ohmskega upora na priključek-1
  • povezava-1 z RPI4B 4

Shema vezja je narejena s pomočjo circuito.io, ima vse najbolj priljubljene mikrokrmilnike, senzorje itd., Platforma pa je enostavna za uporabo za začetnike

2. korak: Naložite kodo

Naložite kodo
Naložite kodo
Naložite kodo
Naložite kodo

Preden zaženete skript, ustvarite mapo z naslednjimi ukazi, ki odprejo terminal, in nato uredite datoteko skripta.

pi@raaspberrypi: mkdir media

pi@raaspberrypi: nano mere.py

Koda uporablja knjižnice fotoaparatov in GPIO. Navzkrižno preverite, ali so nožici GPIO_TRIGGER in GPIO_ECHO pravilno priključeni na 17. in 4. nožico Raspberry Pi navzven.

Kopirajte in prilepite spodnjo kodo ali vnesite v datoteko python in jo poimenujte kot 'measure.py'

#Librariesimport RPi. GPIO kot GPIO čas uvoza uvoz os iz pikamere import PiCamera # Camera Mode camera = PiCamera () camera.rotation = 180 # Komentirajte to vrstico, če je slika popolnoma nagnjena #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 (): # sprožilec nastavite na HIGH GPIO.output (GPIO_TRIGGER, True) # nastavite sprožilec po 0,01 ms na LOW time.sleep (0,00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () # shranite StartTime while GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # shranite čas prihoda, medtem ko GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # časovna razlika med začetkom in prihodom TimeElapsed = StopTime - StartTime # pomnožite s hitrostjo zvoka (34300 cm / s) # in delite z 2, ker sta razdalja tam in nazaj = (TimeElapsed * 34300) / 2 povratna razdalja, če je _name_ == '_main_': camera.start_preview (alpha = 200) try: while True: dist = distance () print ("Izmerjena razdalja = %.1f cm" % dist), če je dist <= 20: # spremenite to vrednost glede na nastavitve zdaj = čas.ctime (). replace ("", "-") camera.capture ("media/image % s.jpg" % now) print ("Slika shranjena na mediju/image- % s.jpg" % zdaj) # camera.start_recording ("media/video- % s.h264" % now) # Odkomentirajte to, da posnamete videoposnetek # natisnite ("Video posnetek shranjen na mediju/image- % s.jpg" % zdaj) # sleep (5) # Odkomentirajte to za snemanje videoposnetka za 5 sekund time.sleep (3) camera.stop_preview () # camera.stop_recording () # Razkomentirajte to, da posnamete videoposnetek # Ponastavi s pritiskom na CTRL + C, razen KeyboardInterrupt: print ("Meritev je ustavil uporabnik") GPIO.cleanup ()

3. korak: Zaženite kodo

Zaženite kodo
Zaženite kodo
Zaženite kodo
Zaženite kodo
Zaženite kodo
Zaženite kodo
Zaženite kodo
Zaženite kodo

Zdaj zaženite skript kot

pi@raspberrypi: python mere.py

Razdalja se meri vsake 3 sekunde (vrednost lahko spremenite v skriptu) in se natisne na zaslon, če je predmet identificiran v 20 centimetrih, kamera pi posname fotografijo in jo shrani v mapo z mediji.

Lahko pa tudi posnamete video, tako da razkomentirate ali odstranite oznake hashtags (#) iz vrstic skripta, omenjenih kot komentarji. Dolžino videa lahko tudi podaljšate tako, da preprosto povečate/zmanjšate vrednost v »time.sleep (5)«.

Veselo kroženje!

Priporočena: