PUBLICO:Actuador luminoso neopixel
Menú >> PUBLICO:Portada >> PUBLICO:Material de clases >> PUBLICO:Sistemas embebidos e Internet de las Cosas >> PUBLICO:Sensores_Actuadores_y_Comunicacion >> Actuador luminoso neopixel |
Información General | |
---|---|
Nombre | Neo Pixel |
Nombre Comercial | WS2812B |
Tipo | Digital |
Tinkercad | NeoPixel |
Chip | ws2812 |
Introducción Funcional
Estos están formados por un conjunto de LEDs (5050 RGB) que disponen de lógica integrada. Por lo que es posible variar el color de cada led en forma individual (a diferencia de las tiras de led convencionales en la que todos los LEDs posen el mismo color). Estos LED son de bajo consumo y alto brillo, que poseen encapsulados los 3 colores RGB (Rojo, Verde y Azul). La lógica integrada, se encuentra dentro de cada LED, permite que se almancen 3 bytes que corresponden con los 3 colores del RGB. Como cada pixel puede tener hasta 256 niveles, lo que supone un total de 16.778.216 colores posibles. Por ese motivo se puede configurar un color diferente para cada uno. También se lo llama “individual addressable”, ya que cuando un LED recibe un flujo de bytes, almacena los últimos, bytes recibidos y transfiere los que contenía al siguiente LED. Finalmente, con la señal de “resetcode” cada LED muestra el último valor almacenado. Este comportamiento permite un sinfín de aplicaciones y combinaciones. Que van desde dotar de iluminación por zonas, realizar animaciones complejas, o incluso generar pantallas enteras de alta luminosidad.
Modo de uso
NeoPixel funciona recibiendo una cadena de bits, 24bits por cada led, por cada tramo de 24bits que recibe el integrado del led lo envía al siguiente led y almacena el próximo tramo. Luego de que cada led tiene la información de su color con la orden RET code la muestran. Como vemos en el siguiente gráfico, según el nivel y la duración del pulso que recibe se decodifica la señal recibida.
En este gráfico podemos observar como cada cadena de 24bits es recibida por un led y re transmitida al siguiente hasta que todos los leds tienen la información del color que deben mostrar. Por lo tanto, el primer color enviado va a quedar almacenado en el último led de la tira, y el último color enviado en el primero
Afortunadamente utilizando Arduino y la librería Adafruit_NeoPixel.h todo esto es transparente para el desarrollador. Primero se genera una variable:
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(CANTPIXELS, PIN_LEDRING, NEO_GRB + NEO_KHZ800)
Donde se indica por parámetro la cantidad de leds que vas a utilizar y el pin del Arduino donde está conectado el anillo.
Luego, con la función pixels.setPixelColor se ingresa por parámetro el número de led y el valor de 0 a 255 de cada color RGB. Luego con la función pixels.show() se actualiza y muestran los colores.
Especificaciones Técnicas
Voltaje de Operación: | 5V DC. |
---|---|
Cantidad de led Máxima: | 60. |
Consumo: | 18 mA (por pixel). |
Retarto transmisión: | 120 microSegundos (por pixel). |
Diagrama de Conexión
Ejemplo en Código
Referencias Externas
Características: | https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf |
Ficha técnica actuador (Inglés): | (Local) |
https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf |
Los textos de este sitio están disponibles bajo una licencia Creative Commons Atribución 2.5 Argentina.