#include <Adafruit_NeoPixel.h>
#define PINEO 10
#define NUMPIX 1
#define PUSH 2
Adafruit_NeoPixel strip(NUMPIX, PINEO, NEO_GRB + NEO_KHZ800);
int ESTADOACTUAL = 0;
int ESTADOANTERIOR = 0;
int colorIndex = 0;
void setup() {
pinMode(PUSH, INPUT_PULLUP);
strip.begin();
strip.show();
}
void loop() {
ESTADOACTUAL = digitalRead(PUSH);
if (ESTADOACTUAL == HIGH && ESTADOANTERIOR == LOW) {
colorIndex++;
if (colorIndex > 6) {
colorIndex = 0;}
updateColor(colorIndex);
}
ESTADOANTERIOR = ESTADOACTUAL;
}
void updateColor(int index) {
switch (index) {
case 0: strip.setPixelColor(0, strip.Color(0, 255, 0)); break; // Verde
case 1: strip.setPixelColor(0, strip.Color(0, 255, 255)); break; // Cian
case 2: strip.setPixelColor(0, strip.Color(0, 0, 255)); break; // Azul
case 3: strip.setPixelColor(0, strip.Color(255, 0, 0)); break; // Rojo
case 4: strip.setPixelColor(0, strip.Color(255, 255, 0)); break; // Amarillo
case 5: strip.setPixelColor(0, strip.Color(255, 0, 255)); break; // Magenta
case 6: strip.setPixelColor(0, strip.Color(255, 255, 255)); break; // Blanco
}
strip.show();
}