Paso 2: Lista al reto
Limitado pixeles
En tamaño 8 x 6, si pantalla 1 fila 8 caracteres requieren 8 x 6 x 8 = 384 pixeles
En U8glib, la fuente más pequeña es 6 x 5, pantalla 4 caracteres todavía requieren 6 x 5 x 4 = 120 pixeles
Pero quiero intentar Mostrar píxeles sólo 60 de uso mensaje (¡ Hola mundo!).
Pernos de IO limitados
Requieren de algún circuito de matriz de LED IO = anchura + altura, pero ATtiny13A sólo tiene 5 pernos del IO. Esperemos que WS2812 tira sólo es necesario 1 IO a conducirlo.
Flash limitada
He probado algunos biblioteca Arduino WS2812, todo ejemplo exceso límite de ATtiny13A 1 KB. light_ws2812 es el más pequeño, que tienen compilación directa de código de muestra con avr-gcc, es mucho más pequeño!
Y luego font binary es otro consumidor de memoria, tamaño de fuente de 8 x 6 para el usan de caracteres ASCII 97 (8 x 6) / 8 x 97 = 582 bytes!
RAM limitado
En toda biblioteca de WS2812, que requiere un búfer de mapa de bits completo como parámetro. buffer RGB de píxeles 60 requieren 60 x 3 = 180 bytes, pero ATtiny13A solo tienen 64 bytes de memoria RAM! Se exceso demasiado, casi renuncio!
Esperemos que light_ws2812 código de la biblioteca es fácil de leer y encontré que puedo guardar un mapa de bits mono y retorno dinámico el valor de color por una función.
Pero aún otro desafío, puesto que la función llamada cada vez antes de enviar 8 bits valor WS2812, entonces la función no debe funcionar más de 50 nos o lo tratará como un nuevo ciclo. es decir, dejar de enviar datos a todos los 60 LEDs.
Consumo de energía de pantalla
Según la especificación, cada WS2812 puede consumir energía mA alrededor de 60, 60 píxeles pueden sacar 3.6 A; 384 píxeles pueden dibujar más 20 A.
Así que en mi ejemplo, el valor de color mucho más bajo que el máximo valor posible (255), el máximo de luz que utilizo es 7. se puede mantener el sorteo único de la plataforma por debajo de 30 mA y alimentado por batería de Lipo.