CONTENUTO ►
In questa lezione diamo un’occhiata al sensore di distanza a ultrasuoni Arduino HC-SR04. Vi spiegheremo come collegare il sensore di distanza a ultrasuoni HC-SR04 al microcontrollore Arduino. Analizzeremo il software per il sensore, che può servire perfettamente al robot per determinare la distanza dagli oggetti o rilevare un ostacolo. Prenderemo in considerazione anche la libreria più popolare per i telemetri a ultrasuoni su Arduino: Ultrasonic.h.
Per questa attività sono necessari:
- Arduino Uno / Arduino Nano / Arduino Mega
- sensore di distanza HC-SR04
- LED e resistenza
- breadboard
- cavi di collegamento
- libreria Ultrasonic.h
Sensore ad ultrasuoni HC-SR04 datasheet, pinout
Il sensore a ultrasuoni (spesso chiamato anche sonar o telemetro a ultrasuoni) determina la distanza da un oggetto nello stesso modo in cui lo fanno i pipistrelli o i delfini. Il modulo sensore HC-SR04 genera un segnale strettamente diretto a una frequenza di 40 kHz e cattura il segnale riflesso (eco). Il tempo che il suono impiega per andare e tornare dall’oggetto può essere utilizzato per determinare con precisione la distanza dell’oggetto.
Caratteristiche del sensore di distanza a ultrasuoni HC-SR04:
- Alimentazione: 5 V
- Campo di misura: da 2 cm a 400 cm
- Risoluzione di misura: 0,3 cm
- Angolo di misura effettivo: 15
- Larghezza dell’impulso dell’ingresso di trigger: 10 μs
- Dimensioni: 45 x 20 x 15 mm
Quando si configura un sensore a ultrasuoni con un microcontrollore, può essere difficile determinare la distanza da oggetti che assorbono il suono, in quanto possono annullare completamente il segnale emesso. Per una perfetta precisione nella misurazione della distanza, la superficie dell’oggetto in esame deve essere piana e liscia. Il principio di funzionamento del sensore a ultrasuoni hc-sr04 è illustrato nella figura precedente.
Come collegare sensore ad ultrasuoni HC-SR04 Arduino
Lo schema di cablaggio è illustrato nella figura precedente. Si noti che il telemetro a ultrasuoni HC-SR04 ha un campo di misura da 2 cm a 400 cm e funziona a temperature comprese tra 0° e 60° Celsius. L’accuratezza di misura è di ± 1 cm e la tensione di funzionamento del sensore è fino a 5,5 V. Per iniziare, utilizziamo un semplice programma, senza utilizzare la libreria Ultrasuoni. Dopo aver collegato il telemetro HC-SR04 ad Arduino, caricare il seguente sketch:
Programma Arduino per sensore di distanza HC-SR04
#include "Ultrasonic.h" Ultrasonic ultrasonic(9, 8); // Trig e Echo void setup() { Serial.begin(9600); } void loop () { int dist = ultrasonic.Ranging(CM); Serial.print(dist); Serial.println(" cm"); delay(100); }
Spiegazione del codice per sensore di distanza HC-SR04 Arduino:
- tutti gli ingressi digitali del microcontrollore possono essere utilizzati per collegare le uscite dei sensori Trig e Echo;
- comando Ultrasonic ultrasonic(9, 8); assegna un nome al sensore “ultrasuoni” e assegna le uscite sulla scheda Arduino per Trig e Echo.
Come utilizzare il sensore ad ultrasuoni HC-SR04
Collegare uno o più LED RGB al microcontrollore Arduino per creare un semplice mini progetto. I LED si accendono in base alla distanza tra il sensore di distanza e l’oggetto. Il software utilizza istruzioni condizionali if per controllare i LED dal sensore a ultrasuoni HC SR04. Assemblare il circuito sulla breadboard come mostrato nella figura precedente e caricare il seguente programma nel microcontrollore Arduino Nano / Uno.
Programma Arduino per misurare distanza con sensore HC-SR04
#include "Ultrasonic.h" Ultrasonic ultrasonic(9, 8); // Trig e Echo void setup() { Serial.begin(9600); pinMode(11, OUTPUT); pinMode(12, OUTPUT); } void loop () { int dist = ultrasonic.Ranging(CM); Serial.print(dist); Serial.println(" cm"); if (dist < 50) {digitalWrite(12, LOW); digitalWrite(11, HIGH);} if (dist > 50) {digitalWrite(12, HIGH); digitalWrite(11, LOW);} delay(100); }
Spiegazione del codice per misurare una distanza con il sensore HC-SR04:
- è possibile modificare la distanza di accensione dei LED.
Conclusione. Questa esercitazione è stata completata. Un sensore di distanza a ultrasuoni HC-SR04 funziona secondo lo stesso principio di un telemetro laser, ma il modulo utilizza onde ultrasoniche anziché un raggio di luce. Sono molto più economici dei sensori laser, ma anche molto meno precisi. Tuttavia, a differenza dei sensori a infrarossi, la luce ambientale e l’opacità della superficie non influiscono sui risultati della misurazione.
Lascia un commento