# include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
// Pins für Senden/Empfangen definieren
# define SENDEN 9
# define ECHO 8
// Variable für Zeit und Entfernung initialisieren
long Zeit;
long Entfernung;
void setup()
{
pinMode(SENDEN, OUTPUT);
pinMode(ECHO, INPUT);
// LCD starten
lcd.init();
lcd.backlight();
}
void loop()
{
// Sender kurz ausschalten um Störungen des Signals zu vermeiden
digitalWrite(SENDEN, LOW);
delay(10);
// Signal für 10 Mikrosekunden senden
digitalWrite(SENDEN, HIGH);
delayMicroseconds(10);
// Sender ausschalten
digitalWrite(SENDEN, LOW);
// pulseIn -> Zeit messen, bis das Signal zurückkommt
Zeit = pulseIn(ECHO, HIGH);
/*
Entfernung in cm berechnen
Zeit/2 -> nur eine Strecke soll berechnet werden
Umrechnung in cm
*/
Entfernung = (Zeit / 2) * 0.03432;
// 400 cm ist die maximal messbare Entfernung
if (Entfernung < 400)
{
// Ausgabe auf dem LCD
lcd.setCursor(0, 0);
lcd.print("Entfernung messen");
lcd.setCursor(0, 1);
lcd.print("--------------------");
lcd.setCursor(0, 2);
lcd.print("Entfernung: ");
lcd.print(Entfernung);
lcd.print(" cm ");
delay(1000);
}
}
Letzte Aktualisierung: