Cómo hacer un cubo de leds 4x4x4 con Arduino

Cómo hacer un cubo de leds 4x4x4 con Arduino- Arduino, Proyectos

Este cubo LED utiliza un microcontrolador Arduino Uno para crear un espectáculo de luces en movimiento muy espectacular. Para realizar este proyecto con éxito la paciencia es una de las claves, si sigue el tutorial paso a paso no tendrá ningún problema en desarrollarlo.

Por último, lo más importante en este proyecto es que te diviertas .

¿qué vamos a necesitar?

  • Arduino Uno (yo he usado Arduino Duemilanove)
  • Cable rígido para unir los diodos en el cubo
  • 64 diodos led (yo usé diodos leds azules)
  • 16 resistencias de 220 Ohmios
  • Pinzas de cocodrilo
  • Un trozo de porexpan
  • Cables de conexión y placas Board para montar el circuito.
  • Alicates de corte y punta plana de precisión.

El diseño

Antes de comenzar la construcción, es importante tener una visión completa de cómo va a funcionar, para que pueda improvisar e identificar los errores a medida que avanzas. Necesitamos controlar los 64 leds del cubo con tan solo 20 pin de la placa de arduno, vamos a estar utilizando una técnica denominada multiplexación. Rompemos el cubo en cuatro capas separadas por lo que sólo necesitamos pines de control para 16 LEDs – de modo para encender un LED específico, debemos activar tanto la capa , y el pin de control , que nos da una necesidad total de 16 +4 pines. Cada capa tiene un cátodo común – la parte negativa del circuito – así que todas las patas negativas se unen entre sí , y se conecta a un solo pin para esa capa .

En el lado (positivo ) de ánodo , cada LED se puede conectar a la correspondiente LED en la capa por encima y por debajo de ella . En esencia , tenemos 16 columnas de las patas positivas y 4 capas de la negativa. El siguiente diagrama en 3D muestra perfectamente la idea :

structural-diagram1

La construcción

Lo primero es tomar el trozo de porexpan y pegar en él la plantilla para poder armar el cubo. A continuación ya podemos ir doblando los cátodos (piernas cortas) de los LED 90 grados y luego soldar a todos juntos para formar un cátodo común. Cada una de las cuatro capas contará con un cátodo común y 16 ánodos individuales (piernas largas).

foto-20-05-13-18-32-43

foto-20-05-13-19-28-58

Debes doblar todas los cátodos de los Leds de manera uniforme, yo me ha ayudado de unos alicates de precisión pequeños, como los de la imagen. Con un poco de paciencia voy soldando de cuatro en cuatro los catodos de los diodos.

El siguiente paso es utilizar un cable para conectar las cuatro filas juntos en una capa, se podría utilizar cuatro tiras de alambre por capa, pero en realidad sólo se necesitan dos iguales – una tras la primera tira de LEDs y un segundo antes de la última tira de LEDs. Yo he usado tres tiras por capa para dar una mayor sensación de cubo unido, en la imagen de abajo podrás observar como quedaría cada capa con un cátodo común y 16 ánodos individuales.

Asegúrese de recortar cualquier exceso de cable colgando sobre el borde de su cubo , también puedes recortar los cuatro cátodos que sobresalen del borde de la capa.

Recuerda que en las soldaduras debes usar el menor contacto y tan poco de soldadura como sea posible. Recuerde, más estaño en cada soldadura no es sinónimo de mayor fuerza en la unión, al contrario podría dar problemas más adelante.

Soldando las cuatro capas.

Ahora que tenemos las cuatro capas individuales, vamos a soldarlas entre si para formar el cubo. Vamos a hacer esto al unir los 16 ánodos de cada capa juntos para que nos quedamos con 16 ánodos comunes y 4 cátodos comunes.

Lo primero que debe hacer es doblar el último mm de cada ánodo hacia el centro del LED, esto le ayudará a unir las capas entre sí. Sólo tiene que hacer esto con tres de sus capas superiores.cube-bend-anode
A partir de aquí tendremos que darnos maña para completar la tarea, podeis usar:

  1. Separdores de cartón entre capas para facilitar la tarea de soldar los 16 ánodos.
  2. Usar pinzas de cocodrilo para sujetar las capas mientras las sueldo.

Mi consejo es que soldar los ánodos de las esquinas juntos primero. Repita esto para las dos capas restantes y su cubo estará completo.foto-21-05-13-20-35-24

Conexionado y Programa en Arduino

Bueno vamos ahora al conexionado del cubo a la placa arduino y posterior programación, Usamoa las placas board para pinchar el cubo, y conectamos a cada uno de los 16 ánodos cómunes una resistencia de 220 Oh, que a su vez se conectarán a los puertos de Arduino, como se muestran en el gráfico siguiente. A su vez cada capa que forman los cátodos comunes se conectarán a los puertos A2. A3, A4 y A5.

conexion-anodos

foto-21-05-13-23-04-27

Una vez realizadas las conexiones me puedo descargar cualquiera de los dos programas adjuntos, cada uno de ellos muestran animaciones diferentes.

foto-23-01-14-15-42-47

Si usted desea hacer sus propias animaciones , sigue leyendo y voy a explicar cómo funciona.

Así , cuando se abrió el código en el software de Arduino, te habrás dado cuenta de la gran bloque de código en el medio que parecía un poco a esto.

cubecode1

Este gran bloque de código en el medio es donde se desarrollan los patrones de encendio de los leds del cubo. La manera más fácil de pensar en ella es como una animación . Cada cambio en el cubo representa un fotograma de la animación, y cada línea de código representa un fotograma.

En cada línea hay 64 bits de 1 y 0 , se dividió en 16 bloques de 4 bits cada uno, los cuatro primeros nibbles (cuartetos de bits) corresponden a la capa 1, los siguientes a la capa 2 y asi hasta la cuatro. Si hay un 1, entonces eso significa que un LED se encendió, si hay un 0, entonces no va a lucir.

Por ejemplo si tenemos esta línea:

B1000,B1000,B1000,B1000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10,

He separado por colores cada capa, de forma que el color negro corresponde a la capa 1(la inferior), la rojo a la dos, verde tres y azul la cuarta capa. Bien en las capas 2, 3 y 4 todo está a cero significa que todos los leds de esas capas están apagados, sin embargo si observamos la capa 1 (la inferior) vemos que está encendido el primer led de cada nibble (cuarteto), lo que quiere decir que lucirán los leds de la fila inferior del fondo. El último valor de la fila indica el tiempo que permanece la secuencia.

foto-23-01-14-09-35-40

Trata de probar con sus propias animaciones, mi consejo es utilizar los comentarios para darse un recordatorio de lo que hace cada animación. Usted puede escribir un comentario en el programa escribiendo «/ /» y luego el comentario.

foto-21-05-13-23-44-35-1

En esta web: http://www.robota.nl/en/blog/led-cube-4x4x4-pattern-designer/led-cube-simulation-and-pattern-generator.html puedes hacerte tus propios patrones de encendido de los leds, con un poco de paciencia e imaginación, pueden quedar unos resultados espectaculares, si quieres en los comentarios puedes enviar los tuyos para que los podamos probar.

Fuentes:

  • [http://www.techmadeeasy.co.uk/2013/01/21/make-your-own-4x4x4-led-cube-with-an-arduino/]
  • [http://www.makeuseof.com/tag/how-to-make-a-pulsating-arduino-led-cube-that-looks-like-it-came-from-the-future/]

Archivos adjuntos

61 comentarios en «Cómo hacer un cubo de leds 4x4x4 con Arduino»

  1. aca les dejo la corrección del codígo después de hora lo arregle
    #include // allows use of PROGMEM to store patterns in flash

    #define CUBESIZE 4
    #define PLANESIZE CUBESIZE*CUBESIZE
    #define PLANETIME 3333 // time each plane is displayed in us -> 100 Hz refresh
    #define TIMECONST 20 // multiplies DisplayTime to get ms – why not =100?

    // LED Pattern Table in PROGMEM – last column is display time in 100ms units
    // TODO this could be a lot more compact but not with binary pattern representation
    const unsigned char PROGMEM PatternTable[] = {
    // blink on and off

    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,
    B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,10,
    B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,10,
    B0001,B0000,B0000,B0000,B0000,B0000,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,
    B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0000,B0000,B0000,B0000,10,
    B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,10,
    B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0000,B0000,B0000,B0000,10,
    B0011,B0011,B0000,B0000,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1100,B1100,B0000,B0000,B1100,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,10,
    B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,10,
    B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,10,
    B1100,B1100,B0000,B0000,B1100,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B1000,B0000,B0000,B0000,B0000,B0000,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,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B1100,B1100,B0000,B0000,B1100,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B0000,B0000,B0000,10,
    B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,10,
    B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B1100,B1100,B0000,B0000,B1100,B1100,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,B0000,B0100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0011,B0011,B0000,B0000,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0000,B0000,B0000,10,
    B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,10,
    B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0011,B0011,B0000,B0000,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0001,B0001,B0000,B0000,B0001,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0001,B0001,B0001,B0000,B0001,B0001,B0001,B0000,B0001,B0001,B0001,B0000,B0000,B0000,B0000,10,
    B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,10,
    B0000,B0000,B0000,B0000,B0001,B0001,B0001,B0000,B0001,B0001,B0001,B0000,B0001,B0001,B0001,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0001,B0000,B0000,B0001,B0001,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0011,B0000,B0000,B0000,B0011,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0111,B0000,B0000,B0000,B0111,B0000,B0000,B0000,B0111,B0000,B0000,B0000,10,
    B1111,B0000,B0000,B0000,B1111,B0000,B0000,B0000,B1111,B0000,B0000,B0000,B1111,B0000,B0000,B0000,10,
    B1110,B0000,B0000,B0000,B1110,B0000,B0000,B0000,B1110,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1100,B0000,B0000,B0000,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B1000,B0000,B0000,B1000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B1000,B1000,B0000,B1000,B1000,B1000,B0000,B1000,B1000,B1000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,10,
    B0000,B0000,B0000,B0000,B0000,B1000,B1000,B1000,B0000,B1000,B1000,B1000,B0000,B1000,B1000,B1000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B1000,B0000,B0000,B1000,B1000,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,B1100,B0000,B0000,B0000,B1100,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1110,B0000,B0000,B0000,B1110,B0000,B0000,B0000,B1110,10,
    B0000,B0000,B0000,B1111,B0000,B0000,B0000,B1111,B0000,B0000,B0000,B1111,B0000,B0000,B0000,B1111,10,
    B0000,B0000,B0000,B0111,B0000,B0000,B0000,B0111,B0000,B0000,B0000,B0111,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0011,B0000,B0000,B0000,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0111,B0111,B0011,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0111,B0111,B0111,10,

    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1111,B1111,B1111,B1111,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0000,B0000,B0000,B1101,B1111,B1111,B1111,10,
    B0000,B0000,B0000,B0000,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1101,B1111,B1111,B1111,10,
    B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1101,B1111,B1111,B1111,10,
    B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B1101,B1111,B1111,B0111,10,
    B0010,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B1101,B1111,B1111,B0111,10,
    B0010,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1101,B1111,B1111,B0111,10,
    B0010,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0100,B0000,B1101,B1111,B1011,B0111,10,
    B0010,B0000,B0000,B1000,B0000,B0000,B0100,B0000,B0000,B0000,B0000,B0000,B1101,B1111,B1011,B0111,10,
    B0010,B0000,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1101,B1111,B1011,B0111,10,
    B0010,B0000,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0000,B1101,B1110,B1011,B0111,10,
    B0010,B0000,B0100,B1000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B1101,B1110,B1011,B0111,10,
    B0010,B0001,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1101,B1110,B1011,B0111,10,
    B0010,B0001,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B0000,B1101,B0110,B1011,B0111,10,
    B0010,B0001,B0100,B1000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B1101,B0110,B1011,B0111,10,
    B0010,B1001,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1101,B0110,B1011,B0111,10,
    B0010,B1001,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B1101,B0110,B1011,B0110,10,
    B0010,B1001,B0100,B1000,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B1101,B0110,B1011,B0110,10,
    B0010,B1001,B0100,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1101,B0110,B1011,B0110,10,
    B0010,B1001,B0100,B1001,B0000,B0000,B0000,B0000,B1000,B0000,B0000,B0000,B0101,B0110,B1011,B0110,10,
    B0010,B1001,B0100,B1001,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0101,B0110,B1011,B0110,10,
    B1010,B1001,B0100,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0101,B0110,B1011,B0110,10,
    B1010,B1001,B0100,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0101,B0110,B1010,B0110,10,
    B1010,B1001,B0100,B1001,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0101,B0110,B1010,B0110,10,
    B1010,B1001,B0101,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0101,B0110,B1010,B0110,10,
    B1010,B1001,B0101,B1001,B0000,B0000,B0000,B0000,B0100,B0000,B0000,B0000,B0001,B0110,B1010,B0110,10,
    B1010,B1001,B0101,B1001,B0100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0110,B1010,B0110,10,
    B1110,B1001,B0101,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0110,B1010,B0110,10,
    B1110,B1001,B0101,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0001,B0110,B1010,B0100,10,
    B1110,B1001,B0101,B1001,B0000,B0000,B0000,B0010,B0000,B0000,B0000,B0000,B0001,B0110,B1010,B0100,10,
    B1110,B1001,B0101,B1011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0110,B1010,B0100,10,
    B1110,B1001,B0101,B1011,B0000,B0000,B0000,B0000,B0000,B0100,B0000,B0000,B0001,B0010,B1010,B0100,10,
    B1110,B1001,B0101,B1011,B0000,B0100,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B1010,B0100,10,
    B1110,B1101,B0101,B1011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B1010,B0100,10,
    B1110,B1101,B0101,B1011,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B0001,B0010,B0010,B0100,10,
    B1110,B1101,B0101,B1011,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0010,B0100,10,
    B1110,B1101,B1101,B1011,B0000,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0010,B0010,B0100,10,
    B1110,B1101,B1101,B1011,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0010,B0100,10,
    B1111,B1101,B1101,B1011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0010,B0100,10,
    B1111,B1101,B1101,B1011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0100,B0000,B0010,B0010,B0000,10,
    B1111,B1101,B1101,B1011,B0000,B0000,B0000,B0100,B0000,B0000,B0000,B0000,B0000,B0010,B0010,B0000,10,
    B1111,B1101,B1101,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0010,B0000,10,
    B1111,B1101,B1101,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0000,B0000,B0010,B0000,B0000,10,
    B1111,B1101,B1101,B1111,B0000,B0000,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0000,B0000,10,
    B1111,B1101,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0000,B0000,10,
    B1111,B1101,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0010,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1111,B1101,B1111,B1111,B0000,B0010,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,
    B1110,B1111,B1111,B0111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1100,B1100,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0100,B1000,B0001,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0101,B1010,B0100,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0011,B0111,B0111,B1100,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,
    B1110,B1111,B1111,B0111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1100,B1100,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0100,B1000,B0001,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0101,B1010,B0100,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0011,B0111,B0111,B1100,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,
    B1110,B1111,B1111,B0111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1100,B1100,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0100,B1000,B0001,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0101,B1010,B0100,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0011,B0111,B0111,B1100,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,
    B1110,B1111,B1111,B0111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1100,B1100,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0100,B1000,B0001,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0101,B1010,B0100,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,10,
    B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0011,B0111,B0111,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0011,B0111,B1110,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0111,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,
    B1110,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1100,B1110,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B1000,B1100,B1110,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B1000,B1100,B1110,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B1000,B1100,B0000,B0000,B0000,B0000,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,B0000,B0000,B0000,B0000,B1000,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B1010,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B0000,B1001,10,
    B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0100,B0000,B0101,B0000,B0000,B0000,B0000,B0000,10,
    B0000,B0000,B0000,B0000,B0010,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,
    B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,10,

    // this is a dummy element for end of table (duration=0) aka !!!DO NOT TOUCH!!!
    B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 0
    };

    /*
    ** Defining pins in array makes it easier to rearrange how cube is wired
    ** Adjust numbers here until LEDs flash in order – L to R, T to B
    ** Note that analog inputs 0-5 are also digital outputs 14-19!
    ** Pin DigitalOut0 (serial RX) and AnalogIn5 are left open for future apps
    */

    int LEDPin[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1};
    int PlanePin[] = {A2, A3, A4, A5};

    // initialization
    void setup()
    {
    int pin; // loop counter
    // set up LED pins as output (active HIGH)
    for (pin=0; pin<13; pin++) {
    pinMode( LEDPin[pin], OUTPUT );
    }
    pinMode(A0,OUTPUT);
    pinMode(A1,OUTPUT);
    // set up plane pins as outputs (active LOW)
    /*for (pin=0; pin0
    do {
    // read pattern from PROGMEM and save in array
    memcpy_P( PatternBuf, PatternTable+PatternIdx, PLANESIZE );
    PatternIdx += PLANESIZE;
    // read DisplayTime from PROGMEM and increment index
    DisplayTime = pgm_read_byte_near( PatternTable + PatternIdx++ );
    // compute EndTime from current time (ms) and DisplayTime
    EndTime = millis() + ((unsigned long) DisplayTime) * TIMECONST;

    // loop while DisplayTime>0 and current time < EndTime
    while ( millis() < EndTime ) {
    patbufidx = 0; // reset index counter to beginning of buffer
    // loop over planes
    for (plane=0; plane<CUBESIZE; plane++) {
    // turn previous plane off
    if (plane==0) {
    digitalWrite( PlanePin[CUBESIZE-1], HIGH );
    } else {
    digitalWrite( PlanePin[plane-1], HIGH );
    }

    // load current plane pattern data into ports
    ledpin = 0;
    for (ledrow=0; ledrow<CUBESIZE; ledrow++) {
    for (ledcol=0; ledcol<CUBESIZE; ledcol++) {
    digitalWrite( LEDPin[ledpin++], PatternBuf[patbufidx] & (1 << ledcol) );
    }
    patbufidx++;
    }

    // turn current plane on
    digitalWrite( PlanePin[plane], LOW );
    // delay PLANETIME us
    delayMicroseconds( PLANETIME );
    } // for plane
    } // while 0); // read patterns until time=0 which signals end
    }

  2. DISCULPEN ALGUIEN ME PUDE AYUDAR ESQUE TENGO UN ERROR ……… GRACIAS

    #include // allows use of PROGMEM to store patterns in flash

    #define CUBESIZE 4
    #define PLANESIZE CUBESIZE*CUBESIZE
    #define PLANETIME 3333 // time each plane is displayed in us -> 100 Hz refresh
    #define TIMECONST 20 // multiplies DisplayTime to get ms – why not =100?

    prog_uchar PROGMEM PatternTable[] = {
    // blink on and off

    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 100,

    // circle full layer at bottom
    B0000,B0000,B0100,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B0000,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B0010,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B0110,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B1110,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B1110,B1110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B1110,B1110,B1000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B1110,B1110,B1100, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B1110,B1110,B1110, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B1110,B1110,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B1110,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0000,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0001,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0011,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B0111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    B1111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,

    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 20,
    // circle full layer at bottom
    B0000,B0000,B0100,B0000, B0000,B0000,B0100,B0000, B0000,B0000,B0100,B0000, B0000,B0000,B0100,B0000, 10,
    B0000,B0000,B0110,B0000, B0000,B0000,B0110,B0000, B0000,B0000,B0110,B0000, B0000,B0000,B0110,B0000, 10,
    B0000,B0010,B0110,B0000, B0000,B0010,B0110,B0000, B0000,B0010,B0110,B0000, B0000,B0010,B0110,B0000, 10,
    B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, 10,
    B0000,B1110,B0110,B0000, B0000,B1110,B0110,B0000, B0000,B1110,B0110,B0000, B0000,B1110,B0110,B0000, 10,
    B0000,B1110,B1110,B0000, B0000,B1110,B1110,B0000, B0000,B1110,B1110,B0000, B0000,B1110,B1110,B0000, 10,
    B0000,B1110,B1110,B1000, B0000,B1110,B1110,B1000, B0000,B1110,B1110,B1000, B0000,B1110,B1110,B1000, 10,
    B0000,B1110,B1110,B1100, B0000,B1110,B1110,B1100, B0000,B1110,B1110,B1100, B0000,B1110,B1110,B1100, 10,
    B0000,B1110,B1110,B1110, B0000,B1110,B1110,B1110, B0000,B1110,B1110,B1110, B0000,B1110,B1110,B1110, 10,
    B0000,B1110,B1110,B1111, B0000,B1110,B1110,B1111, B0000,B1110,B1110,B1111, B0000,B1110,B1110,B1111, 10,
    B0000,B1110,B1111,B1111, B0000,B1110,B1111,B1111, B0000,B1110,B1111,B1111, B0000,B1110,B1111,B1111, 10,
    B0000,B1111,B1111,B1111, B0000,B1111,B1111,B1111, B0000,B1111,B1111,B1111, B0000,B1111,B1111,B1111, 10,
    B0001,B1111,B1111,B1111, B0001,B1111,B1111,B1111, B0001,B1111,B1111,B1111, B0001,B1111,B1111,B1111, 10,
    B0011,B1111,B1111,B1111, B0011,B1111,B1111,B1111, B0011,B1111,B1111,B1111, B0011,B1111,B1111,B1111, 10,
    B0111,B1111,B1111,B1111, B0111,B1111,B1111,B1111, B0111,B1111,B1111,B1111, B0111,B1111,B1111,B1111, 10,
    B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, 10,

    // loop all borders around
    B1111,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 5,
    B0000,B1111,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 5,
    B0000,B0000,B1111,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 5,
    B0000,B0000,B0000,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 5,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 5,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B1111, B0000,B0000,B0000,B0000, 5,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B1111, 5,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B1111,B0000, 5,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1111,B0000,B0000, 5,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1111,B0000,B0000,B0000, 5,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1111,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 5,
    B0000,B0000,B0000,B0000, B1111,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 5,

    // and again
    B1111,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 2,
    B0000,B1111,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 2,
    B0000,B0000,B1111,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 2,
    B0000,B0000,B0000,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 2,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 2,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B1111, B0000,B0000,B0000,B0000, 2,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B1111, 2,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B1111,B0000, 2,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1111,B0000,B0000, 2,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1111,B0000,B0000,B0000, 2,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1111,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 2,
    B0000,B0000,B0000,B0000, B1111,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 2,
    B1111,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 2,

    // all borders
    B1111,B1001,B1001,B1111, B1001,B0000,B0000,B1001, B1001,B0000,B0000,B1001, B1111,B1001,B1001,B1111, 10,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10,
    B1111,B1001,B1001,B1111, B1001,B0000,B0000,B1001, B1001,B0000,B0000,B1001, B1111,B1001,B1001,B1111, 10,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10,
    B1111,B1001,B1001,B1111, B1001,B0000,B0000,B1001, B1001,B0000,B0000,B1001, B1111,B1001,B1001,B1111, 10,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10,
    // all borders fall down from back top to front bottom
    B1111,B1001,B1001,B1111, B1001,B0000,B0000,B1001, B1001,B0000,B0000,B1001, B1111,B1001,B1001,B1111, 100,
    B1111,B1001,B1001,B1111, B1001,B0000,B0000,B1001, B1111,B0000,B0000,B1001, B0000,B1111,B1001,B1111, 8,
    B1111,B1001,B1001,B1111, B1111,B0000,B0000,B1001, B0000,B1111,B0000,B1001, B0000,B0000,B1111,B1111, 8,
    B1111,B1001,B1001,B1111, B0000,B1111,B0000,B1001, B0000,B0000,B1111,B1001, B0000,B0000,B0000,B1111, 8,
    B0000,B1111,B1001,B1111, B0000,B0000,B1111,B1001, B0000,B0000,B0000,B1111, B0000,B0000,B0000,B0000, 8,
    B0000,B0000,B1111,B1111, B0000,B0000,B0000,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 8,
    B0000,B0000,B0000,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 8,

    // 4 at the time to make a block
    B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10, // left bottom front
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, 10, // right top, back
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, 10, // right top, front
    B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10, // left bottom, back
    B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10, // right bottom front
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, 10, // left top, back
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, 10, // left top, front
    B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10, // right bottom, back

    // rotate corner 4 leds
    B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, 20, // left bottom front and right top, back
    B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, 20, // right bottom front and left top, back
    B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, 20, // left top, front and right bottom, back
    B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, 20, // left bottom, back and right top, front

    B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, 15, // left bottom front and right top, back
    B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, 15, // right bottom front and left top, back
    B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, 15, // left top, front and right bottom, back
    B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, 15, // left bottom, back and right top, front

    B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, 10, // left bottom front and right top, back
    B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, 10, // right bottom front and left top, back
    B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, 10, // left top, front and right bottom, back
    B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, 10, // left bottom, back and right top, front

    B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, 7, // left bottom front and right top, back
    B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, 7, // right bottom front and left top, back
    B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, 7, // left top, front and right bottom, back
    B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, 7, // left bottom, back and right top, front

    B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, 5, // left bottom front and right top, back
    B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, 5, // right bottom front and left top, back
    B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, 5, // left top, front and right bottom, back
    B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, 5, // left bottom, back and right top, front

    B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, 2, // left bottom front and right top, back
    B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, 2, // right bottom front and left top, back
    B1100,B1100,B0000,B0000, B1100,B1100,B0000,B0000, B0000,B0000,B0011,B0011, B0000,B0000,B0011,B0011, 2, // left top, front and right bottom, back
    B0011,B0011,B0000,B0000, B0011,B0011,B0000,B0000, B0000,B0000,B1100,B1100, B0000,B0000,B1100,B1100, 2, // left bottom, back and right top, front

    // bottom layer, to top though middle
    B1111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 30,
    B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, 2,
    B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, 2,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, 2,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, 2,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1111,B1111,B1111,B1111, 20,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10,

    // loop top and bottom corners
    B0100,B0000,B0000,B0010, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0100,B0000,B0000,B0010, 5,
    B0010,B0000,B0000,B0100, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0010,B0000,B0000,B0100, 5,
    B0001,B0000,B0000,B1000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0001,B0000,B0000,B1000, 5,
    B0000,B0001,B1000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0001,B1000,B0000, 5,
    B0000,B1000,B0001,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1000,B0001,B0000, 5,
    B1000,B0000,B0000,B0001, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1000,B0000,B0000,B0001, 5,

    // again
    B0100,B0000,B0000,B0010, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0100,B0000,B0000,B0010, 5,
    B0010,B0000,B0000,B0100, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0010,B0000,B0000,B0100, 5,
    B0001,B0000,B0000,B1000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0001,B0000,B0000,B1000, 5,
    B0000,B0001,B1000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0001,B1000,B0000, 5,
    B0000,B1000,B0001,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1000,B0001,B0000, 5,
    B1000,B0000,B0000,B0001, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1000,B0000,B0000,B0001, 5,

    // loop up and down full layer
    B1111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10,
    B0001,B0000,B0000,B0000, B1111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10,
    B0001,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, 10,
    B0001,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1111,B1111,B1111,B1111, 10,
    B0001,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, 10,
    B0001,B0000,B0000,B0000, 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,

    // loop left and right full layer
    B0001,B0001,B0001,B0001, B0001,B0001,B0001,B0001, B0001,B0001,B0001,B0001, B0001,B0001,B0001,B0001, 10,
    B0010,B0010,B0010,B0010, B0010,B0010,B0010,B0010, B0010,B0010,B0010,B0010, B0010,B0010,B0010,B0010, 10,
    B0100,B0100,B0100,B0100, B0100,B0100,B0100,B0100, B0100,B0100,B0100,B0100, B0100,B0100,B0100,B0100, 10,
    B1000,B1000,B1000,B1000, B1000,B1000,B1000,B1000, B1000,B1000,B1000,B1000, B1000,B1000,B1000,B1000, 10,
    B0100,B0100,B0100,B0100, B0100,B0100,B0100,B0100, B0100,B0100,B0100,B0100, B0100,B0100,B0100,B0100, 10,
    B0010,B0010,B0010,B0010, B0010,B0010,B0010,B0010, B0010,B0010,B0010,B0010, B0010,B0010,B0010,B0010, 10,
    B0001,B0001,B0001,B0001, B0001,B0001,B0001,B0001, B0001,B0001,B0001,B0001, B0001,B0001,B0001,B0001, 10,

    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 10,
    B0001,B0001,B0001,B0001, B0001,B0001,B0001,B0001, B0001,B0001,B0001,B0001, B0001,B0001,B0001,B0001, 10,
    B1001,B1001,B1001,B1001, B1001,B1001,B1001,B1001, B1001,B1001,B1001,B1001, B1001,B1001,B1001,B1001, 10,
    B1111,B1111,B1111,B1111, B1001,B1001,B1001,B1001, B1001,B1001,B1001,B1001, B1001,B1001,B1001,B1001, 10,
    B1111,B1111,B1111,B1111, B1001,B1001,B1001,B1001, B1001,B1001,B1001,B1001, B1111,B1111,B1111,B1111, 10,
    B1111,B1111,B1111,B1111, B1111,B1001,B1001,B1111, B1111,B1001,B1001,B1111, B1111,B1111,B1111,B1111, 10,
    B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, B0000,B0000,B0000,B0000, 10,

    // outer cube, inner cube
    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,
    B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, B0000,B0000,B0000,B0000, 10,
    B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, 10,
    B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, B0000,B0000,B0000,B0000, 10,
    B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, 10,
    B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, B0000,B0000,B0000,B0000, 10,
    B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, B1111,B1111,B1111,B1111, 10,
    B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, B0000,B0110,B0110,B0000, B0000,B0000,B0000,B0000, 10,

    // circle layer by layer bottom to top
    B0000,B0000,B0100,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0010,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0110,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B1110,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B1110,B1110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B1110,B1110,B1000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B1110,B1110,B1100, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B1110,B1110,B1110, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B1110,B1110,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B1110,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0001,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0011,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B1111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,

    B0000,B0000,B0000,B0000, B0000,B0000,B0100,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0010,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B1110,B0110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B1110,B1110,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1100, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1110, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B1110,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0001,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0011,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B1111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, 6,

    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0100,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0110,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0010,B0110,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B0110,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1110,B0000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1000, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1100, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1110, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1111, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1111,B1111, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1111,B1111,B1111, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0001,B1111,B1111,B1111, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0011,B1111,B1111,B1111, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1111,B1111,B1111,B1111, B0000,B0000,B0000,B0000, 6,

    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0100,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0110,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0010,B0110,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0110,B0110,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B0110,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1110,B0000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1000, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1100, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1110, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1110,B1111, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1110,B1111,B1111, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B1111,B1111,B1111, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0001,B1111,B1111,B1111, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0011,B1111,B1111,B1111, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0111,B1111,B1111,B1111, 6,
    B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B0000,B0000,B0000,B0000, B1111,B1111,B1111,B1111, 6,

    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, 8,
    B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, 8,
    B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, 8,
    B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, 8,
    B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, 8,
    B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, 8,
    B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, 8,
    B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, 8,
    B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, 8,
    B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, 8,
    B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, 8,
    B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, 8,
    B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, 8,
    B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, 8,
    B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, 7,
    B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, 7,
    B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, 7,
    B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, 7,
    B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, 7,
    B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, 7,
    B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, 7,
    B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, 7,
    B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, 7,
    B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, 7,
    B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, 6,
    B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, 6,
    B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, 6,
    B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, 6,
    B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, 6,
    B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, 6,
    B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, 6,
    B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, 6,
    B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, 6,
    B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, 6,
    B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, 6,
    B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, 6,
    B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, 6,
    B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, 6,
    B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, 5,
    B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, B0000,B0011,B1100,B0000, 5,
    B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, B0001,B0010,B0100,B1000, 5,
    B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, B0010,B0010,B0100,B0100, 5,
    B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, B0100,B0100,B0010,B0010, 5,
    B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, B1000,B0100,B0010,B0001, 5,
    B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, B0000,B1100,B0011,B0000, 5,

    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,

    // this is a dummy element for end of table (duration=0) aka !!!DO NOT TOUCH!!!
    B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 0
    };

    /*
    ** Defining pins in array makes it easier to rearrange how cube is wired
    ** Adjust numbers here until LEDs flash in order – L to R, T to B
    ** Note that analog inputs 0-5 are also digital outputs 14-19!
    ** Pin DigitalOut0 (serial RX) and AnalogIn5 are left open for future apps
    */

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

    // initialization
    void setup()
    {
    int pin; // loop counter
    // set up LED pins as output (active HIGH)
    for (pin=0; pin<PLANESIZE; pin++) {
    pinMode( LEDPin[pin], OUTPUT );
    }
    // set up plane pins as outputs (active LOW)
    for (pin=0; pin0
    do {
    // read pattern from PROGMEM and save in array
    memcpy_P( PatternBuf, PatternTable+PatternIdx, PLANESIZE );
    PatternIdx += PLANESIZE;
    // read DisplayTime from PROGMEM and increment index
    DisplayTime = pgm_read_byte_near( PatternTable + PatternIdx++ );
    // compute EndTime from current time (ms) and DisplayTime
    EndTime = millis() + ((unsigned long) DisplayTime) * TIMECONST;

    // loop while DisplayTime>0 and current time < EndTime
    while ( millis() < EndTime ) {
    patbufidx = 0; // reset index counter to beginning of buffer
    // loop over planes
    for (plane=0; plane<CUBESIZE; plane++) {
    // turn previous plane off
    if (plane==0) {
    digitalWrite( PlanePin[CUBESIZE-1], HIGH );
    } else {
    digitalWrite( PlanePin[plane-1], HIGH );
    }

    // load current plane pattern data into ports
    ledpin = 0;
    for (ledrow=0; ledrow<CUBESIZE; ledrow++) {
    for (ledcol=0; ledcol<CUBESIZE; ledcol++) {
    digitalWrite( LEDPin[ledpin++], PatternBuf[patbufidx] & (1 << ledcol) );
    }
    patbufidx++;
    }

    // turn current plane on
    digitalWrite( PlanePin[plane], LOW );
    // delay PLANETIME us
    delayMicroseconds( PLANETIME );
    } // for plane
    } // while 0); // read patterns until time=0 which signals end
    }

  3. disculpe hice todo el cubo y funciona pero solo por lineas se encienden por sus nodos no se si me entienda y le pongo los a2 a3 a4 y a si y no se miran por separado las luces en que falle?

  4. hola lo he conectado todo como lo tiene, pero no se enciende ningún led, a que se puede deber? gracias por este proyecto y detallado cuando este funcionando el mio sera mejor aun

  5. Hola buenas, he hecho tu proyecto pero a la hora de pasarme el programa me da este error:
    «prog_uchar» does not name a type
    No encuentro solución, necesito ayuda
    Gracias

    1. el código tiene 2 errores no te complicare las cosas donde te da error pon esto

      (const unsigned char PROGMEM )

      sin los paren-tisis, y el código esta para un arduino mega los pines son diferentes estos estan para un arduino uno o leonardo debes cambiarlos

      int LEDPin[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1};
      int PlanePin[] = {A2, A3, A4, A5};

  6. AYUDA PORFA!!!

    ¿Saben que es este error?

    Arduino:1.6.7 (Windows 8.1), Placa:»Arduino/Genuino Uno»

    led4:10: error: ‘prog_uchar’ does not name a type

    prog_uchar PROGMEM PatternTable[] = {

    ^

    C:\Users\luis_jose7\Documents\Arduino\led4\led4.ino: In function ‘void loop()’:

    led4:447: error: ‘PatternTable’ was not declared in this scope

    memcpy_P( PatternBuf, PatternTable+PatternIdx, PLANESIZE );

    ^

    exit status 1
    ‘prog_uchar’ does not name a type

    Este informe podría tener más información con
    «Mostrar salida detallada durante la compilación»
    activala desde Archivo > Preferencias

  7. Buenas noches gracias por aportar esta información, tu tendrás el circuito de como crear un cubo como este pero de 16x16x16… le agradezco mucho si me lo pasaran es para un proyecto de estudio.

  8. como arreglo este problema en la programacion???
    El Sketch usa 7.956 bytes (24%) del espacio de almacenamiento de programa. El máximo es 32.256 bytes.
    Las variables Globales usan 49 bytes (2%) de la memoria dinámica, dejando 1.999 bytes para las variables locales. El máximo es 2.048 bytes.
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

  9. sketch_oct30b:9: error: ‘prog_uchar’ does not name a type

    prog_uchar PROGMEM PatternTable[] = {

    ^

    C:\Users\Dany\Documents\Arduino\sketch_oct30b\sketch_oct30b.ino: In function ‘void loop()’:

    sketch_oct30b:316: error: ‘PatternTable’ was not declared in this scope

    memcpy_P( PatternBuf, PatternTable+PatternIdx, PLANESIZE );

    ^

    exit status 1
    ‘prog_uchar’ does not name a type

  10. saludos
    agradeseria mucho si me pudieran ayudar
    al compilar me sale errores en la programacion

    que puedo hacer si me sale esto:
    memcpy_P( PatternBuf, PatternTable+PatternIdx, PLANESIZE );

  11. hola estoy realizando este proyecto pero me sale estos errores (que puedo hacer en este caso)

    In file included from C:\Program Files (x86)\arduino-nightly\hardware\arduino\avr\cores\arduino/Arduino.h:32:0,
    from sketch_jul07a.ino:10:
    C:\Program Files (x86)\arduino-nightly\hardware\arduino\avr\cores\arduino/binary.h:34:15: error: expected initializer before numeric constant
    #define B0001 1
    ^
    sketch_jul07a.ino:13:1: note: in expansion of macro ‘B0001’
    sketch_jul07a.ino: In function ‘void loop()’:
    sketch_jul07a:447: error: ‘PatternTable’ was not declared in this scope
    ‘PatternTable’ was not declared in this scope

  12. Hola,

    Me sale el siguiente error diciendo que no hay suficiente memoria:

    Arduino:1.6.3 (Windows 8.1), TD: 1.22, Placa:»Arduino Uno»

    Sketch uses 7.954 bytes (24%) of program storage space. Maximum is 32.256 bytes.

    Global variables use 6.577 bytes (321%) of dynamic memory, leaving -4.529 bytes for local variables. Maximum is 2.048 bytes.

    processing.app.debug.RunnerException: No hay suficiente memoria, ver http://www.arduino.cc/en/Guide/Troubleshooting#size para obtener consejos sobre cómo reducir su huella.

    at processing.app.debug.Compiler.size(Compiler.java:342)

    at processing.app.debug.Compiler.build(Compiler.java:121)

    at processing.app.Sketch.build(Sketch.java:1170)

    at processing.app.Sketch.build(Sketch.java:1143)

    at processing.app.Editor$BuildHandler.run(Editor.java:2050)

    at java.lang.Thread.run(Thread.java:745)

    No hay suficiente memoria, ver http://www.arduino.cc/en/Guide/Troubleshooting#size para obtener consejos sobre cómo reducir su huella.

    This report would have more information with
    «Show verbose output during compilation»
    activala desde Archivo > Preferencias

    Estoy usando un arduino UNO, sólo he cambiado la línea de «prog_uchar» por «const unsigned char», para que compilara. ¿A alguien se le ocurre qué puede ser? Muchas gracias

  13. Una consulta, yo hice un cubo led de 3x3x3 y necesitaba de 3 transistores NPN para los 3 niveles, porque con 4x4x4 no usas ningun transistores.

    gracias.

    1. el código tiene 2 errores, no te complicare las cosas donde te da error pon esto
      (const unsigned char PROGMEM )
      sin los paren-tisis, y el código esta para un arduino mega los pines son diferentes estos estan para un arduino uno o leonardo debes cambiarlos
      int LEDPin[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1};
      int PlanePin[] = {A2, A3, A4, A5};

  14. hola que tal, una duda, estoy realizando este proyecto y mi duda es,las pinzas cocodrilo a donde van conectadas?, porque veo que va una conectada a cada capa, pero no se a donde va conectado el otro extremo, espero que alguien me pueda contestar, de preferencia el profe, porfa

  15. ayuda me da este error: Arduino:1.6.4 (Windows 8.1), Placa:»Arduino Uno»

    In file included from C:\Users\bodega miramar\Desktop\arduino-1.6.4\hardware\arduino\avr\cores\arduino/Arduino.h:32:0,
    from cubo1.ino:10:
    C:\Users\bodega miramar\Desktop\arduino-1.6.4\hardware\arduino\avr\cores\arduino/binary.h:34:15: error: expected initializer before numeric constant
    #define B0001 1
    ^
    cubo1.ino:13:1: note: in expansion of macro ‘B0001’
    cubo1:402: error: expected declaration before ‘}’ token
    expected declaration before ‘}’ token

    This report would have more information with
    «Show verbose output during compilation»
    activala desde Archivo > Preferencias

  16. profe se puede hacer el proyecto con el arduino mega…? yo estoy intentando pero me sale sketch muy grande para el espacio del arduino y le doy en cargar pero no encienden los leds

  17. Hola Salva:
    Soy aprendiz de arduino desde hace un año,y buscando proyectos y manuales para ampliar conocimientos di con esta web,que me parece fantástica.
    Voy a realizar el proyecto y mandare el enlace del vídeo aquí,porque me parece genial,y como elemento decorativo seria original.
    Solo me surge un problema para poder realizarlo y es que no encuentro el esquema de conexiones de los leds a la placa arduino.
    ¿Podrías facilitármelo por favor?
    Gracias.

  18. Me da este error, ¿que puede ser?

    sketch_apr06a.ino:10:1: error: ‘prog_uchar’ does not name a type
    sketch_apr06a.ino: In function ‘void loop()’:
    sketch_apr06a.ino:447:23: error: ‘PatternTable’ was not declared in this scope
    Error de compilación

    1. el código tiene 2 errores, no te complicare las cosas donde te da error pon esto
      (const unsigned char PROGMEM )
      sin los paren-tisis, y el código esta para un arduino mega los pines son diferentes estos estan para un arduino uno o leonardo debes cambiarlos
      int LEDPin[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1};
      int PlanePin[] = {A2, A3, A4, A5};

  19. me da error de compilacion. que puede ser?

    Opciones de compilación cambiadas, reconstruyendo todo
    led_cubo_4x4x4.ino:8:1: error: ‘prog_uchar’ does not name a type
    led_cubo_4x4x4.ino: In function ‘void loop()’:
    led_cubo_4x4x4.ino:488:23: error: ‘PatternTable’ was not declared in this scope
    Error de compilación

    1. el código tiene 2 errores, no te complicare las cosas donde te da error pon esto
      (const unsigned char PROGMEM )
      sin los paren-tisis, y el código esta para un arduino mega los pines son diferentes estos estan para un arduino uno o leonardo debes cambiarlos
      int LEDPin[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1};
      int PlanePin[] = {A2, A3, A4, A5};

  20. hola exelente proyecto. Solo una cosa no ha quedado clara. La alimentacion total del cubo la realizas solo con la fuente de arduino o utilizas una fuente externa.? Si es externa como realizas la coneccion entre la fuente y la señal emitida por arduino.
    Gracias perdona tantas molestias sigue adelante exitos en todo

  21. Hola muy buen día y un excelente proyecto. Ya lo realice y hasta hice algunas animaciones propias, pero ahora quiero realizar un cubo o mas bien un paralelepidedo rectangular (como si unieramos dos cubos), de unos 20x20x40 Leds (la base de 20×20 y altura de 40 Leds). Mi pregunta es, como puedo hacerlo es posible con el arduino uno? o que cosas necesito adicionales y como lo podria hacer? Gracias por su tiempo. Saludos!!

  22. hola . una pasada el proyecto, me podrias enviar un esquema de las conexiones,no entiendo muy bien el dibujo explicativo y la foto se me van algunas conexiones ,

    Un saludo y gracias

  23. Hola realiza el cubo de 3 pero quisiera saber por que se utiliza entradas analogicas para los niveles y mi problama esque la intensidad de los leds es muy baja gracias………

  24. En caso de no encontrar resistencias de 220 ohmios por resistencias de cuanto se puede usar y este esquema funciona con el arduino uno. gracias

  25. Hola estoy haciendo un cubo de 5x5x5 y quisiera saber si me sirve poner #define cubesize 5 para hacer las animaciones o como puede hacer para utiizar este codigo para hacer mis animaciones gracias.

  26. Hola.
    disculpa tengo algunas preguntas como… donde encuentro el programa que utilizaste y si es posible me das los códigos que utilizaste en el vídeo por favor lo necesito ya que estoy haciendo tu proyecto

  27. Hola:

    No estoy muy puesto en arduinos, pero un mini pro (por ejemplo) tiene 14 entradas digitales y 8 analogicas. ¿funcionaria este proyecto?

    Saludos.

Deja un comentario