NeoPixels: Cintas de LEDs RGB programables

1
405

Mucho de los proyectos utilizan utilizan algún LED para dar información del estado del programa a un usuario, mientras que otros simplemente lo utilizan por estética. La ambientación por medio del agregado de luces es uno de los métodos más utilizados en nuestra época. Se trata de una de las cosas más sencillas de implementar, con resultados muy buenos.

Cualquiera que sea el caso, al utilizar varios LEDs en un proyecto se vuelve tedioso tener que gastar una salida del microcontrolador para controlar cada LED. Para estos casos es posible utilizar registros de desplazamiento, aunque esto requiere de una electrónica asociada. En el mercado existe una solución con resistencias limitadoras integradas: las LED Strip o tiras de leds. Se destacan los modelos  WS2812, WS2811 y SK2812. Estas tres soluciones se consiguen en diferentes formas y tamaños. El integrado es sencillamente un LED RGB unido a un registro de desplazamiento que permite conectarse en cascada con otros integrados más.   La ventaja de estos es que en el mercado se pueden conseguir tiras de múltiples tamaños y formas.

LED RGB Strip
LED RGB Strip
LED RGB Circular Strip
RGB LED Strip Arduino
Funcionamiento

Cuando se unen varios de estos dispositivos en cascada, se crea una “tira”. Entonces cada integrado adquiere un ID o dirección (address). Estas direcciones son números que se incrementan como se muestra en la figura (asumiendo que la corriente viene de izquierda a derecha). En Internet existen librerías que nos permiten controlar tiras como estas. También podemos encontrar uniones de integrados personalizados (siempre y cuando tengan la misma secuencia de conexión), mediante la asignación de colores en formato RGB a cada integrado por medio del address.

Direcciones
Direcciones (Address) de los LEDs en un LED Strip

Conexión

Para este caso se ha utilizado una tira de Adafruit, llamada NeoPixels. Está formada por una union de WS2811 en cascada, como se aprecia en la figura anterior. La conexión es sumamente sencilla e involucra unir las referencias a tierra (GND) de todas las partes involucradas (microcontrolador, fuente de poder y tira o strip). Luego se conecta un pin del microcontrolador (Arduino) al pin de señal de la tira.

Para el microcontrolador se ha utilizado un NodeMCU 1.0 (ESP12F). También es posible utilizar un Arduino, sea cual sea el modelo.

Conexiones RGB Strip
Conexiones RGB Strip
RGB Strip
RGB Strip

Fuentes de voltaje

Es necesario prestar atención a los requerimientos de corriente de estos integrados. Cada integrado consume aproximadamente 20mA cuando un color está a su máximo, y como son tres (3) colores entonces si los tres están al máximo (255,255,255 => blanco) tendríamos un consumo de 60mA.  En este caso he utilizado una fuente ATX  (utilizadas en desktops), debido a que puede proveerme alrededor de ~28A – y mi strip es de 300 integrados (5 metros).

Para conocer el consumo máximo solo hay que multiplicar la cantidad de integrados (LEDs RGB) que contiene la tira o strip, por 60mA. Eso nos daría un aproximado de cuanto consumiría si todos los integrados están en color blanco.

Código de ejemplo

 

Neopixels
RGB Strip

El código es sencillo. Alterna entre el color azul y el color rojo. Solo he utilizado diez (10) integrados de mi tira, pero si deseas cambiar ese número solo se debe actualizar la definición de LEDS en el código.

Cada vez que desee actualizar la tira, se debe llamar la función updateStrip(). Esta cual actualizará la tira con los últimos datos que tenga guardados. Para cambiar esos datos solo es necesario llamar a la función setColor(), y asignarle un color a cada integrado.

Las posibilidades con este tipo de tiras son infinitas. Se pueden montar espectáculos de luces o utilizarlas para la ambientación de espacios domésticos u oficinas. Con un microcontrolador sencillo es posible definir un color para todos y cada uno de los LEDs de la tira, de forma individual y simultánea. Las Neopixels de Adafruit son una excelente opción si lo que se desea es adquirir un LED Strip de alta calidad. Sin embargo, en el mercado existen soluciones similares a precios un poco más accesibles.

Esperamos que la información presentada sea de su agrado. No duden en expresar sus comentarios y dudas en la sección de comentarios.

  • Antony García González