Codice Arduino e video per il sensore di distanza ad ultrasuoni HC-SR04
In questo tutorial esploreremo come usare il sensore di distanza a ultrasuoni HC-SR04 con un Arduino. L'HC-SR04 è un modo economico ed efficace per misurare distanze utilizzando onde ultrasoniche. Inviando un segnale e misurando il tempo che impiega l'eco a tornare, possiamo calcolare con precisione la distanza di un oggetto.

Questo progetto prevede la configurazione del sensore con un Arduino e la scrittura di un semplice programma per leggere e visualizzare le misurazioni della distanza. Il programma utilizzerà la libreria NewPing per semplificare la comunicazione con il sensore. Se desideri un riferimento visivo o ulteriori chiarimenti su qualche passaggio, assicurati di guardare il video (nel video a 00:00).
Hardware spiegato
Il sensore ultrasonico HC-SR04 è costituito da due componenti principali: un trasmettitore e un ricevitore. Il trasmettitore emette impulsi ultrasonici a una frequenza superiore alla soglia dell'udito umano, mentre il ricevitore rileva l'eco di tali impulsi dopo che rimbalzano su un oggetto. Calcolando il tempo tra l'invio dell'impulso e la ricezione dell'eco, è possibile determinare la distanza dall'oggetto.
Il sensore ha due pin essenziali: il pin trigger e il pin echo. Il pin trigger viene usato per avviare la misurazione inviando un breve impulso alto, mentre il pin echo riceve il segnale riflesso e misura il tempo necessario perché l'eco torni.
Dettagli della scheda tecnica
| Produttore | HC-SR04 |
|---|---|
| Numero di parte | HC-SR04 |
| Tensione logica/IO | 5 V |
| Tensione di alimentazione | 5 V |
| Corrente di uscita (per canale) | 15 mA |
| Corrente di picco (per canale) | 20 mA |
| Linee guida sulla frequenza PWM | Non applicabile |
| Soglie logiche di ingresso | 0.3 V (basso), 0.7 V (alto) |
| Caduta di tensione / RDS(on) / saturazione | Non applicabile |
| Limiti termici | da 0 °C a 70 °C |
| Pacchetto | Modulo |
| Note / varianti | Portata massima 400 cm |
- Assicurarsi che l'alimentazione sia corretta (5 V).
- Tieni il sensore pulito per letture accurate.
- Usa il pin di trigger per avviare le misurazioni.
- Non superare la distanza massima per risultati affidabili.
- Mantenere un percorso libero per il ritorno delle onde ultrasoniche.
- Usare condensatori di disaccoppiamento vicino ai pin di alimentazione.
- Fai attenzione al rumore ambientale che potrebbe interferire con le letture.
- Prova diverse distanze per familiarizzarti con il sensore.
Istruzioni di cablaggio


Per collegare il sensore a ultrasuoni HC-SR04 al tuo Arduino, segui questi passaggi:
- Collegare il
VCCpin dell'HC-SR04 al pin da 5V sull'Arduino - Collega il
GNDpin del HC-SR04 a un pin GND sull'Arduino. - Collega il
TRIGil pin del HC-SR04 (che di solito è blu) al pin digitale 12 sull'Arduino. - Collega il
ECHOpin del HC-SR04 (che di solito è verde) al pin digitale 11 dell'Arduino.
Verifica che le connessioni siano sicure per evitare letture intermittenti. Se stai usando una configurazione diversa o hai un cablaggio alternativo, consulta il video per ulteriori indicazioni (nel video a 00:00).
Esempi di codice e guida passo passo
Il codice seguente inizializza la libreria NewPing e configura i pin per il sensore HC-SR04. I componenti principali comprendono la definizione dei pin di trigger e di echo, oltre alla distanza massima.
#define TRIGGER_PIN 12 // Trigger pin
#define ECHO_PIN 11 // Echo pin
#define MAX_DISTANCE 200 // Max distance in cm
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Set up NewPingIn questo estratto, ilTRIGGER_PINeECHO_PINsono impostati sui pin digitali 12 e 11, rispettivamente. IlMAX_DISTANCEè definito come 200 cm, che è la distanza massima che ti interessa misurare.
Successivamente, abbiamo la funzione setup in cui il monitor seriale viene inizializzato per visualizzare i risultati:
void setup() {
Serial.begin(115200); // Initialize serial monitor
}Questo codice apre la comunicazione seriale a una velocità di 115200 baud, permettendoci di visualizzare le misurazioni della distanza nel monitor seriale.
Infine, la funzione loop misura la distanza e verifica se è minore o uguale a 12 cm:
void loop() {
delay(50); // Wait between pings
int distance = sonar.ping_cm(); // Measure distance
if(distance <=12){ // Check distance
Serial.println("Very close"); // Print if very close
}
}Nelloop(), introduciamo un ritardo di 50 millisecondi per controllare la frequenza delle misurazioni. La distanza viene misurata e, se è minore o uguale a 12 cm, viene stampato "Molto vicino" sul monitor seriale.
Per il codice completo, fare riferimento alla sezione di caricamento sotto l'articolo.
Dimostrazione / Cosa aspettarsi
Quando esegui il programma, l'Arduino misurerà continuamente la distanza dall'oggetto più vicino. Dovrebbe stampare la distanza in centimetri e avvisarti con "Very close" quando un oggetto viene rilevato entro 12 cm. Se l'oggetto è troppo vicino, potresti ottenere letture inaccurate o nessuna lettura, come indicato nel video (al 10:00).
Assicurati che il sensore sia posizionato correttamente e che non ci siano ostacoli che blocchino le onde ultrasoniche. Se tutto è configurato correttamente, dovresti vedere misurazioni coerenti visualizzate nel monitor seriale.
Marcatori temporali del video
- 00:00- Introduzione all'HC-SR04
- 01:30- Cablaggio del sensore
- 03:00- Panoramica del codice
- 05:00- Esecuzione del programma
- 07:30- Misurare le distanze
Cose di cui potresti avere bisogno
-
eBay
-
Banggood
Risorse e riferimenti
-
EsternoLibreria Ultrasonica HC-SR04 dal sito ufficiale di Arduinoplayground.arduino.cc
File📁
Nessun file disponibile.