# include "Adafruit_NeoPixel.h"
// Pin des LED-Streifens
# define STREIFEN 8
// Anzahl der LEDs -> muss angepasst werden
# define AnzahlLED 15
// Poti an A0
# define PotiFarbe A1
# define PotiHelligkeit A0
/*
Initialisierung des LED-Streifens
Parameter:
LED-Streifen -> Name des LED-Streifens
AnzahlLED -> Anzahl der LEDs
STREIFEN -> verwendeter Pin
NEO_GRB + NEO_KHZ800 -> Typ des verwendeten LED-Streifens
*/
Adafruit_NeoPixel LEDStreifen = Adafruit_NeoPixel(AnzahlLED, STREIFEN, NEO_GRB + NEO_KHZ800);
// Farben in RGB-Schreibweise definieren
# define ROT LEDStreifen.Color(255, 0, 0)
# define ROSA LEDStreifen.Color(255, 50, 100)
# define BLAU LEDStreifen.Color(0, 0, 255)
# define HELLBLAU LEDStreifen.Color(100, 100, 255)
# define GRUEN LEDStreifen.Color(0, 255, 0)
# define HELLGRUEN LEDStreifen.Color(0, 100, 153)
# define GELB LEDStreifen.Color(255, 255, 0)
# define ORANGE LEDStreifen.Color(200, 50, 0)
# define PINK LEDStreifen.Color(255, 20, 147)
# define MAGENTA LEDStreifen.Color(139, 0, 139)
void setup()
{
Serial.begin(9600);
// NeoPixel Bibliothek initialisieren
LEDStreifen.begin();
}
void loop()
{
// LEDs löschen
LEDStreifen.clear();
/*
PotiHelligkeit abfragen
map -> Bereich von 0 bis 1023
(dem mit analogRead gelesenen Wert des Potentiometers)
auf 0 bis 255 übertragen
(Helligkeit des LED-Streifens)
*/
int Helligkeit = map(analogRead(PotiHelligkeit), 0, 1023, 0, 255);
// Helligkeit setzen
LEDStreifen.setBrightness(Helligkeit);
/*
PotiFarbe abfragen
Bereich 0 bis 1023
Bereiche festlegen -> nach jeweils 128 Werten neue Farbe
*/
switch (analogRead(PotiFarbe))
{
case 0 ... 128:
LEDStreifen.fill(ROSA, 0, AnzahlLED);
LEDStreifen.show();
break;
case 129 ... 256:
LEDStreifen.fill(ROT, 0, AnzahlLED);
LEDStreifen.show();
break;
case 257 ... 384:
LEDStreifen.fill(HELLBLAU, 0, AnzahlLED);
LEDStreifen.show();
break;
case 385 ... 512:
LEDStreifen.fill(BLAU, 0, AnzahlLED);
LEDStreifen.show();
break;
case 513 ... 640:
LEDStreifen.fill(HELLGRUEN, 0, AnzahlLED);
LEDStreifen.show();
break;
case 641 ... 768:
LEDStreifen.fill(GRUEN, 0, AnzahlLED);
LEDStreifen.show();
break;
case 769 ... 896:
LEDStreifen.fill(GELB, 0, AnzahlLED);
LEDStreifen.show();
break;
case 897 ... 1023:
LEDStreifen.fill(ORANGE, 0, AnzahlLED);
LEDStreifen.show();
break;
default:
LEDStreifen.clear();
}
}
Letzte Aktualisierung: