Los LEDs WS2812B (también llamados NeoPixel) son LEDs RGB inteligentes con un chip controlador integrado en cada LED. Con un solo pin de datos puedes controlar cientos de LEDs de forma individual, logrando efectos de color y animaciones imposibles con LEDs comunes.
¿Qué son los LEDs WS2812B?
Cada LED WS2812B contiene tres LEDs (rojo, verde, azul) y un microchip que recibe datos en serie y los reenvía al siguiente LED de la cadena. Así, desde un único pin GPIO del Arduino puedes controlar una tira entera.
- Voltaje: 5V (importante: el Arduino puede alimentar pocos LEDs; para tiras largas usa fuente externa)
- Corriente por LED: hasta 60 mA a plena potencia (blanco puro)
- Control: protocolo de un hilo a 800 Kbps
- Colores: 16.7 millones (8 bits × RGB)
Conexión Básica (hasta ~8 LEDs desde Arduino)
| WS2812B | Arduino |
|---|---|
| 5V | 5V (o fuente externa) |
| GND | GND |
| DIN (Data In) | Pin 6 (con resistencia 300-500Ω en serie) |
Añade un condensador de 100-1000µF entre VCC y GND cerca de la tira para proteger los LEDs de picos de corriente al encenderse.
Instalar FastLED
En el gestor de librerías busca "FastLED". Es más potente que la librería Adafruit NeoPixel: soporta más tipos de LEDs, tiene corrección de color y es más eficiente.
Código: Efecto Arco Iris
#include <FastLED.h>
#define PIN_DATOS 6
#define NUM_LEDS 16
#define BRILLO 80 // 0-255, empieza bajo para proteger ojos
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812B, PIN_DATOS, GRB>(leds, NUM_LEDS);
FastLED.setBrightness(BRILLO);
}
void loop() {
// Efecto arco iris completo
for (int hue = 0; hue < 256; hue++) {
for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = CHSV(hue + (i * 256 / NUM_LEDS), 255, 255);
}
FastLED.show();
delay(10);
}
}
Efectos Populares
- Color sólido:
fill_solid(leds, NUM_LEDS, CRGB::Red); - Pulso (breathing): variar el brillo con
FastLED.setBrightness()en una onda senoidal - Fuego: el ejemplo Fire2012 incluido en FastLED simula llamas realistas
- Caminante (chase): mover un LED encendido a lo largo de la tira
Fuente de Alimentación
Una tira de 60 LEDs WS2812B consume hasta 3.6A a plena potencia blanco. Usa una fuente 5V 4A o mayor. Conecta GND de la fuente y GND del Arduino para referencias comunes, pero NO conectes el 5V de la fuente al Arduino.
Consigue tu tira WS2812B y Arduino en Especificar.cl, con stock en Valparaíso y envío a todo Chile.