#include <Adafruit_NeoPixel.h>
#define BUTTON_PIN 2
#define LED_PIN 6
#define NUM_PIXELS 1
#define ORANGE 255, 165, 0
#define CYAN 64, 224, 208
#define PURPLE 128, 0, 128
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);
bool buttonState = false;
int colorIndex = 0;
void setup() {
pinMode(BUTTON_PIN, INPUT);
pixels.begin();
}
void loop() {
if (digitalRead(BUTTON_PIN) == HIGH && !buttonState) {
buttonState = true;
switch (colorIndex) {
case 0:
pixels.setPixelColor(0, pixels.Color(ORANGE));
break;
case 1:
pixels.setPixelColor(0, pixels.Color(CYAN));
break;
case 2:
pixels.setPixelColor(0, pixels.Color(PURPLE));
break;
}
pixels.show();
while (digitalRead(BUTTON_PIN) == HIGH);
colorIndex = (colorIndex + 1) % 3;
delay(100);
}
else if (digitalRead(BUTTON_PIN) == LOW && buttonState) {
buttonState = false;
}
}