Proyect cubos led 4x4x4 final

7,712 views 51 slides Mar 11, 2018
Slide 1
Slide 1 of 51
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51

About This Presentation

Creación de un cubo de diodos led con dimensiones de 4x4x4 e implementación del mismo mediante el entorno de programación IDE de Arduino.


Slide Content

1






UNIVERSIDAD TECNOLÓGICA ISRAEL

CARRERA: Ingeniería en Electrónica digital y Telecomunicaciones

PROYECTO DE FIN DE SEMESTRE

Tema: Creación de un cubo de diodos led con dimensiones de 4x4x4 e
implementación del mismo mediante el entorno de programación IDE de Arduino.

AUTORE(S):





DOCENTE: Ing. Wilmer Albarracín Mg.


D.M Quito, marzo, 2018

2

1. Antecedentes
Un cubo de LEDs es en realidad un proyecto con Arduino relativamente
fácil y sencillo que se encuentra al alcance de cualquiera, con un poco de
tiempo y un mínimo de conocimiento de electrónica y programación lo
puede llevar a cabo. Las aplicaciones de este cubo son limitadas, pero se
le puede sacar provecho con un poco de imaginación.
Por ejemplo, un cubo con estas características puede servir para probar
los outputs de sensores de movimiento. Tomemos por ejemplo un mando
similar al de la Wii de Nintendo. Si quisiéramos desarrollar un dispositivo
de cualidades similares, podríamos usar un cubo de LEDs para
comprobar si los datos de salida que nos proporciona el sensor son
correctos. Para comprobarlo, conectaríamos el cubo al mando y, al
moverlo, veríamos qué LEDs se están iluminando y si corresponde al
movimiento que estamos realizando.
2. Problema Investigado
El cubo led de 4x4x4, es una serie de leds (64 leds) organizados de tal
manera que se origina un cubo y programado para realizar varias
secuencias en arreglo de leds. El cual está conectado a un
microprocesador Arduino uno. El diseño del arreglo se puede realizar por
puerto o por bit, al igual que por camas de leds, es decir varios leds o de
manera individual.
Una de las principales limitaciones que se puede tener durante el
desarrollo del proyecto del cubo de leds es la limitación de pines que
posee la placa de Arduino con respecto a los que se necesitan para
completar todas las conexiones de los leds, es decir, al ser 64 leds lo que
se ocupan para el cubo, mínimo se necesitarían 64 pines disponibles para
conectarlos, sin tomar en cuenta los que se necesitan para los negativos.
 A continuación, se describen proyectos y tecnologías utilizadas en la
resolución de problemas parecidos:

3

 En caso de que se tengan disponibles la cantidad de pines necesarios
para completar las conexiones, entonces únicamente se debe realizar la
conexión de cada uno de los leds con algún pin que esté libre, así
sucesivamente hasta completar todas las conexiones. Es básicamente la
solución más sencilla.
 Otra posible solución al problema es unir todos los negativos de los leds,
soldando cada uno de ellos hasta completar los 16 leds que se necesitan
por nivel, para un cubo de leds de 4x4x4 hay 4 niveles entonces hay que
soldar 16 leds 4 veces, cada grupo de leds corresponde a un nivel del
cubo. Después de haber realizado las soldaduras de cada uno de los
niveles, se procedería a soldar los niveles, luego de tener todo soldado,
se necesitarían 12 pines disponibles para lograr completar todas las
conexiones necesarias de manera que pueda funcionar correctamente,
16 de estas conexiones están asociadas a un pin y el positivo del led y los
4 restantes corresponden al negativo de cada uno de los niveles. De esta
manera se lograría reducir la cantidad de pines necesarios, se pasaría de
necesitar 27 pines libre a únicamente 12 pines.
3. Objetivos
3.1 Objetivo General
 Crear un cubo de diodos led con dimensiones 4x4x4 e implementarlo
mediante el entorno de programación Arduino códigos que sirvieran como
animaciones.
3.2 Objetivos Específicos
 Demostrar la aplicación de manejo de puertos de los micros controladores
pics en control de luces.
 Obtener las bases de programación en Arduino, creando un programa con
una secuencia lógica que será demostrada por un sistema digital
diseñado para ejecutar el programa desarrollado.
 Reconocer y entender cómo funciona un cubo LED de 4x4x4 y cómo
elaborar un prototipo.

4

 Desarrollar de manera correcta una programación para la animación del
cubo por medio del Arduino.
4. Fundamentación teórica
Funcionamiento de un led RGB de un nodo común
Un led es un componente electrónico que permite el paso de corriente en un
solo sentido. Y al ser atravesado por la misma emite luz. Es un componente
sólido, sin filamento ni gases, lo que es muy conveniente gracias a su amplia
vida útil y bajo consumo. Es antiexplosivo porque no utiliza chispa ni la
incandescencia de un filamento y prácticamente no genera temperatura en
comparación con las demás tecnologías de iluminación.
Los diodos de dos terminales
Los diodos son dispositivos semiconductores que permiten hacer fluir la
electricidad solo en un sentido, como puede verse en la figura uno. La flecha del
símbolo del diodo muestra la dirección en la cual puede fluir la corriente. Los
diodos son la versión eléctrica de la válvula o tubo de vacío y al principio los
diodos fueron llamados realmente válvulas. En la figura a continuación puede
observarse un diodo de dos terminales.

Figura 1. diodo de dos terminales [??????�����: �����://������.���/������/���������/����/??????���−��−
??????���].
Funcionamiento de un registro de lanzamiento:
Un registro de desplazamiento es todo circuito que transforma un dato en formato
serie a formato paralelo o viceversa donde todas las operaciones son
sincronizadas por una señal de reloj externa. En este proyecto se van a
utilizar los registros de desplazamiento para poder multiplexarla señal del micro

5

controlador. Más concretamente se utilizarán los registros de desplazamiento
74HC595 que a continuación se explican con más detalle. Este registro de
desplazamiento funciona como una serie a paralelo, esto quiere decir que
convierte un string (cadena) de datos binarios en formato serie a un formato
paralelo donde dichos datos se encuentran sincronizados con una señal de reloj
externa.
Micro controlador y Arduino:
Como ya se ha mencionado anteriormente un microcontrolador es un circuito
integrado o chip que incluye en su interior las tres unidades funcionales de una
computadora: CPU, Memoria y Unidades de E/S, (como se puede observar en
la figura a continuación), es decir, se trata de un computador completo en un solo
circuito integrado. En el caso de este proyecto se va a utilizar un micro
controlador Arduino, mismo en que se basa este proyecto. Es una plataforma de
hardware libre, basada en una placa con un micro controlador y un entorno de
desarrollo, diseñada para facilitar el uso de la electrónica en proyectos
multidisciplinares.

Figura 2. Microcontrolador Arduino Leonardo [??????�����: ??????������� �����://��.������.���/��������/??????????????????������/
??????�������−??????���−??????��.]
Arduino puede tomar información del entorno a través de sus entradas
analógicas y digitales, y controlar luces, motores y otros actuadores. El micro
controlador en la placa Arduino se programa mediante el lenguaje
de programación Arduino
Control de la intensidad de brillo de los leds:

6

Arduino puede tomar información del entorno a través de sus entradas
analógicas y digitales, y controlar luces, motores y otros actuadores. El micro
controlador en la placa Arduino se programa mediante el lenguaje
de programación Arduino. En la placa Arduino uno existen 6 pines de salida
PWM, eso es un problema a la hora de confeccionar un diseño modular partiendo
de 64 LEDS y que puede ser ampliado hasta muchos más LEDS.
Resistencias:
Una resistencia, como puede observarse en la figura 3 es un elemento pasivo
que disipa energía en forma de calor, también establece una relación de
proporcionalidad entre la intensidad de corriente que la atraviesa y la tensión
medible entre sus extremos (Ley de Ohm). Su principal utilidad es la de realizar
caídas de tensión a la hora de conectar otro tipo de componentes electrónicos



Figura 3. Resistencia [??????�����:�����://����������.��/����������??????/]

5. Problema principal
 Creación de un cubo de diodos led con dimensiones de 4x4x4 y posterior
implementación del mismo mediante el lenguaje de programación IDE de
Arduino.
6. Problemas secundarios

7

 Demostración de la aplicación de manejo de puertos de los micro
controladores pics en control de luces, así como el reconocimiento y
comprensión sobre el funcionamiento de un cubo LED de 4x4x4, así como,
todo lo que conllevaría su posterior elaboración.
 Creación de manera eficiente y concisa de un código de programación en
el IDE de arduino para la animación del cubo por medio del mismo.
7. Planteamiento de objetivos
Los objetivos de este proyecto surgen como una consecuencia directa, como un
camino a seguir para la resolución de la problemática planteada la cual es la
demostración la aplicación de manejo de puertos de los micros controladores
pics, así como, obtener las bases de programación en Arduino, para que por
medio de la resolución de los mismos se llegue a la resolución de la problemática
planteada, la cual es crear un cubo de diodos led con dimensiones 4x4x4 y lograr
que este sea implementado mediante el entorno de programación Arduino.
8. Idea a defender o Hipótesis
8.1 HIPÓTESIS
Comprobar la teoría sobre microprocesadores aprendida en clases, implementando en
el entorno de programación Arduino códigos que servirán como animaciones en el cubo
mediante un manual lógico y teórico en su totalidad.
VARIABLE INDEPENDIENTE.
ARDUINO
 VARIABLE DEPENDIENTE.
GRÁFICAS EN UN CUBO DE DIODOS LED.
9. Justificaciones
9.1 Justificación teórica
El cubo LED hace uso de la tecnología del diodo emisor de luz o led (también
conocido por la sigla LED, del inglés light-emitting diode) la cual es una fuente

8

de luz constituida por un material semiconductor dotado de dos terminales, así
como, un circuito integrado central (Arduino); el cual es el encargado de
ejecutar los programas, desde el sistema operativo hasta las aplicaciones de
usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel,
realizando operaciones aritméticas y lógicas simples, tales
como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos
a memoria, la mencionada tecnología se aplicará en el cubo de diodos led
mediante el entorno de programación en Arduino, creando un programa con una
secuencia lógica que será demostrada por un sistema digital diseñado para ejecutar el
programa, desarrollando códigos que servirán como animaciones, así también, por
medio del microprocesador se demostrará la aplicación de manejo de puertos
de los microcontroladores pics en control de luces.
9.2 Justificación práctica
Este proyecto permite visualizar en vivo y en directo el enorme, agigantado y
cada vez más vertiginosamente rápido avance tecnológico, permite tener en la
palma de la mano una tecnología tal que eclipsa con creces a la utilizada en el
módulo lunar que llevo al hombre a la Luna en los años 60´s, este proyecto
hace que la persona sea introducida en un mundo en el que puede dar rienda
suelta a su imaginación, puede programar las figuras que quiera en el IDE de
Arduino, ejercitando así el lado lógico y espacial del cerebro, este proyecto
despierta el lado creativo del que lo emplea, también, en un campo más técnico
la realización de un cubo de LEDs, sirve para entender como es el
comportamiento de las televisiones y pantallas basadas en LEDs. De igual
forma, es posible modelar gráficos en 3D de manera real, de forma
que podemos aprovechar el ver desde diferentes perspectivas figuras
programadas y simulaciones, todo esto por un precio insignificante, tomando en
cuenta la relación costo-beneficio.

9

10. Metodología investigativa utilizada
10.1 Tipo y diseño de la investigación
Se optó por la investigación de campo, debido a que se recopilo información de jóvenes
y usuarios de tecnología, puesto que ellos están informados de los inconvenientes que
se propician al no contar con microprocesadores que les ayude a cumplir eficientemente
con sus fines deseados.
10.2 Procedimiento de la investigación
En primer lugar, la investigación se la realizo haciendo un estudio de los factores que
afectan a la realización de proyectos tecnológicos, para de ahí partir con la solución del
problema que acoge a la misma.
Se pudo constatar que a pesar del ahorro y potencialidad que ofrecen los
microcontroladores en el mercado ecuatoriano muchos aun ignoraban el potencial de
los mismos, y preferían trabajar a la antigua, con circuitos integrados, transistores,
tiristores, etc... esto en parte a que desconocían el gran avance y el enorme potencial
que los microcontroladores ofrecen, causando así controversias y confusiones entre los
usuarios de este tipo de tecnología, quienes eran los afectados ya que el costo de sus
proyectos sin el uso de la mencionada tecnología se incrementaban, tanto en esfuerzo
como en tiempo y dinero
Al conocer de este problema, se procedió a buscar una solución la cual consistía en
lograr una mayor aceptación de este tipo de tecnología, mejorando la aceptación de la
misma entre el público arriba descrito.
La propuesta se la planteo a comerciantes como usuarios, de este tipo de tecnología,
los cuales percibieron que sería factible un mayor uso y aceptación de la misma.
10.3 Población y muestra
La Población está representada generalmente por los clientes y comerciantes de este
tipo de tecnología.
La Muestra está constituida especialmente por los clientes de la empresa comercial de
tecnología y electrónica APM, de cada sector y entidad.
10.4 Resultados esperados
Se espera que el usuario de artículos electrónicos y tecnología en sí, haga
uso de este tipo de tecnología y la vaya incorporando en su día a día.

10

Explicar qué técnicas metodológicas se utilizaron para definir la
conveniencia o no del proyecto (por ejemplo, encuestas realizadas y el
análisis de resultados de las mismas).
Y luego describir qué métodos de investigación científicos se utilizan y
para qué se usan en las diferentes etapas del proyecto.
11. Resultados
11.1 Análisis de los resultados (encuestas, entrevistas)
11.2 Análisis Entrevistas:
Personal Administrativo y Comerciantes:
En lo que se refiere a las entrevistas efectuadas al personal de la tienda, se ha podido
constatar que el incentivo en el uso de esta tecnología será de gran ayuda ya que al
momento no cuenta con una amplia demanda de este tipo de tecnología, de manera
que cuando se lo ejecute propiciara una demanda más amplia de la misma, y tanto
clientes como comerciantes tendrán una mejor relación de las actividades que realizan.
Clientes:
Las encuestas realizadas a los clientes han indicado un alto índice de resistencia ya que
prefieren anclarse a lo viejo y conocido que a lo novedoso
11.3 Procesamiento de la información
Número de Comerciantes Entrevistados: 3
Número de Clientes Entrevistados: 18
11.4 Preguntas Aplicadas en La Entrevista:
 ¿Conoce usted la potencialidad que los microprocesadores ofrecen?

11


Figura 4. Grafico estadístico 1 [??????�����:??????�� ??????������]
 ¿Utilizaría microprocesadores como Arduino en lugar de otros
componentes electrónicos, que fácilmente pueden ser reemplazados por
microprocesadores?

Figura 5. Grafico estadístico 2 [??????�����:??????�� ??????������]
12. Conclusiones
12.1 Conclusiones generales
El objetivo inicial del estudio fue ver si existía una aceptación al uso de
microcontroladores por usuarios habituales de tecnología y componentes electrónicos.

12

Después de ver los resultados de la encuesta se llega a la conclusión de que aún hay
resistencia al uso de esta tecnología, lo que confirma también de forma secundaria la
resistencia al uso de tecnologías nuevas, comportamiento típico de los habitantes de
estos países.
13. Presentación de los resultados:
13.1 Diseño









Diseño electrónico
A continuación, se detalla la propuesta electrónica del hardware y software usado en
este proyecto:
 Demostrar la aplicación de manejo de puertos de los micros controladores
pics en control de luces para obtener las bases de programación en Arduino,
creando un programa con una secuencia lógica que será demostrada por un
sistema digital diseñado para ejecutar el programa desarrollado.
14. Diseño de hardware
Antes de comenzar la construcción, es importante tener una visión completa de cómo
va a funcionar, para que se puedan improvisar e identificar los errores a medida que se
avanza. Se necesita controlar los 64 leds del cubo con tan solo 20 pin de la placa de
arduno, se va a utilizar una técnica denominada multiplexación. Es decir, se rompe el
Construcción de una
plantilla
Se le !acen 64 aberturas a
la tabla de madera con
lafinalidad de ue sirvan
de soporte para los leds
al momento de empe(ar
con la montura delcubo
Conexión del catodo
Una vez este la plantilla
lista colocamos los leds
dentro) A cada ledse le
dobla el cátodo en
dirección al led de su
derecha, esto simulará la
superficie delcuadrado
Conexión por el Ánodo
Una vez este el cubo
hecho procederemos a
conectar cada ánodo que
se encuentra debajo del
cubo con su respectiva
resistencia
Conexión por el cátodo
Las conexiones por el
cátodo son ocho,
representando a los 8
niveles de nuestro cubo
Implementación Código
Implementar el código
mediante el entorno de
programación Arduino

13

cubo en cuatro capas separadas por lo que sólo se necesitan pines de control para 16
LEDs – de modo para encender un LED específico, se debe activar tanto la capa, y el
pin de control, que 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:

Figura 6. Imagen simulación cubo 4x4x4 en solidworks en 3D [??????�����:??????�� ??????������]
15. Diseño Software

14

Figura 6. Imagen código cubo 4x4x4 en IDE de Arduino [??????�����:??????�� ??????������]
Este bloque de código en el medio es donde se desarrollan los patrones de
encendido de los leds del cubo. La manera más fácil de pensar en este 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 así hasta la cuatro. Si hay un 1, entonces eso significa
que un LED se encendió, si hay un 0, entonces no va a lucir.
15.1 Componentes utilizados con su respectiva función.
Leds: diodo emisor de luz, es un pequeño dispositivo electrónico el cual emite
luz al ser energizado. Con estos leds crearemos la luminosidad de nuestro cubo.
Cables: sirven para transportar corriente o señales digitales. Con los cables
interconectaremos los componentes a usar de un punto a otro.
Resistores: estos sirven para limitar el paso de la corriente. Serán utilizados
para no quemar los leds.
Transistores 2N2222 NPN: estos bien sirven como conmutadores o bien como
amplificadores, en este caso los utilizaremos como conmutadores. Y servirán
como “switches” para los pisos de leds.
Placa Arduino UNO: este es una pequeña placa electrónica la cual implementa
un pequeño microcontrolador llamado ATMEGA 328. En nuestro Arduino
guardaremos nuestro programa para ser ejecutado.
Placas de Prueba o Breadboard: estas son pequeñas placas de montaje. En
ella instalaremos nuestro cubo led e interconectaremos todos los componentes
a utilizar
16. Diseño de hardware (esquemático)
16.1 DIAGRAMA DE PROTOBOARD

15

Se utilizarán prácticamente todos los pines de nuestro Arduino UNO para realizar
nuestro cubo de leds. Los leds representan las 16 columnas a las cuáles conectaremos
cada pin de Arduino. Tenemos ubicado un transistor que funcionará cómo conmutador,
en este caso de cada piso de leds, que en total serán 4.

Figura 7. Imagen diagrama de protoboard de cubo 4x4x4 [??????�����:??????�� ??????������]
16.2 Diseño esquemático de hardware

16


Figura 8. Imagen diseño esquemático cubo LED 4x4x4 [??????�����:??????�� ??????������]

17

16.3 Diseño de software

Código
El presente es uno de los códigos que se empleó, mismo que está disponible en anexos
2.

18

Diseño mecánico (Cubo de LED 4x4x4)

17. Montaje e Implementación
17.1 Montaje e Implementación del hardware
Diseño de la Placa
Una vez que ya se tuvo el diseño del hardware se procedió a diseñar las placas las
cuales fueron ruteados con ayuda del software ARES, una plataforma que es un
complemento de ISIS Proteus. El enrutamiento se puede ver en la figura 8.

19


Fig. 7 Proceso de planchado para pasar la pista ruteada a la baquelita

Fig. 8 El enrutamiento se puede observar que ya fue debidamente planchado a la baquelita.

Después se toma un trozo de polietileno para pegar en él la plantilla, para poder
armar el cubo, como se aprecia en las figuras 7 y 8. 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).

20


Figura 9. Plantilla diodos LED en polietileno [??????�����:??????�� ??????������]

21


Figura 10. Diodos LED siendo ensamblados a partir del molde en polietileno [??????�����:??????�� ??????������]
 Se debe doblar todos los cátodos de los Leds de manera uniforme, con un
poco de paciencia se procede a soldar de cuatro en cuatro los cátodos 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.
 Hay que asegurarse de recortar cualquier exceso de cable colgando sobre
el borde del cubo.
 En las soldaduras se debe usar el menor contacto y la cantidad menor de
estaño posible.
 Ahora que se tiene las cuatro capas individuales, se procede a soldarlas
entre sí para formar el cubo.
 Se va 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 se debe hacer es doblar el último mm de cada ánodo hacia
el centro del LED, esto ayudará a unir las capas entre sí. Sólo se tiene que

22

hacer esto con tres de sus capas superior, en este paso se recomienda
usar: separadores de cartón entre capas para facilitar la tarea de soldar los 16
ánodos y pinzas de cocodrilo para sujetar las capas mientras son soldadas.
 Para la conexión del cubo a la placa arduino y posterior programación, se
usan las placas board para pinchar el cubo, y se conecta a cada uno de los
16 ánodos comunes una resistencia de 220 Ohm, 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.


Figura 11. Diagrama conexión entre placas board y Arduino [??????�����:??????�� ??????������]

Figura 12. Conexión entre placas board y Arduino [??????�����:??????�� ??????������]

23

 Una vez realizadas las conexiones se procede a cargar el código en el IDE
de Arduino


Figura 13. carga de código del IDE de Arduino a la placa de Arduino[??????�����:??????�� ??????������]

Figura 14. Cubo diodos LED funcionando en protoboard[??????�����:??????�� ??????������]

24

18. Diagrama PCB


Figura 15. Diagrama PCB [??????�����:??????�� ??????������]

25

A continuación, se detalla el funcionamiento del anterior diagrama:
 Como se puede observar la conexión entre los LEDS de las 4 plantillas
del cubo, han sido colocados 4 LEDS en cada plantilla (el cubo lleva 16
LEDS en cada planta), los cátodos van unidos por plantas, mientras que
los ánodos van unidos por filas, como se muestra en el siguiente esquema
hecho en CircuitWizard, solo se presentan 4 entradas para los ánodos
(0,1,2,3), pero este cubo de LEDS lleva 16 entradas
(4,5,6,7,8,9,10,11,12,13,A0 y A1), ya que lleva 16 LEDS por planta, así
sería la conexión con los 16 LEDS por planta:

Figura 16. Simulación filas y columnas cubo Led [??????�����:??????�� ??????������]
 Las líneas azules son los cátodos unidos por plantas, por eso vemos que
salen 4 cables azules, mientras que las líneas rojas son 16, puesto que
representan el número de filas que tiene este cubo, los ánodos de los
LEDS van unidos en 16 filas de 4.

26

19. Tarjeta electrónica elaborada

Figura 17. Tarjeta electrónica cubo LED 4x4x4 [??????�����:??????�� ??????������]
 Aquí se pueden observar las conexiones desde los pines conectados a
las salidas de Arduino distribuyéndose para las diferentes filas y columnas
de cada una de las plantas.
20. Implementación del software

27

Figura 18. Implementación código para cubo LED 4x4x4 [??????�����:??????�� ??????������]
21. Pruebas realizadas
Las pruebas se las realizo en el protoboard, como pueden verse en las figuras
siguientes, para después ser implementado en la baquelita.

Figura 19. Pruebas cubo LED 4x4x4 en protoboard[??????�����:??????�� ??????������]

Figura 20. Cubo diodos LED funcionando en protoboard[??????�����:??????�� ??????������]

28

22. Evaluación técnica
ELEMENTOS FUNCIONAMIENTO
 Arduino Uno 
 64 diodos led (diodos leds azules) 
 16 resistencias de 220 Ohmios 
 Primera planta LEDS 
 Segunda planta LEDS
 Tercera plantea LEDS
 Cables de conexión y placas Board para
montar el circuito.



24. Pruebas de funcionamiento

Figura 21.Pruebas de funcionamiento cubo diodos LED en protoboard[??????�����:??????�� ??????������]
25. Análisis de resultados.
Se pudo notar que para el desarrollo del proyecto se requirió gran cantidad de
tiempo, mismo que se consume en el desarrollo del hardware. En cuanto al
software básicamente se tienen varias funciones que permiten el barrido de las
caras del cubo. Es importante tener cuidado con la frecuencia con que se hace
el barrido para que la visualización sea la deseada. De forma experimental el
resultado que se obtuvo del proyecto realizado fue satisfactorio ya que se logró
el objetivo el cual era que el cubo de leds encendiera, este resultado se debió a
que se comprendió cómo funciona el dispositivo el además también se logró

29

programarlo de manera satisfactoria, esto solo para demostrar que se puede
lograr cualquier secuencia que se desee cambiando la programación. Se
concluye de los resultados experimentales que se han adquirido nuevos
conocimientos y demostrado que desarrollamos nuestra capacidad de análisis y
comprensión.
26. CONCLUSIONES:
 Es suficiente conocer lo básico sobre el funcionamiento de Arduino para
realizar un circuito de base electrónica para el funcionamiento del cubo y
manejo del sistema operativo arduino.
 Con la programación se logra el funcionamiento del proyecto además de
lograr ensamblar el circuito apropiadamente y aplicar los conocimientos
adquiridos a lo largo del semestre
 Se logró el entendimiento de que es y cómo es la electrónica orientada a
este tipo de componentes, además de lograr mostrarla de una manera
más práctica y divertida probando un sistema de arduino de manera
apropiada para la socialización del proyecto.
 Se logró fortalecer el trabajo en grupo y desarrollar las competencias
interpersonales de cada uno logrando un trabajo con un desarrollo exitoso.
 Después de ver los resultados obtenidos se concluye que se cumplieron
la mayoría de los objetivos propuestos.
 Este proyecto deja ver que es posible construir cubos LED desde una
programación básica y con una gran variedad de aplicaciones al mundo
del interiorismo y la decoración.
 Este proyecto permitió desarrollar y aplicar habilidades tanto en software
en Hardware ampliando los conocimientos en los mismos.
27. RECOMENDACIONES :

30

 Se recomienda crear un programa de acuerdo a criterio de los
participantes en la función IDE de arduino, y no solo adaptar otras
programaciones por cuestiones de tiempo.
 Se recomienda contar con los materiales que se necesitan a la mano.
 Se recomienda tomar prevenciones en cuanto a la seguridad ya que se
pueden producir algunas quemaduras leves con el cautín al proceso de
soldar con estaño los cátodos y ánodos de los leds







28. Bibliografía:

 Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España. . (14 de
Octubre de 2014). Acerca de nosotros: creative commons Corporation. Obtenido de
creative commons Web Site: http://www.tecnosalva.com/category/arduino/
 Scribd Inc. (12 de Diciembre de 2001). Acerca de nosotros: Scribd Inc. Obtenido de
Scribd Inc. Web Site: https://es.scribd.com/document/366081190/Proyecto-Cubo-Led
 Tinkercad. (19 de Marzo de 2016). Acerca de nosotros: Tinkercad Corporation.
Obtenido de Autodesk circuits Web site: https://circuits.io/circuits/2066588-circuito-
cubo-led-4x4x4-arduino-super-multiplexado#schematic

31

29. Anexos:
29.1 ANEXO 1.
Código cubo LED 4x4x4.
#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,B000
0,B0000,B0000,B0000,10,
B0011,B0000,B0000,B0000,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0010,B0000,B0000,B0011,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0011,B0000,B0000,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0110,B0110,B0000,B0000,B0110,B0110,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0110,B0110,B0000,B0000,B0110,B0110,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0110,B0110,B0000,B0000,B0110,B0110,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0110,B0110,B0000,B0000,B0110,B0110,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0011,B0011,B0000,B0000,B0011,B0011,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0001,B0011,B0111,B0000,B0001,B0011,B0111,B000
0,B0000,B0001,B0011,10,
B0000,B0000,B0000,B0000,B0000,B0011,B0111,B0111,B0000,B0011,B0111,B0111,B000
0,B0001,B0011,B0111,10,
B0000,B0000,B0000,B0000,B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B000
0,B0011,B0111,B0111,10,
B0000,B0000,B0000,B0000,B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B000
0,B0111,B0111,B0111,10,
B0000,B0000,B0000,B0000,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B000
0,B1110,B1110,B1110,10,
B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B000
0,B0000,B0000,B0000,10,
B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1100,B1110,B1110,B000
0,B0000,B0000,B0000,10,
B0000,B1110,B1110,B1110,B0000,B1100,B1110,B1110,B0000,B1000,B1100,B1110,B000
0,B0000,B0000,B0000,10,
B0000,B1100,B1110,B1110,B0000,B1000,B1100,B1110,B0000,B0000,B1000,B1100,B000
0,B0000,B0000,B0000,10,
B0000,B1000,B1100,B1110,B0000,B0000,B1000,B1100,B0000,B0000,B0000,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B1000,B1100,B0000,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B1000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000

32

0,B0000,B0000,B0000,10,
B0000,B1000,B1000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B1000,B1000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1100,B1000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1110,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1110,B0000,B0000,B0000,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0110,B0000,B0000,B0000,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0010,B0000,B0000,B0000,B0011,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0011,B0001,B0001,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0001,B0001,B0001,B0001,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0001,B0001,B0011,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0111,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1111,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1110,B0000,B0000,B0000,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1100,B0000,B0000,B1000,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B0000,B1100,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1110,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1111,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0111,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0001,B0011,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0001,B0001,B0000,B000
1,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0001,B0000,B0000,B001
1,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B011
1,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B111
1,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B111
0,B1000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B110
0,B1100,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B100
0,B1110,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B1111,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0000,B000
0,B0111,B0000,B0000,10,

33

B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B000
0,B0011,B0000,B0000,10,
B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B000
0,B0001,B0000,B0000,10,
B0001,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0111,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1110,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B0111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1110,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0111,B0111,B0111,B0111,B1000,B1000,B1000,B1000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0011,B0011,B0011,B0100,B0100,B0100,B0100,B1000,B1000,B1000,B1000,B000
0,B0000,B0000,B0000,10,
B0001,B0001,B0001,B0001,B0010,B0010,B0010,B0010,B0100,B0100,B0100,B0100,B100
0,B1000,B1000,B1000,10,
B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0010,B0010,B0010,B0010,B010
0,B0100,B0100,B0100,10,
B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B001
0,B0010,B0010,B0010,10,
B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B000
1,B0001,B0001,B0001,10,
B0010,B0001,B0001,B0001,B0010,B0001,B0001,B0001,B0010,B0001,B0001,B0001,B001
0,B0001,B0001,B0001,10,
B0100,B0010,B0001,B0001,B0100,B0010,B0001,B0001,B0100,B0010,B0001,B0001,B010
0,B0010,B0001,B0001,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000

34

0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B001
0,B0010,B0100,B0100,10,
B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B010
0,B0100,B0010,B0010,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B001
0,B0010,B0100,B0100,10,
B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B010
0,B0100,B0010,B0010,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B001
0,B0010,B0100,B0100,10,
B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B010
0,B0100,B0010,B0010,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,

35

B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B001
0,B0010,B0100,B0100,10,
B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B010
0,B0100,B0010,B0010,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B001
0,B0010,B0100,B0100,10,
B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B010
0,B0100,B0010,B0010,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000
0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B001
0,B0010,B0100,B0100,10,
B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B0100,B0100,B0010,B0010,B010
0,B0100,B0010,B0010,10,
B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B1000,B0100,B0010,B0001,B100
0,B0100,B0010,B0001,10,
B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B0000,B1100,B0011,B0000,B000
0,B1100,B0011,B0000,10,
B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B0000,B0011,B1100,B0000,B000

36

0,B0011,B1100,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0000,B0010,B0100,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0010,B0100,B0000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0100,B0000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0010,B0100,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B000
0,B0010,B0000,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B0010,B0000,B1000,B000
0,B0010,B1000,B0000,10,
B0000,B0000,B0000,B1000,B0000,B0010,B0000,B1000,B0000,B0010,B1000,B0000,B000
0,B0000,B1000,B0000,10,
B0000,B0010,B0000,B1000,B0000,B0010,B1000,B0000,B0000,B0000,B1000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0010,B1000,B0000,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0100,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0110,B0110,B0000,B0000,B0100,B0010,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1001,B0110,B0110,B1001,B0000,B0110,B0110,B0000,B0000,B0100,B0010,B0000,B000
0,B0000,B0000,B0000,10,
B1101,B0111,B1110,B1011,B1001,B0110,B0110,B1001,B0000,B0110,B0110,B0000,B000
0,B0100,B0010,B0000,10,
B1111,B1111,B1111,B1111,B1101,B0111,B1110,B1011,B1001,B0110,B0110,B1001,B000
0,B0110,B0110,B0000,10,
B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1101,B0111,B1110,B1011,B100
1,B0110,B0110,B1001,10,
B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B110
1,B0111,B1110,B1011,10,
B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B111
1,B1111,B1111,B1111,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B111
1,B1111,B1111,B1111,10,
B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,

37

B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0100,B0010,B1000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B100
0,B0010,B0100,B0001,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0100,B0010,B1000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B100
0,B0010,B0100,B0001,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0100,B0010,B1000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B100
0,B0010,B0100,B0001,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0100,B0010,B1000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B100
0,B0010,B0100,B0001,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0100,B0010,B1000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B100
0,B0010,B0100,B0001,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000

38

0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B1000,B0010,B0100,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0100,B0010,B1000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0001,B0100,B0010,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B100
0,B0010,B0100,B0001,10,
B0000,B0000,B0000,B0000,B0001,B0100,B0010,B1000,B1000,B0010,B0100,B0001,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B1000,B0010,B0100,B0001,B0001,B0100,B0010,B1000,B000
0,B0000,B0000,B0000,10,
B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0011,B0000,B0000,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B111
1,B1111,B1111,B1111,10,
B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0011,B0000,B0000,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1100,B1100,B0000,B0000,B1100,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B111
0,B1110,B1110,B0000,10,
B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B111
1,B1111,B1111,B1111,10,
B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B111
0,B1110,B1110,B0000,10,
B1100,B1100,B0000,B0000,B1100,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B1100,B1100,B0000,B0000,B1100,B1100,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B000
0,B0000,B0000,B0000,10,

39

B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B111
1,B1111,B1111,B1111,10,
B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B0000,B1110,B1110,B1110,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B1100,B1100,B0000,B0000,B1100,B1100,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0011,B0011,B0000,B0000,B0011,B0011,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B111
1,B1111,B1111,B1111,10,
B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B0000,B0111,B0111,B0111,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0011,B0011,B0000,B0000,B0011,B0011,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0001,B0001,B0000,B0000,B0001,B0001,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0001,B0001,B0001,B0000,B0001,B0001,B0001,B0000,B0001,B0001,B0001,B000
0,B0000,B0000,B0000,10,
B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B000
1,B0001,B0001,B0001,10,
B0000,B0000,B0000,B0000,B0001,B0001,B0001,B0000,B0001,B0001,B0001,B0000,B000
1,B0001,B0001,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0001,B0000,B0000,B000
1,B0001,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0011,B0000,B0000,B0000,B001
1,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0111,B0000,B0000,B0000,B0111,B0000,B0000,B0000,B011
1,B0000,B0000,B0000,10,
B1111,B0000,B0000,B0000,B1111,B0000,B0000,B0000,B1111,B0000,B0000,B0000,B111
1,B0000,B0000,B0000,10,
B1110,B0000,B0000,B0000,B1110,B0000,B0000,B0000,B1110,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1100,B0000,B0000,B0000,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B1000,B0000,B0000,B1000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B1000,B1000,B0000,B1000,B1000,B1000,B0000,B1000,B1000,B1000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B100
0,B1000,B1000,B1000,10,
B0000,B0000,B0000,B0000,B0000,B1000,B1000,B1000,B0000,B1000,B1000,B1000,B000

40

0,B1000,B1000,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B1000,B000
0,B0000,B1000,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1100,B000
0,B0000,B0000,B1100,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1110,B0000,B0000,B0000,B1110,B000
0,B0000,B0000,B1110,10,
B0000,B0000,B0000,B1111,B0000,B0000,B0000,B1111,B0000,B0000,B0000,B1111,B000
0,B0000,B0000,B1111,10,
B0000,B0000,B0000,B0111,B0000,B0000,B0000,B0111,B0000,B0000,B0000,B0111,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0011,B0000,B0000,B0000,B0011,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B000
0,B0000,B0000,B0001,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0001,B000
0,B0111,B0111,B0011,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B000
0,B0111,B0111,B0111,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B111
1,B1111,B1111,B1111,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0000,B0000,B0000,B110
1,B1111,B1111,B1111,10,
B0000,B0000,B0000,B0000,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B110
1,B1111,B1111,B1111,10,
B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B110
1,B1111,B1111,B1111,10,
B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B110
1,B1111,B1111,B0111,10,
B0010,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B110
1,B1111,B1111,B0111,10,
B0010,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B110
1,B1111,B1111,B0111,10,
B0010,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0100,B0000,B110
1,B1111,B1011,B0111,10,
B0010,B0000,B0000,B1000,B0000,B0000,B0100,B0000,B0000,B0000,B0000,B0000,B110
1,B1111,B1011,B0111,10,
B0010,B0000,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B110
1,B1111,B1011,B0111,10,
B0010,B0000,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0000,B110
1,B1110,B1011,B0111,10,
B0010,B0000,B0100,B1000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B110
1,B1110,B1011,B0111,10,
B0010,B0001,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B110
1,B1110,B1011,B0111,10,
B0010,B0001,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B0000,B110
1,B0110,B1011,B0111,10,

41

B0010,B0001,B0100,B1000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B110
1,B0110,B1011,B0111,10,
B0010,B1001,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B110
1,B0110,B1011,B0111,10,
B0010,B1001,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B110
1,B0110,B1011,B0110,10,
B0010,B1001,B0100,B1000,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B110
1,B0110,B1011,B0110,10,
B0010,B1001,B0100,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B110
1,B0110,B1011,B0110,10,
B0010,B1001,B0100,B1001,B0000,B0000,B0000,B0000,B1000,B0000,B0000,B0000,B010
1,B0110,B1011,B0110,10,
B0010,B1001,B0100,B1001,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B010
1,B0110,B1011,B0110,10,
B1010,B1001,B0100,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B010
1,B0110,B1011,B0110,10,
B1010,B1001,B0100,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B010
1,B0110,B1010,B0110,10,
B1010,B1001,B0100,B1001,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B010
1,B0110,B1010,B0110,10,
B1010,B1001,B0101,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B010
1,B0110,B1010,B0110,10,
B1010,B1001,B0101,B1001,B0000,B0000,B0000,B0000,B0100,B0000,B0000,B0000,B000
1,B0110,B1010,B0110,10,
B1010,B1001,B0101,B1001,B0100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0110,B1010,B0110,10,
B1110,B1001,B0101,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0110,B1010,B0110,10,
B1110,B1001,B0101,B1001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B000
1,B0110,B1010,B0100,10,
B1110,B1001,B0101,B1001,B0000,B0000,B0000,B0010,B0000,B0000,B0000,B0000,B000
1,B0110,B1010,B0100,10,
B1110,B1001,B0101,B1011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0110,B1010,B0100,10,
B1110,B1001,B0101,B1011,B0000,B0000,B0000,B0000,B0000,B0100,B0000,B0000,B000
1,B0010,B1010,B0100,10,
B1110,B1001,B0101,B1011,B0000,B0100,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0010,B1010,B0100,10,
B1110,B1101,B0101,B1011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0010,B1010,B0100,10,
B1110,B1101,B0101,B1011,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B000
1,B0010,B0010,B0100,10,
B1110,B1101,B0101,B1011,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B000
1,B0010,B0010,B0100,10,
B1110,B1101,B1101,B1011,B0000,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B000
0,B0010,B0010,B0100,10,
B1110,B1101,B1101,B1011,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0010,B0010,B0100,10,
B1111,B1101,B1101,B1011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0010,B0010,B0100,10,
B1111,B1101,B1101,B1011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0100,B000
0,B0010,B0010,B0000,10,
B1111,B1101,B1101,B1011,B0000,B0000,B0000,B0100,B0000,B0000,B0000,B0000,B000
0,B0010,B0010,B0000,10,
B1111,B1101,B1101,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0010,B0010,B0000,10,
B1111,B1101,B1101,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0000,B000

42

0,B0010,B0000,B0000,10,
B1111,B1101,B1101,B1111,B0000,B0000,B0010,B0000,B0000,B0000,B0000,B0000,B000
0,B0010,B0000,B0000,10,
B1111,B1101,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0010,B0000,B0000,10,
B1111,B1101,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0010,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1101,B1111,B1111,B0000,B0010,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1110,B1111,B1111,B0111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1100,B1100,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0100,B1000,B0001,B0010,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0101,B1010,B0100,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
0,B0000,B0000,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0111,B0111,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1110,B1111,B1111,B0111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1100,B1100,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0100,B1000,B0001,B0010,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0101,B1010,B0100,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,

43

B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
0,B0000,B0000,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0111,B0111,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1110,B1111,B1111,B0111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1100,B1100,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0100,B1000,B0001,B0010,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0101,B1010,B0100,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
0,B0000,B0000,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0111,B0111,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1110,B1111,B1111,B0111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1100,B1100,B0011,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0100,B1000,B0001,B0010,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0101,B1010,B0100,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0000,B0000,B0000,B0000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
1,B0010,B0100,B1000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000

44

1,B0010,B0100,B1000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B000
0,B0000,B0000,B0000,10,
B0001,B0010,B0100,B1000,B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0001,B0010,B0100,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0111,B0111,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0011,B0111,B1110,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0111,B1111,B1111,B1110,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1111,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1110,B1111,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1100,B1110,B1111,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B1000,B1100,B1110,B1111,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B1000,B1100,B1110,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B1000,B1100,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B1000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B1000,B1100,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B1000,B0000,B1010,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B100
0,B0000,B0000,B1001,10,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0100,B0000,B0101,B0000,B000
0,B0000,B0000,B0000,10,
B0000,B0000,B0000,B0000,B0010,B0011,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,B0000,B0000,B0000,10,
B0001,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B000
0,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++) {

45

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
}

Anexo 2:
//este es un ejemplo código de figuras en 3d para un cubo LED de 4x4x4 en lenguaje c++.
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
typedef struct tmat

46

{ float v[4][4];
};
tmat identidad=
{{ {1,0,0,0},
{0,1,0,0},
{0,0,1,0},
{0,0,0,1}}
} ;
tmat mat=identidad;

typedef struct tpunto
{
float x,y,z;
int dib;
};
const maxp=12;
tpunto lista[maxp]={ {0,0,0,0},
{100,0,0,1},
{100,0,100,1},
{0,0,100,1},
{0,0,0,1},
{0,100,0,1},
{100,100,0,1},
{100,0,0,1},
{100,100,0,0},
{100,0,100,1},
{0,100,0,0},
{0,0,100,1},

47

};
void aplicar_mat(tpunto a,tpunto *b)
{
b->x=mat.v[0][0]*a.x+mat.v[0][1]*a.y+mat.v[0][2]*a.z+mat.v[0][3]*1;
b->y=mat.v[1][0]*a.x+mat.v[1][1]*a.y+mat.v[1][2]*a.z+mat.v[1][3]*1;
b->z=mat.v[2][0]*a.x+mat.v[2][1]*a.y+mat.v[2][2]*a.z+mat.v[2][3]*1;
}
void dibujar(void)
{
int i;
float x,y;
tpunto dato;
for(i=0;i<maxp;i++)
{
//aplica la matriz de transformacion a los puntos
aplicar_mat(lista[i],&dato);
//aplicar proyeccion
x=dato.x*1000/(1000+dato.z);
y=dato.y*1000/(1000+dato.z);
if(lista[i].dib==0)
moveto(getmaxx()/2+x,getmaxx()/2-y);
else
lineto(getmaxx()/2+x,getmaxx()/2-y);
}
}
void multiplica(tmat a,tmat b,tmat *c)
{
int i,j,k;

48

for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
c->v[i][j]=0;
for(k=0;k<4;k++)
c->v[i][j]+=a.v[i][k]*b.v[k][j];
}
}
void rotarx(float ang)
{
tmat rot,aux;
float dcos=cos(ang*3.1416/180);
float dsin=sin(ang*3.1416/180);
rot=identidad;
rot.v[1][1]=dcos;
rot.v[1][2]=-dsin;
rot.v[2][1]=dsin;
rot.v[2][2]=dcos;
aux=mat;
multiplica(rot,aux,&mat);
}
void rotary(float ang)
{
tmat rot,aux;
float dcos=cos(ang*3.1416/180);
float dsin=sin(ang*3.1416/180);
rot=identidad;
rot.v[0][0]=dcos;

49

rot.v[0][2]=dsin;
rot.v[2][0]=-dsin;
rot.v[2][2]=dcos;
aux=mat;
multiplica(rot,aux,&mat);
}
void rotarz(float ang)
{
tmat rot,aux;
float dcos=cos(ang*3.1416/180);
float dsin=sin(ang*3.1416/180);
rot=identidad;
rot.v[0][0]=dcos;
rot.v[0][1]=-dsin;
rot.v[1][0]=dsin;
rot.v[1][1]=dcos;
aux=mat;
multiplica(rot,aux,&mat);
}
void trasladar(float tx, float ty,float tz)
{
tmat a,b;
a=identidad;
a.v[0][3]=tx;
a.v[1][3]=ty;
a.v[2][3]=tz;
b=mat;
multiplica(a,b,&mat);

50

}
void escalar(float sx, float sy,float sz)
{
tmat a,b;
a=identidad;
a.v[0][0]=sx;
a.v[1][1]=sy;
a.v[2][2]=sz;
b=mat;
multiplica(a,b,&mat);
}

int main(void)
{
int gd,gm;
detectgraph(&gd,&gm);
initgraph(&gd, &gm, "c:\borlandc\bgi");
rotarx(30);
rotary(45);
rotary(10);
trasladar(-100,10,-100);
escalar(2,2,2);
dibujar();
getch();
closegraph();

}
Anexo 3:

51

Costo del proyecto

MATERIAL CANTIDAD PRECIO (USD)
Estaño 1,5 m 2
Diodos LED 70 7
Baquelita 15 cm x 20 cm 5
Resistencias 5 0,30
Alambre 1m 0,85
Acido férrico 0.5 L 4.50
Placa Arduino 1 15
TOTAL 34,65 USD
.