#include <LiquidCrystal_I2C.h>
#define PIN_ECHO 2
#define PIN_TRIG 3
#define LED 12
int min_wert = 10; // Schwell-Wert unter dem LED permanent leuchtet
int max_wert = 100; // Schwell-Wert ab dem LED permanent ausgeschaltet ist
int us_wert, cm;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(3,0);
lcd.print("Entfernung:");
lcd.setCursor(8,1);
lcd.print("cm");
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
pinMode(LED, OUTPUT);
//us_wert = pulseIn(PIN_ECHO, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
lcd.setCursor(5,1);
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
delayMicroseconds(10);
us_wert = pulseIn(PIN_ECHO, HIGH);
cm = (us_wert/(2*29.1));
Serial.print(us_wert);
Serial.print(" - ");
Serial.println(cm);
if (cm < 100) {
lcd.print(" ");
if (cm < 10) {
lcd.print(" ");
}
}
lcd.print(cm);
delay(200);
if(cm<=min_wert) {
digitalWrite(LED, HIGH);
} else if (cm >= max_wert) {
digitalWrite(LED, LOW);
} else {
digitalWrite(LED, HIGH);
delay(cm);
digitalWrite(LED, LOW);
delay(cm);
}
}