// Bibliotheken für Display und switch-case- Bereiche
#include <LiquidCrystal_I2C.h>
#define LED 12
#define SENDEN 7
#define ECHO 6
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() {
pinMode(SENDEN, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(LED, OUTPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(3,0);
lcd.print("Entfernung:");
lcd.setCursor(8,1);
lcd.print("cm");
}
int EntfernungMessen() {
long Entfernung = 0;
digitalWrite(SENDEN, LOW);
delay(5);
digitalWrite(SENDEN, HIGH);
delayMicroseconds(10);
digitalWrite(SENDEN, LOW);
long Zeit = pulseIn(ECHO, HIGH);
Entfernung = (Zeit / 2) * 0.03432;
return Entfernung;
}
void loop() {
//lcd.setCursor(5,1);
//lcd.print(" ");
/// ODER
//lcd.clear();
long Entfernung = EntfernungMessen();
Serial.println(Entfernung);
//if (Entfernung < 100) {
// lcd.print(" ");
// if (Entfernung < 10) {
// lcd.print(" ");
// }
//}
lcd.setCursor(5,1);
lcd.print(Entfernung);
delay(200);
if(Entfernung <= min_wert) {
digitalWrite(LED, HIGH);
} else if (Entfernung >= max_wert) {
digitalWrite(LED, LOW);
} else {
digitalWrite(LED, HIGH);
delay(Entfernung);
digitalWrite(LED, LOW);
delay(Entfernung);
}
}