Moin Moin,
und noch ein Arduino-Projekt. Heute geht es darum, Abstände mit Hilfe eines Ultraschallsensors und einem Arduino zu messen und auf einem LCD Display auszugeben. Diese Technologie wird zum Beispiel in Autos für Einparkhilfen verwendet.
Bevor es los geht, nenne ich Euch hier wie immer, die Hardware ich für dieses Projekt verwendet habe.
Jetzt gehts los
Zuerst verkabeln wir alles. Wie das Display verkabelt wird, findet ihr in meinem Blogbeitrag hier. Um den Ultraschallsensor anzuschließen, könnt ihr nach dieser Schaltung gehen:
Hier nochmal als Text:
GND, schwarzes Kabel, an Ground (GND)
ECHO, gelbes Kabel, an digital 6
TRIG, grünes Kabel, an digital 5
VCC, rotes Kabel, an 5V
#include
LiquidCrystal lcd(7, 8, 9,10,11,12);
int pingPin = 5;
int inPin = 6;
void setup() {
// LCD initialisieren
lcd.begin(16, 2);
// cursor setzen (spalte 0, zeile 0)
lcd.setCursor(0,0);
// Nachricht schreiben
lcd.print(" lets-get-nerdy");
}
void loop()
{
long dauer, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
pinMode(inPin, INPUT);
dauer = pulseIn(inPin, HIGH);
cm = dauer / 29 / 2; // umrechnen in zentimeter
LcdClearLine(1);
lcd.setCursor(0,1);
lcd.print("Abstand: ");
lcd.print(cm, DEC);
lcd.print(" cm");
delay(500);
}
// hilfsfunktion zum leeren einer zeile
void LcdClearLine(int r)
{
lcd.setCursor(0,r);
for (int i = 0; i < 16; i = i + 1)
{
lcd.print(" ");
}
}