#include "LCDIC2.h"
// 4-zeiliges Display
LCDIC2 lcd(0x27, 20, 4);
// 2-zeiliges Display
// LCDIC2 lcd(0x3f, 16, 2);
// 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.begin();
// Cursor "verstecken"
lcd.setCursor(false);
}
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;
// 200 cm ist die maximal messbare Entfernung
if (Entfernung < 200)
{
/*
2-zeiliges LCD
lcd.setCursor(0, 0);
lcd.print("Entfernung: ");
lcd.print(String(Entfernung));
lcd.print(" cm ");
*/
// 4-zeiliges LCD
lcd.setCursor(0, 0);
lcd.print("Entfernung messen");
lcd.setCursor(0, 1);
lcd.print("--------------------");
lcd.setCursor(0, 2);
lcd.print("Entfernung: ");
lcd.print(String(Entfernung));
lcd.print(" cm ");
delay(1000);
}
}
Letzte Aktualisierung: