Esempio semplice di Arduino e HC-SR04

Dopo aver acquistato un HC-SR04 da Amazon, non sono riuscito a farlo funzionare immediatamente. Non volendo ammettere che avevo un sensore DOA tra le mani, ho cercato un semplice esempio di installazione. Dopo aver dedicato troppo tempo a questo rispetto a quello che sentivo di dover fare, ho deciso di renderlo istruibile per aiutare altri armeggiatori emergenti a realizzare il loro progetto.

Devo ammettere che questo esempio è più che semplice, in quanto ha dei LED, ma questo mi permette di testarlo senza bisogno di un PC per mostrare la distanza e verificare l'accuratezza del sensore.

Passaggio 1: Elenco delle parti

Arduino UNO R3 (utilizzo il supporto Adafruit)
Un (1) sensore a ultrasuoni HC-SR04
Un (1) LED rosso
Un (1) LED verde
Due (2) resistori da 560 ohm (verde, blu, marrone, oro)
Mezza tagliere
Otto (8) cavi di collegamento maschio / maschio
Un righello che misura i centimetri (o usa il monitor seriale)

Passaggio 2: collegare i componenti

Collegare i componenti e i fili come mostrato nelle due immagini.

Passaggio 3: carica lo schizzo

Copia lo schizzo sul tuo Arduino e guarda le luci lampeggianti.


/ *
HC-SR04 Sensore di distanza ping]
VCC su arduino 5v GND su arduino GND
Eco a Arduino pin 13 Trig a Arduino pin 12
Red POS al pin Arduino 11
Pin verde da POS a Arduino 10
Resistenza da 560 ohm a LED NEG e power rail GRD
Maggiori informazioni su: //goo.gl/kJ8Gl
Miglioramenti del codice originale allo schizzo del ping proveniente da Trollmaker.com
Alcuni codici e collegamenti ispirati a //en.wikiversity.org/wiki/User:Dstaub/robotcar
* /

#define trigPin 13
#define echoPin 12
#define led 11
#define led2 10

void setup () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (led, OUTPUT);
pinMode (led2, OUTPUT);
}

void loop () {
lunga durata, distanza;
digitalWrite (trigPin, LOW); // Aggiunta questa riga
delayMicroseconds (2); // Aggiunta questa riga
digitalWrite (trigPin, HIGH);
// delayMicroseconds (1000); - Rimossa questa linea
delayMicroseconds (10); // Aggiunta questa riga
digitalWrite (trigPin, LOW);
durata = pulseIn (echoPin, HIGH);
distanza = (durata / 2) / 29.1;
if (distanza <4) {// Qui si trova il LED acceso / spento
digitalWrite (LED, ad alta); // Quando viene soddisfatta la condizione rossa, il LED verde dovrebbe spegnersi
digitalWrite (LED2, LOW);
}
altro {
digitalWrite (led, LOW);
digitalWrite (LED2, HIGH);
}
if (distanza> = 200 || distanza <= 0) {
Serial.println ("Fuori portata");
}
altro {
Serial.print (distanza);
Serial.println ("cm");
}
ritardo (500);
}

allegati

  • Download Code.txt

Articoli Correlati