ESP32 è una scheda IoT basata su microcontrollori comunemente usata. È una scheda microcontrollore a basso costo e a bassa potenza che può controllare più dispositivi e può anche fungere da schiavo in un progetto IoT. ESP32 migliora l'esperienza degli utenti con il mondo IoT in quanto ha integrato i moduli Wi-Fi e Bluetooth.
Mentre stiamo parlando di applicazioni wireless di ESP32, possiamo anche integrare sensori esterni con esso per eseguire compiti diversi come la misurazione della distanza degli oggetti usando sensori ad ultrasuoni. Ora parliamo di come farlo in dettaglio.
ESP32 con sensore ultrasonico HC-SR04
ESP32 può essere facilmente integrato con un sensore ad ultrasuoni. Abbiamo solo bisogno di due fili per misurare qualsiasi distanza di oggetti senza alcuna necessità di un righello o di misurazione del nastro. Ha una vasta applicazione in cui è difficile utilizzare qualsiasi altro mezzo per misurare la distanza. Sono disponibili più sensori che possono essere integrati con ESP32.
HC-SR04 è un sensore ad ultrasuoni ampiamente usato con ESP32. Questo sensore determina quanto è lontano un oggetto. Usa il sonar per determinare la distanza degli oggetti. Normalmente ha una buona gamma di rilevamento con precisione di 3 mm, tuttavia a volte è difficile misurare la distanza dei materiali morbidi come il panno. Ha un trasmettitore e ricevitore integrati. La tabella seguente descrive le specifiche tecniche di questo sensore.
Caratteristiche | Valore |
Tensione operativa | 5v dc |
Corrente operativa | 15 mA |
Frequenza operativa | 40kHz |
Intervallo min | 2 cm/ 1 pollice |
Gamma massima | 400 cm/ 13 piedi |
Precisione | 3 mm |
Angolo di misurazione | <15 degree |
Pinout HC-SR04
Il sensore ad ultrasuoni HC-SR04 ha quattro pin:
Come funziona l'ultrasonico
Una volta collegato il sensore ad ultrasuoni a ESP32, il microcontrollore genererà un impulso di segnale sul Trig spillo. Dopo che i sensori hanno ricevuto un input sul pin trig, viene generata automaticamente un'onda ad ultrasuoni. Questa onda emessa colpirà la superficie di un ostacolo o un oggetto la cui distanza dobbiamo misurare. Successivamente, l'onda ad ultrasuoni tornerà al terminale del ricevitore del sensore.
Il sensore ad ultrasuoni rileverà l'onda riflessa e calcolerà il tempo totale impiegato dall'onda da un sensore a oggetto e di nuovo al sensore. Il sensore ad ultrasuoni genererà un impulso di segnale sul pin di eco che è collegato a pin digitali ESP32 una volta che ESP32 riceve il segnale dal pin Echo Calcola la distanza totale tra oggetto e sensore usando Formula a distanza.
Qui abbiamo diviso la distanza con 2 perché la velocità di moltiplicazione con il tempo darà la distanza totale da oggetto al sensore e ritorno al sensore dopo aver riflettuto dalla superficie dell'oggetto. Per ottenere una distanza reale dividiamo questa distanza a metà.
Circuito
Interfaccia ESP32 con sensore ad ultrasuoni usando i quattro pin come mostrato nell'immagine seguente:
Verrà seguita la configurazione seguente per la connessione ESP32 con il sensore ad ultrasuoni. I pin di trig ed eco saranno collegati a GPIO 5 e 18 pin di ESP32.
Sensore ultrasonico HC-SR04 | ESP32 PIN |
Trig | GPIO 5 |
Eco | GPIO 18 |
GND | GND |
VCC | Vin |
Hardware
Per l'interfaccia ESP32 con sensore ad ultrasuoni seguenti apparecchiature:
Codice in Arduino IDE
Per programmare ESP32 useremo Arduino IDE, poiché ESP32 e Arduino hanno molto in comune nella programmazione, quindi è meglio utilizzare lo stesso software per programmarli. Apri Arduino IDE e digita il seguente codice:
const int trig_pin = 5;Il codice sopra spiega il funzionamento del sensore ad ultrasuoni con il modulo ESP32. Qui abbiamo iniziato il nostro codice definendo i pin trigger ed eco. Il pin 5 e il pin 18 di ESP32 sono impostati rispettivamente come trigger ed eco PIN.
const int trig_pin = 5;La velocità del suono è definita come 0.034 cm/US a 20 ° C. Stiamo prendendo valori in cm/noi per una maggiore precisione.
#define Sound_Speed 0.034Quindi inizializziamo due variabili durata E Dist_cm come segue
lunga durata;La variabile di durata salverà il tempo di viaggio ad ultrasuoni. Dist_cm salverà la distanza misurata.
Nel impostare() Parte prima comunicazione inizializzata definendo il tasso di baud. Due pin definiti in precedenza saranno ora dichiarati come input e output. Pin trigger 5 è impostato come output mentre l'eco pin 18 è impostato come input.
Seriale.Inizia (115200);Nel ciclo continuo() Parte del codice prima cancelleremo il pin trigger impostandolo basso e dare 2 microsecondi ritardi, quindi imposteremo questo pin come alto per 10 microsecondi. Il motivo per cui lo stiamo facendo è garantire una lettura corretta durante la misurazione della distanza ci darà un impulso alto pulito.
DigitalWrite (trig_pin, basso); /* Il pin di trigger viene cancellato*/Poi usando Pulsein funzione leggeremo il tempo di viaggio dell'onda sonora. Pulsein La funzione legge un input come alto o basso. Restituisce la lunghezza dell'impulso in microsecondi usando questa lunghezza dell'impulso possiamo calcolare il tempo totale impiegato per onda dal sensore al corpo dell'oggetto e ritorno alla fine del sensore.
durata = pulsein (echo_pin, alto);Quindi usando la formula di velocità, abbiamo calcolato la distanza totale dell'oggetto:
dist_cm = durata * Sound_speed/2;L'oggetto la distanza misurata viene stampata sul monitor seriale:
Seriale.print ("Distanza degli oggetti in (cm):");Quando l'oggetto è vicino
Ora posiziona un oggetto vicino al sensore ad ultrasuoni e controlla la distanza misurata sulla finestra del monitor seriale di Arduino IDE.
Produzione
La distanza degli oggetti è mostrata nel terminale di uscita. Ora l'oggetto è posizionato a 5 cm dal sensore ad ultrasuoni.
Quando l'oggetto è lontano
Ora per verificare il nostro risultato posizioneremo oggetti lontani dal sensore e controlleremo il funzionamento del sensore ad ultrasuoni. Posiziona oggetti come mostrato nell'immagine qui sotto:
Produzione
La finestra di uscita ci darà una nuova distanza e come possiamo vedere che l'oggetto è lontano dal sensore, quindi la distanza misurata è di 15 cm dal sensore ad ultrasuoni.
Conclusione
La distanza di misurazione ha un'ottima applicazione quando si tratta di robotica e altri progetti, esistono diversi modi per misurare la distanza uno dei metodi ampiamente utilizzati per misurare la distanza con ESP32 utilizza un sensore ad ultrasuoni. Qui questo commento coprirà tutti i passaggi necessari per integrare e iniziare a misurare i sensori con ESP32.