Paso 4: programación
ACLARACIÓN:La numeración de la columna puede verse en el pdf adjunto. La primera columna es la parte trasera esquina izquierda, entonces la numeración aumenta de izquierda a derecha para cada fila.
Con respecto a la programación, la hoja de datos que os adjunto en el paso anterior será útil (sobre todo la lógica tabla). Código de arduinio a la salida un número binario de 5 dígitos para los decodificadores y luego las 25 columnas (via digital ouptuts 2-6, donde establecer un pin en alto es y establecer un pin en bajo es un 0). Entonces también código arduino para definir un plano específico del cubo en alta para determinar que plano de una columna específica que desea iluminar. Para encender varios LEDs del mismo decodificador que tienes flash entre las "columnas" a una tasa de retardo de menos que el ojo humano puede detectar. Por favor ver mi código adjunto para saber cómo enciende LEDs individuales, columnas, planos, cartas de hechizo y crear patrones.
Adjunto un boceto muestra el etiquetado de LEDs, columnas y planos.
Nota: Mi método de codificación es muy larga porque no recuerdo mucho de mi introducción al curso de ciencia de computadoras. Podría acortar código utilizando declaraciones, bucles, etc..
EX.
Para iluminar LED28 (en COL3, plano 2)
Desea que todos los niveles de baja, además de la segunda
digitalWrite (Z0, LOW);
digitalWrite (Z1, alto);
digitalWrite (Z2, LOW);
digitalWrite (Z3, LOW);
digitalWrite (Z4, LOW);
Y luego para llamar a la columna correcta, mira en la tabla de lógica en la hoja de datos., p3 y p4 para determinar cual decodificador conectado al cubo para dirigir a. Porque queremos COL3, queremos que el decodificador de primera "A" que significa el ajuste
A0, A1, A2 a baja (por lo que Y0 va alta y permite el primer decodificador). A2 es siempre baja en el decodificador inicial "E" para establece sus otras entradas de dirección a la baja, así que...
digitalWrite (p3, bajo);
digitalWrite (p4, LOW);
Deberá determinar que la salida del decodificador "A" desea. Ya que es la tercera columna desea que la tercera salida. Cuando A0, A1, A2 son LHL, Y2 pasa alto que,
digitalWrite (p0, LOW);
digitalWrite (p1, HIGH);
digitalWrite (p2, bajo);