In questo articolo, ti mostrerò come utilizzare un sensore ad ultrasuoni HC-SR04 per misurare la distanza tra il sensore e un oggetto sulla sua strada usando Raspberry Pi. Iniziamo.
Per misurare con successo la distanza con il sensore Raspberry Pi e HC-SR04, è necessario,
Ho scritto un articolo dedicato sull'installazione di Raspbian su Raspberry Pi, che puoi controllare su https: // linuxhint.com/ install_raspbian_raspberry_pi/ se è necessario.
Pinout HC-SR04:
L'HC-SR04 ha 4 pin. VCC, grilletto, eco, groud.
Fig1: Pinout HC-SR04 (https: // www.mouser.com/ds/2/813/hcsr04-1022824.PDF)
Il perno VCC deve essere collegato al pin +5V del lampone Pi, che è il pin 2. Il perno di terra dovrebbe essere collegato al perno GND del lampone PI, che è il pin 4.
I pin di grilletto ed eco dovrebbero essere collegati ai pin GPIO di Raspberry Pi. Mentre, il perno del trigger può essere collegato direttamente a uno dei pin GPIO di Raspberry Pi, il perno di eco necessita di un circuito del divisore di tensione.
Schema elettrico:
Collega il sensore ad ultrasuoni HC-SR04 al tuo Raspberry Pi come segue:
Fig2: sensore ultrasonico HC-SR04 collegato a Raspberry Pi.
Una volta che tutto è connesso, è così che appare:
Fig3: sensore ultrasonico HC-SR04 collegato a Raspberry Pi su Breadboard.
Fig4: sensore ultrasonico HC-SR04 collegato a Raspberry Pi su Breadboard.
Scrivere un programma Python per misurare la distanza con HC-SR04:
Innanzitutto, connettiti a Raspberry Pi usando VNC o SSH. Quindi, apri un nuovo file (diciamo distanza.Py) e digitare le seguenti righe di codici:
Qui, la linea 1 importa la libreria Raspberry Pi GPIO.
La riga 2 importa la libreria del tempo.
Dentro il Tentativo blocco, il codice effettivamente per misurare la distanza utilizzando HC-SR04 è scritto.
IL Finalmente Il blocco viene utilizzato per ripulire i perni GPIO con GPIO.ripulire() Metodo quando il programma esce.
Dentro il Tentativo blocco, sulla riga 5, GPIO.SetMode (GPIO.ASSE) è usato per semplificare la definizione dei pin. Ora, puoi fare riferimento ai pin per numeri fisici come si trova sulla scheda Raspberry Pi.
Sul rigo 7 e 8, pintrigger è impostato per 7 E Pinecho è impostato per 11. IL GRILLETTO Il pin di HC-SR04 è collegato al pin 7 e ECO Il pin di HC-SR04 è collegato al pin 11 di Rapsberry Pi. Entrambi sono pin GPIO.
Sulla riga 10, pintrigger è configurazione per l'output utilizzando GPIO.impostare() metodo.
Sulla riga 11, Pinecho è configurazione per l'input utilizzando GPIO.impostare() metodo.
Le righe 13-17 vengono utilizzate per il ripristino pintrigger (impostandolo su Logic 0) e impostando il pintrigger alla logica 1 per 10 ms e poi alla logica 0. In 10ms, il sensore HC-SR04 invia 8 impulsi da 40khz.
Le righe 19-24 vengono utilizzate per misurare il tempo impiegato per riflettere gli impulsi a 40kHz su un oggetto e di nuovo al sensore HC-SR04.
Nella riga 25, la distanza viene misurata usando la formula,
Distanza = tempo delta * velocità (340m / s) / 2
=> Distanza = tempo delta * (170m/s)
Ho calcolato la distanza in centimetri anziché in metri, solo per essere precisi. Ho calcolato la distanza è anche arrotondata a 2 posti decimali.
Infine, sulla riga 27, il risultato è stampato. Ecco, molto semplice.
Ora, esegui lo script Python con il seguente comando:
$ Python3 Distanza.PyCome puoi vedere, la distanza misurata è 8.40 cm.
Fig5: oggetto posto a circa 8.40 cm di distanza dal sensore.
Mi sono spostato per obiettare un po 'più lontano, la distanza misurata è 21.81 cm. Quindi, funziona come previsto.
Fig6: oggetto posto a circa 21.81 cm di distanza dal sensore.
È così che misuri la distanza con Raspberry Pi usando il sensore ultrasonico HC-SR04. Vedere il codice per la distanza.Py sotto:
Importa RPI.GPIO AS GPIO