4 x 4 x 4 actualización de cubo de LED con cambio de registros (74hc595) (10 / 12 paso)

Paso 10:4 x 4 x 4 código de cubo para 20 pines de arduino

Código que empezó con (nota, este código nunca trabajado en mi cubo original hasta que lo modifico para ánodo común):

#include < avr/pgmspace.h > / / permite el uso de PROGMEM para almacenar patrones de flash

#define CUBESIZE 4
#define PLANESIZE CUBESIZE * CUBESIZE
#define PLANETIME 3333 / / tiempo de cada plano se muestra en nosotros -> refresco de 100 Hz
#define TIMECONST 20 / / multiplica DisplayTime para obtener ms - = ¿por qué no 100?

Tabla de patrón de LED en PROGMEM - la última columna es tiempo de visualización en unidades de 100ms
TODO esto podría ser mucho más compacto, pero no con la representación del patrón binario
prog_uchar PROGMEM PatternTable [] = {}
parpadea el encendido y apagado

B0001 B0000 B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0011 B0000 B0000, B0000, B0011, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0011 B0010, B0000, B0000, B0011, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0011 B0011 B0000, B0000, B0011, B0011, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0110 B0110 B0000, B0000, B0110, B0110, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0110, B0110, B0000, B0000, B0110, B0110, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0110, B0110, B0000, B0000, B0110, B0110, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0110, B0110, B0000, B0000, B0110, B0110, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0011, B0011, B0000, B0000, B0011, B0011, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0001, B0011, B0111, B0000, B0001, B0011, B0111, B0000, B0000, B0001, B0011, 10,
B0000 B0000 B0000, B0000, B0000, B0011, B0111, B0111, B0000, B0011, B0111, B0111, B0000, B0001, B0011, B0111, 10,
B0000 B0000 B0000, B0000, B0000, B0111, B0111, B0111, B0000, B0111, B0111, B0111, B0000, B0011, B0111, B0111, 10,
B0000 B0000 B0000, B0000, B0000, B0111, B0111, B0111, B0000, B0111, B0111, B0111, B0000, B0111, B0111, B0111, 10,
B0000 B0000 B0000, B0000, B0000, B1110, B1110, B1110, B0000, B1110, B1110, B1110, B0000, B1110, B1110, B1110, 10,
B0000 B1110, B1110, B1110, B0000, B1110, B1110, B1110, B0000, B1110, B1110, B1110, B0000, B0000, B0000, B0000, 10,
B0000 B1110, B1110, B1110, B0000, B1110, B1110, B1110, B0000, B1100, B1110, B1110, B0000, B0000, B0000, B0000, 10,
B0000 B1110, B1110, B1110, B0000, B1100, B1110, B1110, B0000, B1000, B1100, B1110, B0000, B0000, B0000, B0000, 10,
B0000 B1100, B1110, B1110, B0000, B1000, B1100, B1110, B0000, B0000, B1000, B1100, B0000, B0000, B0000, B0000, 10,
B0000 B1000, B1100, B1110, B0000, B0000, B1000, B1100, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, 10,
B0000 B0000, B1000, B1100, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000, B1000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B1000 B1000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1000 B1000 B1000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1100 B1000 B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1110, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1110 B0000 B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0110 B0000 B0000, B0000, B0011, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0010 B0000 B0000, B0000, B0011, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0011, B0001, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0001, B0001, B0001, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0001, B0001, B0011, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0001, B0111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B1110, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B1100, B0000, B0000, B1000, B1000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B1100, B1000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1110, B1000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1111, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0111, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0001, B0011, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0001, B0001, B0000, B0001, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0001, B0000, B0000, B0011, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0111, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1111, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1110, B1000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1100, B1100, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B1110, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1111, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0111, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0011, B0000, B0000, 10,
B0000 B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, 10,
B0001 B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0011 B0001, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0111 B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1110, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B0011, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B0111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B1111, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B1111, B1100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B1111, B1110, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B1111, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B1111, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0111 B0111 B0111, B0111, B1000, B1000, B1000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0011 B0011 B0011, B0011, B0100, B0100, B0100, B0100, B1000, B1000, B1000, B1000, B0000, B0000, B0000, B0000, 10,
B0001 B0001, B0001, B0001, B0010, B0010, B0010, B0010, B0100, B0100, B0100, B0100, B1000, B1000, B1000, B1000, 10,
B0001 B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0010, B0010, B0010, B0010, B0100, B0100, B0100, B0100, 10,
B0001 B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0010, B0010, B0010, B0010, 10,
B0001 B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, B0001, 10,
B0010 B0001, B0001, B0001, B0010, B0001, B0001, B0001, B0010, B0001, B0001, B0001, B0010, B0001, B0001, B0001, 10,
B0100 B0010, B0001, B0001, B0100, B0010, B0001, B0001, B0100, B0010, B0001, B0001, B0100, B0010, B0001, B0001, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B0010 B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, 10,
B0100 B0100 B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B0010 B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, 10,
B0100 B0100 B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B0010 B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, 10,
B0100 B0100 B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B0010 B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, 10,
B0100 B0100 B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B0010 B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, 10,
B0100 B0100 B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B0010 B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, 10,
B0100 B0100 B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, B0100, B0100, B0010, B0010, 10,
B1000 B0100 B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, B1000, B0100, B0010, B0001, 10,
B0000 B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, B0000, B1100, B0011, B0000, 10,
B0000 B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, B0000, B0011, B1100, B0000, 10,
B0001 B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B0000 B0010, B0100, B0000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B0000 B0000 B0000, B0000, B0000, B0010, B0100, B0000, B0001, B0010, B0100, B1000, B0001, B0010, B0100, B1000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0100, B0000, B0001, B0010, B0100, B1000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0100, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0010, B0000, B1000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0010, B0000, B1000, B0000, B0010, B1000, B0000, 10,
B0000 B0000 B0000, B1000, B0000, B0010, B0000, B1000, B0000, B0010, B1000, B0000, B0000, B0000, B1000, B0000, 10,
B0000 B0010, B0000, B1000, B0000, B0010, B1000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0010, B1000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0100 B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0110 B0110, B0000, B0000, B0100, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1001 B0110 B0110, B1001, B0000, B0110, B0110, B0000, B0000, B0100, B0010, B0000, B0000, B0000, B0000, B0000, 10,
B1101 B0111, B1110, B1011, B1001, B0110, B0110, B1001, B0000, B0110, B0110, B0000, B0000, B0100, B0010, B0000, 10,
B1111 B1111 B1111, B1111, B1101, B0111, B1110, B1011, B1001, B0110, B0110, B1001, B0000, B0110, B0110, B0000, 10,
B1111 B1111 B1111, B1111, B1111, B1111, B1111, B1111, B1101, B0111, B1110, B1011, B1001, B0110, B0110, B1001, 10,
B1111 B1111 B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1101, B0111, B1110, B1011, 10,
B1111 B1111 B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, 10,
B1111 B1111 B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B1111, B1111, B1111, B1111, B1111, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111 B1111 B1111, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,

se trata de un elemento ficticio para el final de la tabla (duración = 0) aka!!! ¡ NO TOQUE!
B0000 B0000 B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 0
};

/*
** Definición de pines de matriz facilita cambiar cómo se cablea el cubo
** Ajustar números aquí hasta que parpadean en orden - L a R, T a B
** Nota que entradas analógicas 0-5 también son salidas digitales 14-19.
** Pin DigitalOut0 (serial RX) y AnalogIn5 se dejan abierta para futuras aplicaciones
*/

int LEDPin [] = {13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 14, 15};
int [] PlanePin = {16, 17, 18, 19};

inicialización de
void setup()
{
int pin; contador de bucle
configura pines del LED como salida (activo alto)
para (pin = 0; pin < PLANESIZE; pin ++) {}
pinMode (LEDPin [pin], salida);
}
configurar pines plano como salidas (activo bajo)
para (pin = 0; pin < CUBESIZE; pin ++) {}
pinMode (PlanePin [pin], salida);
}
}

muestra patrón en mesa hasta DisplayTime es cero (y repetir)
void loop()
{
declarar variables
byte PatternBuf [PLANESIZE]; guarda el patrón actual de PatternTable
int PatternIdx;
byte DisplayTime; tiempo * 100ms para mostrar configuración
EndTime largo sin firmar;
plano de int. contador de bucle para actualización de cubo
int patbufidx; índices que byte del buffer patrón
int ledrow; cuenta con LEDs en bucle de actualización
int ledcol; cuenta con LEDs en bucle de actualización
int ledpin; cuenta con LEDs en bucle de actualización

Inicializar PatternIdx al principio de la tabla patrón
PatternIdx = 0;
lazo sobre las entradas de tabla de patrón - mientras DisplayTime > 0
{}
Lee el patrón de PROGMEM y guardar en array
memcpy_P (PatternBuf, PatternTable + PatternIdx, PLANESIZE);
PatternIdx += PLANESIZE;
leer DisplayTime del índice PROGMEM y el incremento de
DisplayTime = pgm_read_byte_near (PatternTable + PatternIdx ++);
calcular EndTime del actual tiempo (ms) y DisplayTime
EndTime = millis() + ((unsigned long) DisplayTime) * TIMECONST;

bucle mientras DisplayTime > tiempo 0 y actual < EndTime
mientras que (millis() < EndTime) {}
patbufidx = 0; reiniciar contador de índice al principio del buffer
lazo sobre planos
para (plano = 0; plano < CUBESIZE; plano ++) {}
Apague el plano anterior
Si (plano == 0) {}
digitalWrite (PlanePin [CUBESIZE-1], alto);
} else {}
digitalWrite (PlanePin [plano-1], alto);
}

datos actuales de patrón plano de carga en puertos
ledPin = 0;
para (ledrow = 0; ledrow < CUBESIZE; ledrow ++) {}
para (ledcol = 0; ledcol < CUBESIZE; ledcol ++) {}
digitalWrite (LEDPin [ledpin ++], PatternBuf [patbufidx] & (1 << ledcol));
}
patbufidx ++;
}

encender el avión actual
digitalWrite (PlanePin [avión], LOW);
retrasar PLANETIME nos
delayMicroseconds (PLANETIME);
} / / avión
} / / mientras < EndTime
} mientras (DisplayTime > 0); leer patrones hasta el momento = 0 que indica el final
}

Artículos Relacionados

Cultivador de tomate cubierta - actualización de cubo

Cultivador de tomate cubierta - actualización de cubo

Hola a todos,Esta es la primera gran actualización para mi original post "interior tomate productor".en este instructable compartirá con usted los progresos realizados de mis plantas de tomate y también compartan con la pareja de mis consejos/tr
Actualización de gabinete de cocina con cristal

Actualización de gabinete de cocina con cristal

nuestros gabinetes de cocina son simples en diseño y se remontan a la construcción original de la casa, hace 25 años.  Hemos estado actualizando la cocina durante los últimos 15 años y cerca de un punto de llegada.  Pero hemos querido añadir un punto
Actualización luz de domo LED

Actualización luz de domo LED

¡ Odio a las bombillas incandescentes! También no me gusta pedir bombillas LED en línea. Así que estoy suerte de tener un Frys cerca por. Recogí unos 5 epoxi sellado 12v LED SMDPaso 1: Las partesTopes plásticos de caucho blando transparente (opcional
Como flashear la actualización de Firmware para ESP8266 con FTDI

Como flashear la actualización de Firmware para ESP8266 con FTDI

Hoy, voy a mostrarte cómo flash su ESP8266 con actualizaciones de firmware realmente rápidas y fáciles.La necesidad de la lista:1. ESP82662. FTDI con cable mini usb (ESP8266 requiere 3.3V al programa)3. pequeña protoboard con cables de pequeña cinta
Cubo LED 8 x 8 x 8

Cubo LED 8 x 8 x 8

pantalla 3D crear su propia 8 x 8 x 8 LED cubo!Creemos que este Instructable es la guía más completa paso a paso para construir un 8 x 8 x 8 que LED cubo publicado siempre en los intertubes. Le mostrará todo, desde la teoría de la operación, cómo con
Hacer una matriz de 8 x 10 L.E.D

Hacer una matriz de 8 x 10 L.E.D

actualización 1: he añadido juego del código para CONWAY de la vidaACTUALIZACIÓN 2: AHORA PUEDE GUARDAR ALGUNOS PINES DE ARDUINO CON LA AYUDA DEL REGISTRO DE CAMBIO DE 1.En este instructable le mostraré cómo crear una matriz de 8 bastante lujo por 10
Independiente 7 x 7 x 7 LED cubo

Independiente 7 x 7 x 7 LED cubo

Cubos de LED son verdaderas pantallas 3D que funcionan por puntos en un enrejado 3D de LEDs encendido.En la pantalla 3D puede producir unas animaciones realmente fascinantes. Este Instructable le guiará a través de la creación de un cubo de LED por t
MS office-más

MS office-más

este programa tipos de letras y números al azar en un documento de texto. Pero ten cuidado, se escriba en cualquier ventana es en la parte superior (no neccisarily el doccument previsto)Paso 1: El código... Abrir Bloc de notas (Inicio--> accesorios--
LED alarma Sunrise

LED alarma Sunrise

La capacidad para entender y controlar matrices de LED es una habilidad importante para quien pretende ser versado en la electrónica. La comprensión de los registros de cambio y fila exploración técnicas necesarias para tales hazañas será útil en muc
Actualización de LED lámpara Luxo Maginfying

Actualización de LED lámpara Luxo Maginfying

Tengo suerte de tener un suegro que era una vez un tinkerer dedicado como yo. En ocasiones, otorgará sobre mí una de sus preciadas herramientas "anticuados". Estas bajadas de paso son a menudo antiguos tesoros, que se han amado y apreciado por d
Antiguo reloj actualización

Antiguo reloj actualización

Hace unas semanas largas que compré, en un mercado de pulgas, un caso de reloj Ansonia fundición manto; tenía agallas, vidrio ni bisel pero, tenía estilo debajo de una tonelada de secado compuesto de frotamiento y la suciedad.Puesto que este reloj no
Reemplazar, actualización, reparación herramienta baterías - Ahorre 50% o más!

Reemplazar, actualización, reparación herramienta baterías - Ahorre 50% o más!

Este inescrutable le mostrará cómo reemplazar las baterías internas de un transformador sin cuerda.  Yo también lo ayudará determinar qué baterías necesita.Mi taladro inalámbrico ha sentado en la plataforma, inútil, porque las baterías están muertas.
Nerf Mega actualización de Magnus

Nerf Mega actualización de Magnus

Este Instructable cubrirá cómo actualizar tu Nerf Mega Magnus reemplazando el resorte, y quitar el Restrictor de aire. Nota: Si actualiza a un muelle de 15lb / 7kg, entonces no necesita quitar el Restrictor de aire, como un resorte que fuerte supera
Actualización para Windows XP SP3

Actualización para Windows XP SP3

26 de abril de 2008 actualización: completo el Service Pack 3 que la semana que viene, esta información es de lifehacker.com28 de abril de 2008 actualización: ese link no funciona supongo que creo que el segundo enlace es de aquí01 de julio de 2008 a