Sommario:

Sensore a ultrasuoni per acquisire i cambiamenti di posizione degli oggetti: 3 passaggi
Sensore a ultrasuoni per acquisire i cambiamenti di posizione degli oggetti: 3 passaggi

Video: Sensore a ultrasuoni per acquisire i cambiamenti di posizione degli oggetti: 3 passaggi

Video: Sensore a ultrasuoni per acquisire i cambiamenti di posizione degli oggetti: 3 passaggi
Video: Misurare la velocità con un Encoder Rotativo e Arduino - Video 492 2024, Luglio
Anonim
Sensore a ultrasuoni per catturare i cambiamenti di posizione degli oggetti
Sensore a ultrasuoni per catturare i cambiamenti di posizione degli oggetti

È importante tenere al sicuro le tue cose di valore, sarebbe zoppo se continuassi a fare la guardia al tuo castello tutto il giorno. Usando la fotocamera Raspberry Pi puoi scattare gli scatti al momento giusto. Questa guida ti aiuterà a girare un video o scattare la foto quando vengono rilevate le modifiche all'interno dell'area di confine.

Hardware:

  1. Lampone Pi 2/3/4
  2. Sensore ultrasonico
  3. Fotocamera Pi
  4. ponticelli

Passaggio 1: connessioni

Connessioni
Connessioni
  • TRIG a RPI4B 17
  • Da VCC a RPI4B 5V
  • GND a RPI4B GND
  • Eco al resistore da 470 ohm alla connessione-1
  • GND a resistenza da 1K ohm alla connessione-1
  • connessione-1 a RPI4B 4

Lo schema del circuito è realizzato utilizzando circuito.io, ha tutti i microcontrollori, i sensori, ecc. più popolari e la piattaforma è facile da usare per i principianti

Passaggio 2: carica il codice

Carica il codice
Carica il codice
Carica il codice
Carica il codice

Prima di eseguire lo script, creare una cartella tramite i seguenti comandi aprendo il terminale e quindi modificare il file di script.

pi@raaspberrypi: mkdir media

pi@raaspberrypi: nano misura.py

Il codice utilizza le librerie della fotocamera e GPIO. Verifica che i pin GPIO_TRIGGER e GPIO_ECHO siano correttamente collegati esternamente ai pin 17th e 4th del Raspberry Pi.

Copia e incolla il codice sottostante o digita nel file python e chiamalo "measure.py"

#Librariesimport RPi. GPIO as GPIO import time import os from picamera import PiCamera # Camera Mode camera = PiCamera() camera.rotation = 180 # Commenta questa riga se l'immagine è perfettamente angolata #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(): # set Trigger su HIGH GPIO.output(GPIO_TRIGGER, True) # imposta Trigger after 0.01ms su LOW time.sleep(0.00001) GPIO.output(GPIO_TRIGGER, False) StartTime = time.time() StopTime = time.time() # save StartTime while GPIO.input(GPIO_ECHO) == 0: StartTime = time.time() # salva l'ora di arrivo while GPIO.input(GPIO_ECHO) == 1: StopTime = time.time() # differenza di tempo tra l'inizio e l'arrivo TimeElapsed = StopTime - StartTime # moltiplicare per la velocità del suono (34300 cm/s) # e dividere per 2, perché la distanza di andata e ritorno = (TimeElapsed * 34300) / 2 restituisce la distanza se _name_ == '_main_': camera.start_preview(alpha=200) try: while True: dist = distance() print ("Distanza misurata = %.1f cm" % dist) if dist<= 20: # cambia questo valore in base alla tua impostazione now = time.ctime().replace(" ", "-") camera.capture("media/image%s.jpg" % now) print("Immagine salvata su media/image-%s.jpg" % now) # camera.start_recording("media/video-%s.h264" % now) # Decommenta questo per prendere un video # print("Video salvato su media/image-%s.jpg" % now) # sleep(5) # Decommenta questo per registrare un video per 5 secondi time.sleep(3) camera.stop_preview() # camera.stop_recording() # Rimuovi il commento per registrare un video # Reimposta premendo CTRL + C tranne KeyboardInterrupt: print("Misurazione interrotta dall'utente") GPIO.cleanup()

Passaggio 3: eseguire il codice

Esegui il codice
Esegui il codice
Esegui il codice
Esegui il codice
Esegui il codice
Esegui il codice
Esegui il codice
Esegui il codice

Ora esegui lo script come

pi@raspberrypi: python measure.py

La distanza viene misurata ogni 3 secondi (è possibile modificare il valore nello script) e viene stampata sullo schermo se viene identificato un oggetto entro i 20 centimetri, la fotocamera pi scatta una foto e salva nella cartella media.

In alternativa, puoi girare un video decommentando o rimuovendo gli hashtag (#) dalle righe di script menzionate come commenti. Puoi anche estendere la durata del video semplicemente incrementando/decrementando il valore in “time.sleep(5)”.

Buon Circuito!

Consigliato: