Nell’articolo di oggi vedremo come utilizzare i PIN GPIO. Esploreremo anche la parte elettronica d’ora in avanti, inizieremo con l’utilizzo del sensore di distanza HC-SR04.
Lista componenti
- ESP32-WROVER
- Breadboard
- dht11
- 3x jumper
- resistore 10k ohm
- GPIO extension board (falcolatitivo)
Descrizione componenti
Sensore di distanza
Un prodotto molto interessante da esaminare è il sensore di distanza ad ultrasuoni HC-SR04, in grado di misurare distanze che variano da 2 centimetri fino a 4 metri (ma in quest’ultimo caso l’opposizione dell’aria potrebbe inficiare le misurazioni).
Il principio con cui funziona HC-SR04 è molto semplice, uno dei due cilindri emette delle onde sonore ad ultrasuoni che rimbalzando dall’oggetto che si trova davanti tornando indietro, che in seguito sono rilevate dall’altro cilindro. Il sensore è molto preciso ma vi sono alcuni oggetti, come i peluche, che assorbono le onde sonore impedendo la corretta misurazione.
Questi tipi di sensori sono veloci, precisi, costano poco (in questo caso 3,60 euro) e sono abbastanza semplici da usare. HC-SR04 è dotato di quattro connettori:
- Vcc – viene collegato alla tensione di alimentazione di 5V.
- Trig – è il pin “Trigger” che deve essere attivato per inviare il segnale ad ultrasuoni.
- Echo – è il pin che produce un impulso che si interrompe quando viene ricevuto il segnale riflesso dall’oggetto.
- GND – viene collegato al potenziale di riferimento, la messa a terra.
In che modo il sensore HC-SRO4 riesce a misurare la distanza? La velocità del suono è una grandezza fisica nota, 331,5 m/s a 0 °C e di 343,4 m/s a 20 ° ed è direttamente proporzionale alla temperatura. In generale varia secondo la relazione v = 331,4 + 0,62 T. La velocità altro non è che il rapporto tra spazio e tempo e in questo caso specifico si deve tener conto che l’onda sonora percorre per ben due volte la distanza da misurare, quindi il valore dello spazio ottenuto deve essere diviso per 2. Quindi per ottenere misurazioni precise è consigliabile utilizzare anche un sensore di temperatura.
Collegamenti
In seguito schema e diagramma di collegamento. Per costruire un circuito ricordati di tenere la scheda spenta.
Codice
Se questo è il tuo primo articolo ti invito di leggere prima questo per l’installazione dei driver della scheda. Ecco qui un piccolo riepilogo prima di compilare e caricare il codice.
Ecco qui lo sketch:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#define trigPin 13 // define TrigPin #define echoPin 14 // define EchoPin. #define MAX_DISTANCE 700 // Maximum sensor distance is rated at 400-500cm. //timeOut= 2*MAX_DISTANCE /100 /340 *1000000 = MAX_DISTANCE*58.8 float timeOut = MAX_DISTANCE * 60; int soundVelocity = 340; // define sound speed=340m/s void setup() { pinMode(trigPin,OUTPUT);// set trigPin to output mode pinMode(echoPin,INPUT); // set echoPin to input mode Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results. } void loop() { delay(3000); // Wait 3sec between pings (about 20 pings/sec). Serial.printf("Distance: "); Serial.print(getSonar()); // Send ping, get distance in cm and print result Serial.println("cm"); } float getSonar() { unsigned long pingTime; float distance; // make trigPin output high level lasting for 10μs to triger HC_SR04 digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Wait HC-SR04 returning to the high level and measure out this waitting time pingTime = pulseIn(echoPin, HIGH, timeOut); // calculate the qdistance according to the time distance = (float)pingTime * soundVelocity / 2 / 10000; return distance; // return the distance value } |
Compila e carica il codice sull’ESP32, ed ecco qui che potremo visualizzare i dati relativi alla distanza tra il sensore e l’ostacolo aprendo il monitor seriale.
Iscriviti ai nostri gruppi Telegram
Link utili
- Arduino UNO R3
- Elegoo UNO R3
- Arduino Starter Kit per principianti
- Elegoo Advanced Starter Kit
- Arduino Nano