#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int potPin = A0;
const int redLED = 9;
const int greenLED = 10;
const int blueLED = 11;
LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD mit I2C-Adresse 0x27
void setup() {
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(blueLED, OUTPUT);
lcd.init(); // LCD initialisieren
lcd.backlight(); // Hintergrundbeleuchtung einschalten
}
void loop() {
int potValue = analogRead(potPin); // 0 bis 1023
// Bereichsabhängige LED-Steuerung
if (potValue < 341) {
digitalWrite(redLED, HIGH);
digitalWrite(greenLED, LOW);
digitalWrite(blueLED, LOW);
}
else if (potValue < 682) {
digitalWrite(redLED, LOW);
digitalWrite(greenLED, HIGH);
digitalWrite(blueLED, LOW);
}
else {
digitalWrite(redLED, LOW);
digitalWrite(greenLED, LOW);
digitalWrite(blueLED, HIGH);
}
// LCD-Anzeige
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Poti-Wert:");
lcd.setCursor(0, 1);
lcd.print(potValue);
delay(200); // kleine Pause
}