Paso 4: Software
Opciones...
Cuando se trata de software tienes múltiples opciones, usted puede:
- ejecutar la matriz como un dispositivo independiente
- Utilice su PC para empujar imágenes/animaciones a la matriz
- o con su propia idea (por ejemplo conectarlo a un esp8266 para mostrar el contenido de internet
I. independiente
a jugar con la biblioteca de FastLED para la plataforma Arduino. Hay toneladas de buenos ejemplos en línea, que se pueden encontrar aquí en la carpeta de ejemplos. Puede que tenga que cambiar algunas líneas en los dibujos, tales como:
- el tipo de LED utiliza (sólo cambiar a "WS2812").
- la cantidad de LEDs consiste en su matriz.
II. Control de la matriz a través de PC
Esto es lo que prefiero hacerlo. GreatScott ha hecho recientemente un gran tutorial sobre cómo utilizar el software de glediator. Él también ideó un boceto (un programa de Arduino) que funcionó bien para mí.
Sin embargo quise escribir mi propio código y vino para arriba con este script en python. Sólo asegúrese de que elegir el puerto com correcto en la línea 95 y ejecutar en su computadora con su matriz conectado a él. (La escritura) también funciona bien con el bosquejo de glediator de GreatScott, así que no tienes que reprogramm tu Arduino. Tenga en cuenta que yo sólo probado con Debian Linux, sin embargo no debería ser demasiado complicado conseguir que funcione bajo Windows o OSX. No dude en copiar y modificar el código para satisfacer sus necesidades. Si usted tiene alguna pregunta sobre el código, que es un poco críptico, no dude de preguntar en los comentarios. También asegúrese de revisar la siguiente página, donde ejecuto el Juego de la vida de Conway en la matriz.
Pero, ¿cómo es todo este trabajo?
El LED usado en este proyecto contienen registros de cambio, que son básicamente pequeños circuitos que pueden contener una pequeña cantidad de datos (en forma de unos y ceros). En esta aplicación los datos almacenados en cada cambio de LEDs registro representa su color y consta de 24 bits (8 bits por color). El firmware que se ejecuta en el Arduino recibe datos vía comunicación serial y entonces cambia de puesto a través de la cadena de cambio registros/LEDs. El Arduino se ocupa de la matriz como si fuera una banda de LED normal (1 dimensional). Mi script a continuación calcula cada colores de píxeles (RGB) y almacena en un arreglo de 2 dimensiones, que representa básicamente la matriz sí mismo. Después de calcular cada valores RGB de píxeles (cada uno representado por un valor entre 0 y 255 [2⁸]) entonces procede empujando estos valores para el Arduino vía un puerto serial en su computadora. Esto sucede en un orden específico, ya que Arduino cant dirección los LEDs en un tipo cartesiano de la forma (x, y). Los datos se empujan en una determinada tasa de fotogramas por segundo, lo que conduce a la ilusión de un patrón de movimiento/decoloración en la matriz.