#include <Adafruit_NeoPixel.h>
#define TIME_NEXT 500 // Zeit in ms wo eine nach der anderen LED eingeschaltet wird
#define BUTTON 1 // Taster ist an GPIO 1 angeschlossen
#define LED_RGB 4 // DIN von LED-Ring ist an GPIO 4 angeschlossen
#define NUM_PIXELS 16 // Anzahl der LEDs
Adafruit_NeoPixel led_ring(NUM_PIXELS, LED_RGB, NEO_GRB + NEO_KHZ800);
unsigned char r[16] = {0 ,0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char g[16] = {255 ,255 , 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255};
unsigned char b[16] = {0 ,0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char i;
void setup() {
pinMode(BUTTON, INPUT_PULLUP);// Taster als Eingang mit Pullup-Widerstand konfigurieren
led_ring.begin();
}
void loop() {
led_ring.clear();
for(i = 0; i < NUM_PIXELS; i++) {
if (digitalRead(BUTTON) == HIGH) {
led_ring.setPixelColor(i, led_ring.Color(r[i], g[i], b[i]));
} else {
led_ring.setPixelColor(i, led_ring.Color(g[i], r[i], b[i]));
}
led_ring.show();
delay(TIME_NEXT);
}
}