#include <Arduino.h>
const uint8_t LEDS = 12; // Anzahl der LEDs
uint8_t ledPins[LEDS] = {11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 28, 27}; // Pins verbunden mit LED11 bis LED0
const int potPin = 26; // Analog-Pin verbunden mit dem Potentiometer
void setup() {
for (uint8_t i = 0; i < LEDS; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW);
}
}
void loop() {
int potValue = analogRead(potPin); // Liest den Potentiometerwert
int ledIndex;
if (potValue > 512) {
// Berechnet den Index für LEDs 5 bis 0, wenn Potentiometer nach rechts gedreht wird
ledIndex = map(potValue, 513, 1023, 0, 6);
for (uint8_t i = 0; i < 6; i++) {
digitalWrite(ledPins[i], LOW); // Schaltet die LEDs auf der linken Seite aus
}
for (uint8_t i = 6; i < 12; i++) {
digitalWrite(ledPins[i], i - 6 < ledIndex ? HIGH : LOW); // Schaltet die LEDs auf der rechten Seite ein
}
} else if (potValue < 512) {
// Berechnet den Index für LEDs 11 bis 6, wenn Potentiometer nach links gedreht wird
ledIndex = map(potValue, 511, 0, 0, 6);
for (uint8_t i = 6; i < 12; i++) {
digitalWrite(ledPins[i], LOW); // Schaltet die LEDs auf der rechten Seite aus
}
for (uint8_t i = 0; i < 6; i++) {
digitalWrite(ledPins[i], 5 - i < ledIndex ? HIGH : LOW); // Schaltet die LEDs auf der linken Seite ein
}
} else {
// Schaltet alle LEDs aus, wenn Potentiometerwert genau 512 ist
for (uint8_t i = 0; i < LEDS; i++) {
digitalWrite(ledPins[i], LOW);
}
}
delay(10); // Kurze Verzögerung zur Glättung der LED-Aktivierung
}