Paso 6: código de
Más cubo código utiliza escribe directo a las columnas. El código dice que columna X necesidades deberá encenderse así dan jugo y hemos terminado. Eso no funciona cuando se utiliza virutas de regulador.
Los chips de controlador utilizan 4 hilos para comunicarse con Arduino: en SPI, reloj, cierre y permitir. A tierra el pin Enable (pin 21) a través de una resistencia (RL) por lo que salida está habilitada siempre. Nunca he utilizado el activar asi que sacó el código. SPI-en los datos de Arduino, el reloj es una señal de sincronización entre los dos mientras que hablan, y seguro dice que el controlador es hora de aceptar nuevos datos.
Cada salida de cada chip es controlada por un número binario de 16 bits. Por ejemplo; envío 1010101010101010 al controlador causaría cada otros LED del controlador a la luz. El código debe ejecutar a través de todo lo necesario para una pantalla y construir ese número binario, después lo envía al chip. Es más fácil de lo que suena. Técnicamente es un manojo de adición bit a bit, pero soy malísimo en matemáticas bit a bit por lo que hacer todo en decimal.
Decimal para los primeros 16 bits son las siguientes:
1 << 0 == 1
1 << 1 == 2
1 << 2 == 4
1 << 3 == 8
1 << 4 == 16
1 << 5 == 32
1 << 6 == 64
1 << 7 == 128
1 << 8 == 256
1 << 9 == 512
1 << 10 == 1024
1 << 11 == 2048
1 << 12 == 4096
1 << 13 == 8192
1 << 14 == 16384
1 << 15 == 32768
Esto significa que si quieres luz salidas 2 y 10, añadir los decimales (2 y 512) junto a 514. Enviar 514 a las salidas 2 y 10 y controlador se enciende.
Pero tenemos más de 16 LEDs para que tenga un poco más difícil. Tenemos que construir la información de la pantalla para 4 chips. Que es tan fácil como edificio 1, solo lo hacen 3 veces más. Utilizar un variable array global para mantener los códigos de control. Es simplemente más fácil de esa manera.
Una vez que tengas todos pantalla 4 y listo enviar, soltar el pestillo (establecerlo en baja) y empezar a enviar los códigos. Usted necesita enviar el primero. Enviar los códigos para el chip de 4, luego 3, luego 2, luego 1, luego ajuste el pestillo a alto otra vez. Puesto que el pin Enable está siempre conectado a tierra, la pantalla se cambia inmediatamente.
Más código del cubo que he visto en Instructables, y la web en general, consiste de un gigante bloque de código para realizar una animación preestablecida. Funciona bien para cubos más pequeños pero que necesitan almacenar, leer y enviar 512 pedacitos de binario cada vez que desee cambiar la pantalla ocupa mucha memoria. El Arduino no podía manejar más de unos pocos fotogramas. Así que escribí algunas funciones simples para mostrar el cubo en la acción que se basan en el cálculo en lugar de animaciones preestablecidas. Incluí una pequeña animación para mostrar cómo se hace, pero te lo dejo a usted para construir su propia muestra.
cube8x8x8.PDE es el código de Arduino. Planeo seguir agregando funciones en el código y actualizará periódicamente el programa.
matrix8x8.PDE es un programa en el proceso de construir su propia muestra. El primer número dado entra en pattern1 [], segunda [] pattern2, etc..
La hoja de datos para el A6276EA está disponible en:
http://www.allegromicro.com/en/Products/Part_Numbers/6276/6276.pdf