/*
Aufgabe 2.0:
Anstatt Blau sollen die LEDs von Grün auf Rot faden, wenn das Poti aufgedreht wird.
Die map() Funktion ist dein Freund.
Aufgabe 2.1:
Nur eine der Leds soll an sein. sie wird vom Potie "ausgewählt".
Nenne dafür numLedsToLight in cursor um.
Aufgabe 2.2:
Die Farbe des Cursors wird durch drei weitere Potis eingestellt.
Declariere eine Variable des Datentypes CRGB mit dem Namen cursorColor.
Aufgabe2.3:
Mit Hilfe des Cursers und einem Taster soll die Farbe an die gewählte Position
"gestempelt" werden.
Eine Möglichkeit wäre eine Variable namens oldColor zu verwenden.
Aufgabe 2.4:
Ein Weiterer Taster soll alle LEDs ausschalten.
*/
#include <FastLED.h>
#define NUM_LEDS 16
#define DATA_PIN 21
#define POTI_PIN 35
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
}
void loop() {
// Potentiometer-Wert lesen und auf LED-Bereich mappen
int numLedsToLight = map(analogRead(POTI_PIN), 0, 4095, 0, NUM_LEDS);
// Alle LEDs ausschalten, um vorherigen Zustand zu löschen
FastLED.clear();
// Prüfen, ob der berechnete LED-Index innerhalb der Grenzen liegt
if (numLedsToLight < NUM_LEDS) {
// Helligkeit basierend auf der Anzahl der leuchtenden LEDs umgekehrt berechnen
int brightness = map(numLedsToLight, 0, NUM_LEDS, 150, 255); // Anpassen für gewünschten minimalen Helligkeitswert
// LED auf Farbübergang von Grün zu Rot mit angepasster Helligkeit setzen
leds[numLedsToLight] = CHSV(map(numLedsToLight, 0, NUM_LEDS, 120, 0), 255, brightness);
// Aktuelle Helligkeit für Debug-Zwecke ausgeben
Serial.println(brightness);
}
// Aktualisierte LEDs anzeigen
FastLED.show();
// Optional: Verzögerung zur Verlangsamung der LED-Änderungen
delay(50);
}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4