Collegare più Sensori Ultrasuoni ad Arduino
Obiettivo: Utilizzare simultaneamente due sensori a ultrasuoni (HC-SR04). Nel dettaglio, al fine di dimostrare il corretto funzionamento del circuito, ad ogni sensore è associato un led. Quando la distanza misurata dal sensore è inferiore ad una data soglia, il led associato si accende, mentre quando la distanza è superiore il led si spegne.
Componenti elettronici:
- Arduino UNO
- Breadboard
- 2 Sensori Ultrasuoni (e.g., HC-SR04)
- 2 Led (utilizzati per dimostrare il funzionamento del circuito)
- 2 Resistenze (100 Ohm) (indispensabili per il corretto funzionamento dei led)
Pre-Requisiti:
Teoria: Il sensore di prossimità è un dispositivo che permette di rilevare la presenza di oggetti nelle immediate vicinanze, senza che vi sia un effettivo contatto.
Nel caso specifico, il sensore di prossimità ad ultrasuoni sfrutta il principio del Sonar. Degli impulsi sonori (ultrasonici) vengono emessi dal dispositivo il quale attraverso l’eventuale eco di ritorno permette di rilevare la presenza di un oggetto all’interno della portata nominale. Esempi pratici di sensori ad ultrasuoni sono i sensori di retromarcia e di parcheggio utilizzati nelle moderne automobili.
Nel dettaglio, le principali caratteristiche tecniche del sensore ad ultrasuoni HC-SR04 sono:
- Alimentazione: +5V DC
- Angolo di misura: < 30°
- Distanza di rilevamento: da 2cm a 400cm
- Risoluzione: 1cm
- Frequenza: 40kHz
Il sensore, dispone di 4 pin: Vcc (+5V), Trigger, Echo, GND.
- VCC: +5V DC
- Trigger: Genera l’impulso ultrasonico
- Echo: Rileva il segnale ultrasonico di ritorno
- GND: 0V Ground
Collegamento Circuitale:
La realizzazione hardware di circuiti che utilizzano più sensori ad ultrasuoni è relativamente facile. Ognuno dei pin di Echo e di Trig del sensore deve essere semplicemente collegato ai pin di input/output di Arduino.
Codice:
Nel caso specifico, in cui si vogliano utilizzare più sensori ad ultrasuoni per misurare simultaneamente la distanza in più punti è opportuno gestire i sensori in modo corretto attraverso il relativo codice. Nel dettaglio, è importante considerare che inizialmente entrambi i sensori generano l’impulso utilizzato per determinare la distanza. In seguito le letture di echo (effettuate mediante l’istruzione pulseIn) sono eseguite in modo sequenziale (una dopo l’altra).