Nota

Ciao e benvenuto nella Community Facebook degli appassionati di SunFounder Raspberry Pi, Arduino ed ESP32! Approfondisci le tue competenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri maker come te.

Perché unirsi?

  • Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto del nostro team e della nostra community.

  • Impara e Condividi: Scambia consigli e tutorial per migliorare le tue abilità.

  • Anteprime Esclusive: Ottieni accesso anticipato ai nuovi annunci di prodotto e anteprime esclusive.

  • Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni e Giveaway Festivi: Partecipa a concorsi a premi e promozioni stagionali.

👉 Pronto a esplorare e creare con noi? Clicca su [qui] ed entra oggi stesso!

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

In questa lezione imparerai a utilizzare un sensore a ultrasuoni con Arduino per misurare le distanze. Vedremo come collegare il sensore HC-SR04 alla scheda Arduino Uno R4 e usarlo per calcolare e visualizzare le distanze in centimetri. Questo progetto è ideale per i principianti, offrendo un’esperienza pratica con la comunicazione seriale di Arduino e l’elaborazione dei dati del sensore. Acquisirai nozioni fondamentali sul funzionamento dei segnali digitali e sulla tecnologia a ultrasuoni.

Componenti Necessari

Per questo progetto sono necessari i seguenti componenti.

È sicuramente comodo acquistare un kit completo. Ecco il link:

Nome

CONTENUTO DEL KIT

LINK

Universal Maker Sensor Kit

94

Universal Maker Sensor Kit

Puoi anche acquistare i singoli componenti dai link sottostanti.

Descrizione del Componente

Link per l’acquisto

Arduino UNO R3 o R4

ACQUISTA

Modulo Sensore Ultrasuoni (HC-SR04)

ACQUISTA

Collegamenti

../_images/Lesson_23_ultrasonic_circuit_uno_bb.png

Codice

Analisi del Codice

  1. Dichiarazione dei pin:

    Iniziamo definendo i pin per il sensore a ultrasuoni. echoPin e trigPin sono dichiarati come interi e i loro valori vengono impostati in base ai collegamenti fisici sulla scheda Arduino.

    const int echoPin = 3;
    const int trigPin = 4;
    
  2. Funzione setup():

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

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

    La funzione loop() legge continuamente la distanza dal sensore e la stampa sul monitor seriale, con un ritardo di 400 millisecondi tra una lettura e l’altra.

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

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

    Per maggiori dettagli, consulta il principio di funzionamento principle del modulo sensore a ultrasuoni.

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