Nota

Ciao, benvenuto nella Comunità di Appassionati di Raspberry Pi, Arduino e ESP32 di SunFounder su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 con altri appassionati.

Why Join?

  • Expert Support: Risolvi problemi post-vendita e sfide tecniche con il supporto della nostra comunità e del nostro team.

  • Learn & Share: Scambia consigli e tutorial per migliorare le tue competenze.

  • Exclusive Previews: Ottieni accesso anticipato ad annunci di nuovi prodotti e anteprime esclusive.

  • Special Discounts: Godi di sconti esclusivi sui nostri prodotti più recenti.

  • Festive Promotions and Giveaways: Partecipa a giveaway e promozioni festive.

👉 Pronto a esplorare e creare con noi? Clicca [qui] e unisciti oggi!

Lezione 23: Modulo Sensore ad Ultrasuoni (HC-SR04)

In questa lezione, imparerai come utilizzare una scheda di sviluppo ESP32 per misurare distanze con un sensore ad ultrasuoni (HC-SR04). Tratteremo l’installazione del sensore, la lettura dei dati e il calcolo della distanza in centimetri. Questo progetto è ideale per i principianti che lavorano con microcontrollori e sensori, offrendo esperienza pratica nell’acquisizione di dati e nella comunicazione seriale. Svilupperai competenze pratiche nella programmazione dell’ESP32 e comprenderai la tecnologia di rilevamento ad ultrasuoni.

Componenti Necessari

Per questo progetto, abbiamo bisogno dei seguenti componenti.

È decisamente conveniente acquistare un kit completo, ecco il link:

Nome

ELEMENTI IN QUESTO KIT

LINK

Kit Sensori Universale Maker

94

Universal Maker Sensor Kit

Puoi anche acquistarli separatamente dai link qui sotto.

Introduzione al Componente

Link d’acquisto

ESP32 & Scheda di Sviluppo (ESP32 WROOM 32E)

ACQUISTA

Modulo Sensore Ultrasuoni (HC-SR04)

ACQUISTA

Breadboard

ACQUISTA

Cablaggio

../_images/Lesson_23_Ultrasonic_esp32_bb.png

Codice

Analisi del Codice

  1. Dichiarazione dei pin:

    Si inizia definendo i pin per il sensore ad ultrasuoni. echoPin e trigPin sono dichiarati come interi e i loro valori sono impostati per corrispondere al collegamento fisico sulla scheda di sviluppo ESP32.

    const int echoPin = 26;
    const int trigPin = 25;
    
  2. Funzione setup():

    La funzione setup() inizializza la comunicazione seriale, imposta le modalità dei pin e stampa un messaggio per indicare che il sensore ad ultrasuoni è pronto.

    void setup() {
      Serial.begin(9600);
      pinMode(echoPin, INPUT);
      pinMode(trigPin, OUTPUT);
      Serial.println("Ultrasonic sensor:");
    }
    
  3. Funzione loop():

    La funzione loop() legge la distanza dal sensore e la stampa sul monitor seriale, poi attende 400 millisecondi prima di ripetere.

    void loop() {
      float distance = readDistance();
      Serial.print(distance);
      Serial.println(" cm");
      delay(400);
    }
    
  4. Funzione readDistance():

    La funzione readDistance() attiva il sensore ad ultrasuoni e calcola la distanza in base al tempo impiegato dal segnale per rimbalzare.

    Per maggiori dettagli, si prega di fare riferimento al principle di funzionamento del modulo sensore ad ultrasuoni.

    float readDistance() {
      digitalWrite(trigPin, LOW);   // Imposta il pin trig su basso per garantire un impulso pulito
      delayMicroseconds(2);         // Ritardo di 2 microsecondi
      digitalWrite(trigPin, HIGH);  // Invia un impulso di 10 microsecondi impostando il pin trig su alto
      delayMicroseconds(10);
      digitalWrite(trigPin, LOW);  // Reimposta il pin trig su basso
      float distance = pulseIn(echoPin, HIGH) / 58.00;  // Formula: (340m/s * 1us) / 2
      return distance;
    }