Paso 2: ¿Cómo funciona?
El IC WS2812 dentro de estos LEDs direccionables actúa como un registro de cambio. De hecho en algunas fichas se llaman cambio registro programable LEDs. Su este diminuta viruta que hace la magia de la salsa secreta. Más que sólo un cambio de registro, incluye la corriente limitando la resistencia de toda necesidad de LEDs, así como regula el voltaje de entrada a lo que necesitan los elementos específicos de LED. Usted puede aprender más acerca de registros de cambio aquí en Wikipedia.
En mi anterior Instructable, fui en algunos detalles acerca de los LED y cómo que alterar la tensión era una buena manera de matar a LEDs y que si querían les dim, necesita utilizar una señal de modulación de ancho de pulso. Qué modulación por ancho de pulso es encender el LED y de eso él cambia tan rápido el nivel de iluminación promedio. Cuanto más tiempo que el LED está apagado, más oscuro se ve. La razón que no lo veo de esa manera es que el LED está encendido y apagado tan rápido, sus ojos no pueden detectarlo.
Direccionables LEDs ni son controlados por voltaje, ni modulación por ancho de pulso. Son controlados por una señal de portador. Esta señal de 800kHz tiene un formato que describe al chip lo que cada uno de los colores debe ser, cuál debe ser el brillo, y también lo que cada LED en la cadena aguas abajo debe ser demasiado.
Cuando el WS2812 recibe la señal, se decodifica sus propios datos de esa señal de portador, luego envía el resto de los datos abajo para el LED siguiente y así sucesivamente.
En el Arduino, esto se logra mediante el uso de una bastante inteligente biblioteca escrita por la gente fina de Adafruit, que venden la línea de NeoPixel de productos que usan el chip WS2812. De hecho cuando nos fijamos en las entrañas de esa biblioteca los datos reales se envían hacia fuera con una serie de comandos DigitalWrite() cuidadosamente cronometrados. Esto significa que podría utilizar cualquiera de los 13 pines digitales, no sólo los seis pines PWM.