//Incluimos las librerias
#include <Adafruit_NeoPixel.h>
#define PIN_NEO_PIXEL 15 // El pin GPIO15 del ESP32 conectado al NeoPixel
#define NUM_PIXELS 16 // El número de LEDs (píxeles) en la tira de LEDs NeoPixel
// Definición de colores básicos (formato GRB)
uint32_t rojo = Adafruit_NeoPixel::Color(255, 0, 0);
uint32_t verde = Adafruit_NeoPixel::Color(0, 255, 0);
uint32_t azul = Adafruit_NeoPixel::Color(0, 0, 255);
uint32_t amarillo = Adafruit_NeoPixel::Color(255, 255, 0);
uint32_t magenta = Adafruit_NeoPixel::Color(255, 0, 255);
uint32_t cyan = Adafruit_NeoPixel::Color(0, 255, 255);
uint32_t blanco = Adafruit_NeoPixel::Color(255, 255, 255);
uint32_t apagado = Adafruit_NeoPixel::Color(0, 0, 0); // Equivalente a .clear()
Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
void setup() {
NeoPixel.begin(); // inicializar el objeto de la tira NeoPixel (REQUERIDO)
}
void loop() {
// establece todos los colores de píxeles a 'apagado'. Solo tiene efecto si se llama a pixels.show()
NeoPixel.clear();
// enciende los píxeles a verde uno por uno con retraso entre cada píxel
for (int pixel = 0; pixel < NUM_PIXELS; pixel++) {// para cada píxel
NeoPixel.setPixelColor(pixel, verde); // solo tiene efecto si se llama a pixels.show()
NeoPixel.show(); // actualizar la tira de LEDs NeoPixel
delay(500); // pausa de 500ms entre cada píxel
}
// apaga todos los píxeles durante dos segundos
NeoPixel.clear();
NeoPixel.show(); // actualizar la tira de LEDs NeoPixel
delay(2000); // 2 segundos de tiempo apagado
// enciende todos los píxeles a rojo al mismo tiempo durante dos segundos
for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // para cada píxel
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0)); // solo tiene efecto si se llama a pixels.show()
}
NeoPixel.show(); // actualizar la tira de LEDs NeoPixel
delay(1000); // 1 segundo de tiempo encendido
// apaga todos los píxeles durante un segundo
NeoPixel.clear();
NeoPixel.show(); // actualizar la tira de LEDs NeoPixel
delay(1000); // 1 segundo de tiempo apagado
}