Codice Arduino e video per il sensore di distanza ad ultrasuoni HC-SR04

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.

How HC-SR04 ulrasonic sensor work

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

ProduttoreHC-SR04
Numero di parteHC-SR04
Tensione logica/IO5 V
Tensione di alimentazione5 V
Corrente di uscita (per canale)15 mA
Corrente di picco (per canale)20 mA
Linee guida sulla frequenza PWMNon applicabile
Soglie logiche di ingresso0.3 V (basso), 0.7 V (alto)
Caduta di tensione / RDS(on) / saturazioneNon applicabile
Limiti termicida 0 °C a 70 °C
PacchettoModulo
Note / variantiPortata 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

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor

Per collegare il sensore a ultrasuoni HC-SR04 al tuo Arduino, segui questi passaggi:

  • Collegare ilVCCpin dell'HC-SR04 al pin da 5V sull'Arduino
  • Collega ilGNDpin del HC-SR04 a un pin GND sull'Arduino.
  • Collega ilTRIGil pin del HC-SR04 (che di solito è blu) al pin digitale 12 sull'Arduino.
  • Collega ilECHOpin 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 NewPing

In 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

Immagini

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
How HC-SR04 ulrasonic sensor work
How HC-SR04 ulrasonic sensor work
42-This is the Arduino code for the HC-SR04 ultrasonic distance sensor.
Lingua: C++
Copia!

Cose di cui potresti avere bisogno

Risorse e riferimenti

File📁

Nessun file disponibile.