- Sensore a ultrasuoni HC-SR04:
- Componenti richiesti:
- Spiegazione del circuito:
- Spiegazione di lavoro:
In questo progetto interfacciamo il modulo sensore a ultrasuoni HC-SR04 a Raspberry Pi per misurare la distanza. Abbiamo già utilizzato un sensore a ultrasuoni con Raspberry Pi per costruire un robot per evitare gli ostacoli. Prima di andare oltre, informiamoci sul sensore a ultrasuoni.
Sensore a ultrasuoni HC-SR04:
Il sensore a ultrasuoni viene utilizzato per misurare la distanza con elevata precisione e letture stabili. Può misurare la distanza da 2 cm a 400 cm o da 1 pollice a 13 piedi. Emette un'onda ad ultrasuoni alla frequenza di 40 KHz nell'aria e se l'oggetto si frappone, rimbalzerà sul sensore. Utilizzando il tempo necessario per colpire l'oggetto e tornare indietro, puoi calcolare la distanza.
Il sensore a ultrasuoni utilizza una tecnica chiamata "ECHO". "ECHO" è semplicemente un'onda sonora riflessa. Avrai un ECHO quando il suono si riflette dopo aver raggiunto un vicolo cieco.
Il modulo HCSR04 genera una vibrazione sonora nella gamma degli ultrasuoni quando alziamo il pin 'Trigger' per circa 10us che invierà un burst sonoro di 8 cicli alla velocità del suono e dopo aver colpito l'oggetto, verrà ricevuto dal pin Echo. A seconda del tempo impiegato dalla vibrazione sonora per tornare indietro, fornisce un'uscita di impulsi appropriata. Se l'oggetto è lontano, ci vuole più tempo per sentire ECHO e l'ampiezza dell'impulso in uscita sarà grande. E se l'ostacolo è vicino, l'ECHO verrà udito più velocemente e la larghezza dell'impulso in uscita sarà inferiore.
Possiamo calcolare la distanza dell'oggetto in base al tempo impiegato dall'onda ultrasonica per tornare al sensore. Poiché il tempo e la velocità del suono sono noti, possiamo calcolare la distanza con le seguenti formule.
- Distanza = (tempo x velocità del suono nell'aria (343 m / s)) / 2.
Il valore viene diviso per due poiché l'onda viaggia avanti e indietro coprendo la stessa distanza, quindi il tempo per raggiungere l'ostacolo è solo la metà del tempo totale impiegato
Quindi Distanza in centimetri = 17150 * T
Abbiamo già realizzato molti progetti utili utilizzando questo sensore a ultrasuoni e Arduino, controllali di seguito:
- Misurazione della distanza basata su Arduino tramite sensore a ultrasuoni
- Allarme porta utilizzando Arduino e sensore a ultrasuoni
- Monitoraggio di dumpster basato su IOT utilizzando Arduino
Componenti richiesti:
Qui stiamo usando Raspberry Pi 2 Model B con Raspbian Jessie OS. Tutti i requisiti hardware e software di base sono stati discussi in precedenza, puoi cercarli nell'introduzione di Raspberry Pi e LED Raspberry PI lampeggiante per iniziare, oltre a quello di cui abbiamo bisogno:
- Raspberry Pi con sistema operativo preinstallato
- Sensore a ultrasuoni HC-SR04
- Alimentazione (5v)
- Resistenza da 1KΩ (3 pezzi)
- Condensatore 1000uF
- LCD 16 * 2 caratteri
Spiegazione del circuito:
I collegamenti tra Raspberry Pi e LCD sono riportati nella tabella seguente:
Connessione LCD |
Connessione Raspberry Pi |
GND |
GND |
VCC |
+ 5V |
VEE |
GND |
RS |
GPIO17 |
R / W |
GND |
EN |
GPIO27 |
D0 |
GPIO24 |
D1 |
GPIO23 |
D2 |
GPIO18 |
D3 |
GPIO26 |
D4 |
GPIO5 |
D5 |
GPIO6 |
D6 |
GPIO13 |
D7 |
GPIO19 |
In questo circuito, abbiamo utilizzato la comunicazione a 8 bit (D0-D7) per collegare LCD con Raspberry Pi, tuttavia questo non è obbligatorio, possiamo anche utilizzare la comunicazione a 4 bit (D4-D7), ma con il programma di comunicazione a 4 bit diventa un bit complesso per i principianti quindi basta andare con la comunicazione a 8 bit. Qui abbiamo collegato 10 pin dell'LCD a Raspberry Pi in cui 8 pin sono pin dati e 2 pin sono pin di controllo.
Di seguito è riportato lo schema del circuito per il collegamento del sensore HC-SR04 e dell'LCD con Raspberry Pi per misurare la distanza.
Come mostrato nella figura, il sensore a ultrasuoni HC-SR04 ha quattro pin,
- PIN1- VCC o + 5V
- PIN2- TRIGGER (impulso alto 10us fornito per indicare al sensore di rilevare la distanza)
- PIN3- ECHO (fornisce un'uscita a impulsi la cui larghezza rappresenta la distanza dopo il trigger)
- PIN4- TERRA
Il pin Echo fornisce un impulso di uscita di + 5V che non può essere collegato direttamente a Raspberry Pi. Quindi utilizzeremo il circuito del divisore di tensione (costruito utilizzando R1 e R2) per ottenere una logica di + 3,3 V invece della logica di + 5 V.
Spiegazione di lavoro:
Il funzionamento completo della misurazione della distanza Raspberry Pi va come, 1. Attivare il sensore tirando verso l'alto il perno del grilletto per 10uS.
2. L'onda sonora viene inviata dal sensore. Dopo aver ricevuto l'ECHO, il modulo sensore fornisce un'uscita proporzionale alla distanza.
3. Registreremo il tempo in cui l'impulso di uscita passa da BASSO ad ALTO e quando di nuovo passa da ALTO a BASSO.
4. Avremo tempo di inizio e fine. Useremo l'equazione della distanza per calcolare la distanza.
5. La distanza viene visualizzata nel display LCD 16x2.
Di conseguenza, abbiamo scritto il programma Python per Raspberry Pi per eseguire le seguenti funzioni:
1. Per inviare il trigger al sensore
2. Registrare l'ora di inizio e di fine dell'uscita a impulsi dal sensore.
3. Per calcolare la distanza utilizzando il tempo di START e STOP.
4. Per visualizzare il risultato ottenuto sull'LCD 16 * 2.
Di seguito vengono forniti il programma completo e il video dimostrativo. Il programma è ben spiegato attraverso i commenti, se hai qualche dubbio puoi chiedere nella sezione commenti qui sotto.