#include <Adafruit_NeoPixel.h>
int din = 13;
int numleds = 16;
int btnpin = 12;
Adafruit_NeoPixel strip(numleds, din, NEO_GRB + NEO_KHZ800);
bool buttonState = false;
bool lastButtonState = false;
int colorIndex = 0;
uint32_t colors[] = {
strip.Color(255, 0, 0),
strip.Color(0, 255, 0),
strip.Color(0, 0, 255),
strip.Color(255, 255, 0),
strip.Color(255, 0, 255)
};
void setup() {
strip.begin();
strip.show();
pinMode(btnpin, INPUT);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(btnpin);
if (buttonState != lastButtonState) {
if (!buttonState) {
colorIndex = (colorIndex + 1) % (sizeof(colors) / sizeof(colors[0]));
setColor(colors[colorIndex]);
Serial.print("Color changed to index ");
Serial.println(colorIndex);
}
lastButtonState = buttonState;
}
}
void setColor(uint32_t color) {
for (int i = 0; i < numleds; i++) {
strip.setPixelColor(i, color);
}
strip.show();
}