Indholdsfortegnelse:
Video: Ultralydssensor til at fange positionsændringer af objekter: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Det er vigtigt at have dine værdifulde ting i sikkerhed, det ville være halt, hvis du bliver ved med at vogte dit slot hele dagen. Ved hjælp af hindbær pi -kameraet kan du tage snaps på det rigtige tidspunkt. Denne vejledning hjælper dig med at optage en video eller tage billedet, når ændringerne registreres inden for grænseområdet.
Hardware:
- Hindbær Pi 2/3/4
- Ultralydssensor
- Pi kamera
- Jumpere
Trin 1: Forbindelser
- TRIG til RPI4B 17
- VCC til RPI4B 5V
- GND til RPI4B GND
- Ekko til 470-ohm modstand til forbindelse-1
- GND til 1K ohm modstand til forbindelse-1
- forbindelse-1 til RPI4B 4
Kredsløbsskematikken er lavet ved hjælp af circuito.io, den har alle de mest populære mikrokontrollere, sensorer osv., Og platformen er let at bruge for begyndere
Trin 2: Upload koden
Inden du kører scriptet, skal du oprette en mappe ved hjælp af følgende kommandoer, der åbner terminalen og derefter redigere scriptfilen.
pi@raaspberrypi: mkdir media
pi@raaspberrypi: nano measure.py
Koden bruger kamera- og GPIO -biblioteker. Kryds-check GPIO_TRIGGER & GPIO_ECHO benene er korrekt forbundet til 17. og 4. ben på Raspberry Pi eksternt.
Kopier og indsæt nedenstående kode, eller skriv i python -filen, og navngiv den som 'measure.py'
#Librariesimport RPi. GPIO som GPIO import tid import os fra picamera import PiCamera # Camera Mode camera = PiCamera () camera.rotation = 180 # Kommenter denne linje, hvis billedet er perfekt vinklet #GPIO Mode GPIO.setmode (GPIO. BCM) GPIO.setwarnings (False) #set GPIO Pins GPIO_TRIGGER = 17 GPIO_ECHO = 4 #sæt GPIO retning (IN / OUT) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN) def distance (): # indstil Trigger til HIGH GPIO.output (GPIO_TRIGGER, True) # sæt Trigger efter 0.01ms til LOW time.sleep (0.00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () # save StartTime mens GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # gem ankomsttid, mens GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # tidsforskel mellem start og ankomst TimeElapsed = StopTime - StartTime # multipliceres med sonisk hastighed (34300 cm / s) # og divideres med 2, fordi der og tilbage afstand = (TimeElapsed * 34300) / 2 returafstand, hvis _navn_ == '_main_': camera.start_preview (alfa = 200) prøv: mens True: dist = distance () print ("Measured Distance = %.1f cm" % dist) if dist <= 20: # ændre denne værdi i henhold til din indstilling nu = tid.ctime (). udskift ("", "-") camera.capture ("medie/billede % s.jpg" % nu) print ("Billede gemt på medier/billede- % s.jpg" % nu) # kamera.start_recording ("media/video- % s.h264" % nu) # Kommenter dette for at tage en video # print ("Video gemt på media/image- % s.jpg" % nu) # sleep (5) # Fjern denne kommentar for at tage en video i 5 sekunder. sleep (3) camera.stop_preview () # camera.stop_recording () # Kommenter dette for at tage en video # Nulstil ved at trykke på CTRL + C undtagen KeyboardInterrupt: print ("Måling stoppet af bruger") GPIO.cleanup ()
Trin 3: Kør koden
Kør nu scriptet som
pi@raspberrypi: python measure.py
Afstanden måles for hvert 3. sekund (du kan ændre værdien i scriptet) og udskrives på skærmen, hvis et objekt er identificeret inden for de 20 centimeter, pi -kameraet tager et foto og gemmer i mediemappen.
Alternativt kan du optage en video ved ikke at kommentere eller fjerne hashtags (#) fra de scriptlinjer, der er nævnt som kommentarer. Du kan også forlænge videolængden ved blot at øge/reducere værdien i “time.sleep (5)”.
Glad cirkus!
Anbefalede:
Objektorienteret programmering: Oprettelse af objekter Læring/undervisningsmetode/teknik ved hjælp af Shape Puncher: 5 trin
Objektorienteret programmering: Oprettelse af objekter Læring/undervisningsmetode/teknik ved hjælp af Shape Puncher: Lærings-/undervisningsmetode til studerende, der er nye til objektorienteret programmering. Dette er en måde, hvorpå de kan visualisere og se processen med at oprette objekter fra klasser.Dele: 1. EkTools 2-tommer stor slag; solide former er bedst. Stykke papir eller
Arduino RGB farvevælger - Vælg farver fra virkelige objekter: 7 trin (med billeder)
Arduino RGB -farvevælger - Vælg farver fra virkelige objekter: Vælg let farver fra fysiske objekter med denne Arduino -baserede RGB -farvevælger, så du kan genskabe de farver, du ser i virkelige objekter på din pc eller mobiltelefon. Bare tryk på en knap for at scanne objektets farve ved hjælp af en billig TCS347
Objektorienteret programmering: Oprettelse af objekter Læring/undervisningsmetode/teknik ved hjælp af saks: 5 trin
Objektorienteret programmering: Oprettelse af objekter Lærings-/undervisningsmetode/teknik ved hjælp af saks: Lærings-/undervisningsmetode for studerende, der er nye til objektorienteret programmering. Dette er en måde at give dem mulighed for at visualisere og se processen med at oprette objekter fra klasser. Dele: 1. Saks (enhver form vil gøre). 2. Papir eller karton. 3. Markør
Registrer objekter, mens du kører RC -bil: 9 trin
Find objekter, mens du kører RC -bil: Dette projekt handler om brug af ultralydssensorer på en bil til at opdage forhindringer
Metoder til påvisning af vandstand Arduino ved hjælp af ultralydssensor og Funduino -vandsensor: 4 trin
Metoder til påvisning af vandstand Arduino ved hjælp af ultralydssensor og Funduino vandsensor: I dette projekt viser jeg dig, hvordan du opretter en billig vanddetektor ved hjælp af to metoder: 1. Ultralydssensor (HC-SR04) .2. Funduino vandføler