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 |
Puoi anche acquistare i singoli componenti dai link sottostanti.
Descrizione del Componente |
Link per l’acquisto |
|---|---|
Arduino UNO R3 o R4 |
|
Collegamenti
Codice
Analisi del Codice
Dichiarazione dei pin:
Iniziamo definendo i pin per il sensore a ultrasuoni.
echoPinetrigPinsono 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;
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:"); }
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); }
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; }