Einfaches Beispiel für Arduino und HC-SR04

Nachdem ich einen HC-SR04 von Amazon gekauft hatte, konnte ich ihn nicht sofort zum Laufen bringen. Ich wollte nicht zugeben, dass ich einen DOA-Sensor an meinen Händen hatte, und suchte nach einem einfachen Beispiel-Setup. Nachdem ich viel zu lange damit verbracht hatte, als ich es für nötig hielt, beschloss ich, dies anweisbar zu machen, um anderen aufstrebenden Bastlern zu helfen, ihr Projekt auf den Weg zu bringen.

Ich gebe zu, dass dieses Beispiel mehr als nur ein Knochen ist, da es über LEDs verfügt. Auf diese Weise kann ich es testen, ohne dass ein PC erforderlich ist, um die Entfernung anzuzeigen und die Genauigkeit des Sensors zu überprüfen.

Schritt 1: Teileliste

Arduino UNO R3 (Ich benutze das Adafruit-Reittier)
Ein (1) HC-SR04 Ultraschallsensor
Eine (1) rote LED
Eine (1) grüne LED
Zwei (2) 560 Ohm (Grün, Blau, Braun, Gold) Widerstände
Halbes Steckbrett
Acht (8) Stecker / Stecker-Anschlussdrähte
Ein Lineal, das Zentimeter misst (oder den seriellen Monitor verwendet)

Schritt 2: Schließen Sie die Komponenten an

Schließen Sie die Komponenten und Kabel wie in den beiden Abbildungen gezeigt an.

Schritt 3: Laden Sie die Skizze hoch

Kopieren Sie die Skizze auf Ihr Arduino und beobachten Sie die blinkenden Lichter.


/ *
HC-SR04 Ping-Distanzsensor]
VCC zu Arduino 5v GND zu Arduino GND
Echo zu Arduino Pin 13 Trig zu Arduino Pin 12
Roter POS an Arduino Pin 11
Grüner POS an Arduino Pin 10
560 Ohm Widerstand an LED NEG und GRD Stromschiene
Weitere Infos unter: //goo.gl/kJ8Gl
Ursprüngliche Codeverbesserungen an der Ping-Skizze von Trollmaker.com
Einige Codes und Verkabelungen, inspiriert von //en.wikiversity.org/wiki/User:Dstaub/robotcar
* /

#define trigPin 13
#define echoPin 12
#define führte 11
#define led2 10

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

void loop () {
lange Dauer, Entfernung;
digitalWrite (trigPin, LOW); // Diese Zeile hinzugefügt
delayMicroseconds (2); // Diese Zeile hinzugefügt
digitalWrite (trigPin, HIGH);
// delayMicroseconds (1000); - Diese Zeile wurde entfernt
delayMicroseconds (10); // Diese Zeile hinzugefügt
digitalWrite (trigPin, LOW);
Dauer = PulsIn (echoPin, HIGH);
Entfernung = (Dauer / 2) / 29, 1;
if (Abstand <4) {// Hier erfolgt das Ein- und Ausschalten der LED
digitalWrite (LED, HIGH); // Wenn die rote Bedingung erfüllt ist, sollte die grüne LED erlöschen
digitalWrite (led2, LOW);
}}
sonst {
digitalWrite (LED, LOW);
digitalWrite (led2, HIGH);
}}
if (Entfernung> = 200 || Entfernung <= 0) {
Serial.println ("Außer Reichweite");
}}
sonst {
Serial.print (Entfernung);
Serial.println ("cm");
}}
Verzögerung (500);
}}

Anhänge

  • Code.txt herunterladen

Ähnlicher Artikel