Taula de continguts:

Sensor d'ultrasons per captar canvis posicionals d'objectes: 3 passos
Sensor d'ultrasons per captar canvis posicionals d'objectes: 3 passos

Vídeo: Sensor d'ultrasons per captar canvis posicionals d'objectes: 3 passos

Vídeo: Sensor d'ultrasons per captar canvis posicionals d'objectes: 3 passos
Vídeo: GTC 2022 Spring Keynote with NVIDIA CEO Jensen Huang 2024, De novembre
Anonim
Sensor d'ultrasons per captar canvis posicionals d'objectes
Sensor d'ultrasons per captar canvis posicionals d'objectes

És important tenir les vostres coses valuoses segures, seria coix si seguiu vigilant el vostre castell tot el dia. Amb la càmera raspberry pi podeu fer les instantànies en el moment adequat. Aquesta guia us ajudarà a gravar un vídeo o a fer la fotografia quan els canvis es detectin dins de la zona límit.

Maquinari:

  1. Raspberry Pi 2/3/4
  2. Sensor d'ultrasons
  3. Càmera Pi
  4. Saltadors

Pas 1: connexions

Connexions
Connexions
  • TRIG a RPI4B 17
  • VCC a RPI4B 5V
  • GND a RPI4B GND
  • Resistència de ressò a 470 ohm fins a connexió-1
  • Resistència de GND a 1K ohm a la connexió-1
  • connexió-1 a RPI4B 4

L’esquema del circuit es fa mitjançant circuito.io, té tots els microcontroladors, sensors, etc. més populars i la plataforma és fàcil d’utilitzar per a principiants.

Pas 2: pengeu el codi

Pengeu el codi
Pengeu el codi
Pengeu el codi
Pengeu el codi

Abans d'executar l'script, creeu una carpeta mitjançant les ordres següents per obrir el terminal i, a continuació, editeu el fitxer d'escriptura.

pi @ raaspberrypi: mkdir media

pi @ raaspberrypi: nano measure.py

El codi utilitza càmeres i biblioteques GPIO. Comproveu que els pins GPIO_TRIGGER i GPIO_ECHO estiguin correctament connectats als pins 17 i 4 del Raspberry Pi externament.

Copieu i enganxeu el codi següent o escriviu-lo al fitxer python i anomeneu-lo com a "measure.py"

#Librariesimport RPi. GPIO com a importació de temps d'importació GPIO des d'importació de càmera PiCamera # Camera Mode camera = PiCamera () camera.rotation = 180 # Comenta aquesta línia si la imatge està perfectament inclinada #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 (): # defineix Trigger a HIGH GPIO.output (GPIO_TRIGGER, True) # defineix Trigger després de 0,01 ms a LOW time.sleep (0,00001) GPIO.output (GPIO_TRIGGER, fals) StartTime = time.time () StopTime = time.time () # save StartTime mentre GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # estalvia temps d’arribada mentre GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # diferència de temps entre l’inici i l’arribada Temps transcorregut = StopTime - TimeTime # multiplica per la velocitat sonora (34300 cm / s) # i divideix per 2, perquè distància d'anada i tornada = (TimeElapsed * 34300) / 2 distància de retorn si _name_ == '_main_': camera.start_preview (alpha = 200) try: while True: dist = distance () print ("Distància mesurada =%.1f cm"% dist) si dist <= 20: # canvieu aquest valor segons la vostra configuració ara = hora.ctime (). replace ("", "-") camera.capture ("media / image% s.jpg"% now) print ("Imatge desada a media / image-% s.jpg"% now) # camera.start_recording ("media / video-% s.h264"% ara) # Descomenta-ho per fer un vídeo # print ("Vídeo desat a media / image-% s.jpg"% ara) # sleep (5) # No comenta això per fer un vídeo durant 5 segons. GPIO.cleanup ()

Pas 3: executeu el codi

Executeu el codi
Executeu el codi
Executeu el codi
Executeu el codi
Executeu el codi
Executeu el codi
Executeu el codi
Executeu el codi

Ara executeu l'script com

pi @ raspberrypi: python measure.py

La distància es mesura cada 3 segons (podeu canviar el valor de l’escriptura) i s’imprimeix a la pantalla si s’identifica un objecte dins dels 20 centímetres, la càmera pi fa una foto i la desa a la carpeta multimèdia.

Com a alternativa, podeu gravar un vídeo descomentant o eliminar els hashtags (#) de les línies de seqüència esmentades com a comentaris. També podeu ampliar la durada del vídeo simplement incrementant / disminuint el valor a "time.sleep (5)".

Feliç circuit!

Recomanat: