Innehållsförteckning:

Ultraljudssensor för att fånga positionsförändringar av objekt: 3 steg
Ultraljudssensor för att fånga positionsförändringar av objekt: 3 steg

Video: Ultraljudssensor för att fånga positionsförändringar av objekt: 3 steg

Video: Ultraljudssensor för att fånga positionsförändringar av objekt: 3 steg
Video: PAAB ULTRALJUDSFLÖDESMÄTARE FÖR MÄTRÄNNOR OCH MÄTÖVERFALL 2024, November
Anonim
Ultraljudssensor för att fånga positionsförändringar av objekt
Ultraljudssensor för att fånga positionsförändringar av objekt

Det är viktigt att ha dina värdefulla saker säkra, det vore halt om du fortsätter att vakta ditt slott hela dagen. Med hjälp av hallon pi -kameran kan du ta bilderna i rätt ögonblick. Den här guiden hjälper dig att spela in en video eller ta bilden när ändringarna avkänns inom gränsområdet.

Hårdvara:

  1. Hallon Pi 2/3/4
  2. Ultraljudssensor
  3. Pi -kamera
  4. Tröjor

Steg 1: Anslutningar

Anslutningar
Anslutningar
  • TRIG till RPI4B 17
  • VCC till RPI4B 5V
  • GND till RPI4B GND
  • Eko till 470-ohm motstånd till anslutning-1
  • GND till 1K ohm motstånd till anslutning-1
  • anslutning-1 till RPI4B 4

Kretsschemat är gjort med circuito.io, det har alla de mest populära mikrokontrollerna, sensorerna etc och plattformen är lätt att använda för nybörjare

Steg 2: Ladda upp koden

Ladda upp koden
Ladda upp koden
Ladda upp koden
Ladda upp koden

Innan du kör skriptet, skapa en mapp genom följande kommandon som öppnar terminalen och redigerar sedan skriptfilen.

pi@raaspberrypi: mkdir media

pi@raaspberrypi: nano measure.py

Koden använder kamera- och GPIO -bibliotek. Kontrollera att GPIO_TRIGGER & GPIO_ECHO-stiften är korrekt anslutna till 17: e och 4: e stiften på Raspberry Pi externt.

Kopiera och klistra in nedanstående kod eller skriv in i python -filen och namnge den som 'measure.py'

#Librariesimport RPi. GPIO som GPIO importtid import os från picamera import PiCamera # Camera Mode camera = PiCamera () camera.rotation = 180 # Kommentera den här raden om bilden är perfekt vinklad #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 (): # ställ Trigger till HIGH GPIO.output (GPIO_TRIGGER, True) # ställ Trigger efter 0.01ms till LOW time.sleep (0.00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () # save StartTime medan GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # spara ankomsttid medan GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # tidsskillnad mellan start och ankomst TimeElapsed = StopTime - StartTime # multiplicera med sonisk hastighet (34300 cm / s) # och dividera med 2, eftersom det och bakåt distans = (TimeElapsed * 34300) / 2 retursträcka om _name_ == '_main_': camera.start_preview (alfa = 200) försök: medan True: dist = distance () print ("Measured Distance = %.1f cm" % dist) if dist <= 20: # ändra detta värde enligt din inställning nu = tid.ctime (). Ersätt ("", "-") camera.capture ("media/image % s.jpg" % nu) print ("Bild sparad på media/image- % s.jpg" % nu) # kamera.start_recording ("media/video- % s.h264" % nu) # Kommentera detta för att ta en video # print ("Video sparad på media/image- % s.jpg" % nu) # sleep (5) # Uncomment this för att ta en video i 5 sekunder. sova (3) kamera.stopp_förhandsgranskning () # kamera.stoppa_inspelning () # Avmarkera detta för att ta en video GPIO.cleanup ()

Steg 3: Kör koden

Kör koden
Kör koden
Kör koden
Kör koden
Kör koden
Kör koden
Kör koden
Kör koden

Kör nu skriptet som

pi@raspberrypi: python measure.py

Avståndet mäts var tredje sekund (du kan ändra värdet i skriptet) och skrivs ut på skärmen om ett objekt identifieras inom 20 centimeter, pi -kameran tar ett foto och sparar i mediemappen.

Alternativt kan du spela in en video genom att inte kommentera eller ta bort hashtags (#) från skriptraderna som nämns som kommentarer. Du kan också förlänga videolängden genom att helt enkelt öka/minska värdet i “time.sleep (5)”.

Glad cirkulering!

Rekommenderad: