cubo led rgb 8x8x8

74
1 DISEÑO Y CONSTRUCCIÓN DE UN CUBO LED RGB 8x8x8 OPERADO CON ARDUINO Y ANDROID LAURA CAMILA GRIMALDOS VELANDIA INSTITUTO TÉCNICO INDUSTRIAL RAFAEL REYES TÉCNICO EN ELECTRÓNICA SENA TÉCNICO EN INSTRUMENTACIÓN INDUSTRIAL DUITAMA - BOYACÁ 2014

Upload: laura-kmila-grimaldos

Post on 14-Jul-2016

777 views

Category:

Documents


67 download

DESCRIPTION

Cubo LED RGB 8x8x8 operado con Arduino y Android.Trabajo escrito.

TRANSCRIPT

1

DISEÑO Y CONSTRUCCIÓN DE UN CUBO LED RGB 8x8x8 OPERADO CON ARDUINO

Y ANDROID

LAURA CAMILA GRIMALDOS VELANDIA

INSTITUTO TÉCNICO INDUSTRIAL RAFAEL REYES

TÉCNICO EN ELECTRÓNICA

SENA

TÉCNICO EN INSTRUMENTACIÓN INDUSTRIAL

DUITAMA - BOYACÁ

2014

2

DISEÑO Y CONSTRUCCIÓN DE UN CUBO LED RGB 8x8x8 OPERADO CON ARDUINO

Y ANDROID

LAURA CAMILA GRIMALDOS VELANDIA

PROYECTO DE GRADO

PRESENTADO A:

ING. ANDRÉS LEONARDO ALBARRACÍN MONTAÑA

ING. LINA TATIANA NARANJO GUIO

INSTITUTO TÉCNICO INDUSTRIAL RAFAEL REYES

TÉCNICO EN ELECTRÓNICA

SENA

TÉCNICO EN INSTRUMENTACIÓN INDUSTRIAL

DUITAMA - BOYACÁ

2014

3

NOTA DE ACEPTACIÓN

____________________________________

____________________________________

____________________________________

____________________________________

____________________________________

____________________________________

____________________________________

Presidente del Jurado

____________________________________

Jurado

____________________________________

Jurado

____________________________________

Jurado

Duitama (10, Noviembre, 2014)

4

AGRADECIMIENTOS

Dedico éste trabajo en primer lugar a Dios por su bendición en el camino recorrido.

A la institución por permitirme el desarrollo del proyecto.

Al Ingeniero Andrés Leonardo Albarracín y a la Ingeniera Lina Tatiana Naranjo por sus

enseñanzas y acompañamiento.

A mi familia por ser el punto de apoyo que en todo momento brindó para alcanzar la meta.

5

CONTENIDO

Pág.

RESUMEN…………………………………………………………………………………...….16

ABSTRACT……………………………………………………………………………….……..17

INTRODUCCIÓN………………………………………………………………...……………..18

1. PLANTEAMIENTO DEL PROBLEMA …………………………………………………….19

1.1. DESCRIPCIÓN DEL PROBLEMA………………………………………………….....19

1.2. FORMULACIÓN DEL PROBLEMA………………………………………….………19

2. OBJETIVOS……………………………………………………………………………...…..20

2.2. OBJETIVO GENERAL……………………………………………….………………..20

2.3. OBJETIVOS ESPECÍFICOS……………………………………………………….…..20

3. JUSTIFICACIÓN……………………………………………………………………...……..21

4. ALCANCES Y LIMITACIONES……………………………………………….…………..22

4.2. ALCANCES……………………………………………………………………………..22

4.2.1. Geográfico………………………………………………………………………..22

4.2.2. Económico………………………………………………………………………..22

4.2.3. Social……………………………………………………………………………..22

4.2.4. Temático…………………………………………………………………...……..22

4.3. LIMITACIONES………………………………………………………….……………..23

4.3.1. Geográfico………………………………………………………...……………..23

6

4.3.2. Económico………………………………………………………………………..23

4.3.3. Social……………………………………………………………………………..23

4.3.4. Temático……………………………………………………………………...…..23

5. ANTECEDENTES………………………………………………………………………..…..25

5.2. ANTECEDENTES INVESTIGATIVOS………………………………………………..25

5.3. ANTECEDENTES LEGALES………………………………………………………….25

6. MARCO REFERENCIAL…………………………………………………………………....26

6.1. MARCO TEÓRICO………………………………………………………………….…..26

6.1.1. ELECTRÓNICA………………………………………………………..………..26

6.1.2. ARDUINO…………………………………………………………………….....26

6.1.2.1. Hardware………………………………………………………….….…..26

6.1.2.2. Software…………………………………………………………………..27

6.1.3. ANDROID…………………………………………………………………...…..29

6.1.4. CUBO LED…………………………………………………………………..…..29

6.1.5. REGISTRO DE DESPLAZAMIENTO …………………………………………30

6.1.6. TECNOLOGÍA LED………………………………………………………...…..31

6.1.7. HARDWARE………………………………………………………………...…..32

6.1.8. SOFTWARE……………………………………………………………………..32

6.1.9. APP INVENTOR 2………………………………………………………..……..33

6.2. MARCO CONCEPTUAL………………………………………………………………..35

6.2.1. ARDUINO MEGA ADK………………………………………………….……..35

6.2.2. LED…………………………………………………………………....…..……..36

6.2.3. LED RGB…………………………………………………………….…………..36

6.2.4. PWM……………………………………………………………………………..37

7

6.2.5. SHIFT REGISTER 74HC595……………………………………………………39

6.2.6. TRANSISTOR…………………………………………………………………...40

6.2.7. CIRCUITO IMPRESO…………………………………………………………….41

6.3. MARCO LEGAL………………………………………………………………………..42

6.4. MARCO ESPACIAL…………………………………………………………………….45

7. METODOLOGÍA…………………………………………………………………...………..46

7.1. ENFOQUE……………………………………………………………………...………..46

7.2. ETAPAS……………………………………………………………………...…………..46

8. ALGORITMOS…………………………………………………………………...…………..47

9. DIAGRAMA DE BLOQUES DEL SISTEMA……………………………………………..48

10. DESARROLLO DEL PROYECTO……………………………………………………….49

11. PLANOS Y DIAGRAMAS………………………………………………………………...69

12. PRESUPUESTO…………………………………………………………………...………..73

13. CRONOGRAMA…………………………………………………………………….……..75

CONCLUSIONES…………………………………………………………………………...…..75

RECOMENDACIONES…………………………………………………………….…………..76

INFOGRAFÍA……………………………………………………………………………….…..77

ANEXOS……………………………………………………………………………………...…78

8

LISTA DE TABLAS

Pag.

Tabla 1. Caídas de voltaje y consumo de corriente de un LED RGB……………………….…37

Tabla 2. Presupuesto material empleado en el cubo……………………………………………73

Tabla 3. Presupuesto material extra……………………………………………………………...73

9

LISTA DE IMÁGENES

Pag.

Figura 1. Logo Arduino…………………………………………………………………………26

Figura 2. Arduino Uno Front……………………………………………………………………27

Figura 3. Arduino Uno Back…………………………………………………………………….27

Figura 4. Estructura del programa Arduino. Código de ejemplo…………………..……….….28

Figura 5. Logo Android………………………………………………………………………….29

Figura 6. Plataforma App inventor………………………………………………………………33

Figura 7. Tarjeta Arduino MEGA ADK Front………………………………………………….35

Figura 8. Tarjeta Arduino MEGA ADK Back…………………………………………………..35

Figura 9. Estructura interna y externa de un LED………………………………………………35

Figura 10. Modelo aditivo de colores rojo, verde, azul………………………………………...36

Figura 11. Tipos de LED RGB…………………………………………………………………..36

Figura 12. Señal PWM. Pulsos por unidad de tiempo………………………………………..…38

Figura 13. Datasheet Shift Register 74HC595………………………………………………….39

Figura 14. Funcionamiento Shift Register 74HC595…………………………………………..40

Figura 15. Transistor……………………………………………………………………………..41

Figura 16. Parte de una tarjeta madre de computador de 1983 Sinclair ZX Spectrum. Se ven las

zlíneas conductoras, los caminos y algunos componentes

montados…………………………………………………………………………………...…41

Figura 17. Ubicación geográfica donde se desarrolló el proyecto. …………………………....45

10

Figura 18. Diagrama de bloques del sistema………………………………………...…………..48

Figura 19. Diagrama Cubo led 3x3x3……………………………………………………….…...50

Figura 20. Prueba del cubo por niveles en el protoboard………………………………..………51

Figura 21. Prueba del código en el protoboard. …………………………………………...….…56

Figura 22. Prueba del código en el protoboard. …………………………………………………56

Figura 23. Cubo LED 3x3x3 soldado……………………………………………………………56

Figura 24. Cubo LED 3x3x3 soldado…………………………………….………………...……57

Figura 25. Cubo LED 3x3x3 funcionando. ………………………………………………...……57

Figura 26. Cubo LED 3x3x3 funcionando. ………………………………………………...……57

Figura 27 .Corte de la madera……………………………………………………………………58

Figura 28 .Base para las torres que sujetan los leds…………………………………………….58

Figura 29.Bases para los leds……………………………………………………………………59

Figura 30.Base para torres terminada……………………………………………………….…...59

Figura 31.Como doblar los pines del led……………………………………………….………60

Figura 32.Soldando las torres……………………………………………………………………60

Figura 33.Cable empleado para soldar las torres………………………………………………...61

Figura 34.Torres terminadas……………………………………………………………………..61

Figura 35.Prueba de las torres……………………………………………………………………61

Figura 36.Cortar la baquela………………………………………………………………………62

Figura 37. Planchado de la baquela……………………………………………………………...62

Figura 38.Se retira el papel de la baquela………………………………………………………..63

Figura 39.Se retira el papel de la baquela………………………………………………………..63

11

Figura 40.Quitar el papel que pueda provocar continuidad en los caminos…………………..63

Figura 41.Armado del PBC…………………………………………………………………...….65

Figura 42.Elaboración Base del cubo……………………………………………………………65

Figura 43.Construcción del cubo…………………………………………………………….…..65

Figura 44.Prueba de las torres………………………………………………………………...….66

Figura 45.Cubo terminado……………………………………………………………….………66

Figura 46.Caja para soporte del cubo y PBC…………………………………...………………..66

Figura 47.Conexiones del cubo al PBC…………………………………………………...……..67

Figura 48. Cubo terminado………………………………………………………………..….….67

Figura 49. Circuito impreso ARES – Proteus…………………………………………..………..69

Figura 50. Simulación PBC Front………………………………………………………………..69

Figura 51. Simulación PBC Back………………………………………………………….…….70

Figura 52. PBC. Base del cubo…………………………………………………………………..70

Figura 53. Simulación PBC Base del cubo………………………………………………………71

Figura 54.Simulación de una cara del cubo. ISIS – Proteus……………………………….……71

Figura 55.Simulación de una cara del cubo. ISIS – Proteus………………………………..…..72

Figura 56.Simulación de una cara del cubo. ISIS – Proteus………………………………..…..70

Figura 57. Ficha Técnica Transistor 2N2222……………………………………………………79

Figura 58.Ficha Técnica Shift Register 74HC595………………………………………………80

12

LISTA DE ANEXOS

Pag.

Anexo A. Fichas Técnicas……………………………………………………………………….78

13

GLOSARIO

Ánodo: Polo positivo. Parte de la celda electrolítica en donde se lleva a cabo la oxidación (los

átomos de cierto elemento ceden sus electrones).

Bit: Se define un bit como la unidad de información más basica que se puede manejar en un

ordenador pudiendo tomar uno de dos posibles estados: 1 ó 0. Dichos estados equivalen a

activado o desactivado, abierto o cerrado, etc. dando lugar al sistema de numeración binario lo

que facilita una mejor comprensión electrónica por parte de los transistores del ordenador.

Byte: Se define un byte como el conjunto de 8 bits, 2 nibbles (4 bits cada uno) o 4 crumbs (2 bits

cada uno). A la hora de trabajar con información se suelen utilizar multiplos de dicha unidad

como los Kilobytes, Megabytes, Gigabytes, etc. que nos permiten expresar cantidades de

información más grandes.

Cátodo: Polo negativo. Parte de la celda en donde se lleva a cabo la reducción (los átomos de

cierto elemento aceptan electrones).

Diodo: Dispositivo electrónico de dos electrodos por el que circula la corriente en un solo

sentido.

14

Electrodo: Un electrodo es un conductor utilizado para hacer contacto con una parte no metálica

de un circuito, por ejemplo un semiconductor, un electrolito, el vacío (en una válvula

termoiónica), un gas (en una lámpara de neón), etc.

Fuerza electromagnética: Se denomina fuerza electromotriz (FEM) a la energía proveniente de

cualquier fuente, medio o dispositivo que suministre corriente eléctrica. Para ello se necesita la

existencia de una diferencia de potencial entre dos puntos o polos (uno negativo y el otro

positivo) de dicha fuente, que sea capaz de bombear o impulsar las cargas eléctricas a través de

un circuito cerrado.

Microcontrolador: Un microcontrolador es un circuito integrado o chip que incluye en su

interior a las unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S, es

decir, se trata de una computadora completa en un solo circuito integrado programable y e

destina a gobernar una sola tarea con el programa que reside en su memoria. Sus líneas de

entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a controlar.

Microprocesador: El microprocesador es un circuito integrado que contiene la Unidad Central de

Proceso (UCP), también llamada procesador, de un computador. La UCP está formada por la

Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta.

15

Numeración binaria: Sistema de numeración que únicamente emplea las cifras 0 y 1 para

representar cualquier número.

Oscilador: sistema capaz de crear perturbaciones o cambios periódicos en un medio, ya sea un

medio material (sonido) o un campo electromagnético (ondas de radio, microondas, infrarrojo,

luz visible, rayos X, rayos gamma, rayos cósmicos).

Periférico: Unidad de una computadora que no forma parte de su unidad central.

Shift register: Registro de desplazamiento.

USB: son las siglas de Universal Serial Bus. En ordenadores, un bus es un subsistema que

transfiere datos o electricidad entre componentes del ordenador dentro de un ordenador o entre

ordenadores. Un bus puede conectar varios periféricos utilizando el mismo conjunto de cables.

16

RESUMEN

El presente proyecto se basa en la elaboración de un Cubo LED RGB a partir de conocimientos

básicos en electrónica obtenidos por la especialidad; controlado desde la plataforma electrónica

de software y hardware libre de Arduino, y con la plataforma App Inventor que permite controlar

el cubo desde un dispositivo Android. Se usan 512 LEDs RGB en una matriz tridimensional de

8x8x8. El software y hardware que posee el cubo permite controlar cada led individualmente con

la ayuda del shift register 74HC595 (registro de desplazamiento de 8 bits), y su fácil interacción

con el entorno Arduino. Debido a la cantidad de LEDs usados en el proyecto se usaron 8

transistores 2N2222 para amplificar la corriente, conectando los cátodos de cada LED en mallas

por niveles a cada transistor, es decir, 64 cátodos conectados a un solo transistor. Los ánodos de

los LED se controlan con las salidas de los shift register. La comunicación de arduino y android

se hace directamente por cable de datos gracias a la tarjeta Arduino MEGA ADK que posee un

puerto extra de salida USB. El programa en arduino se basa en el uso de la librería Shifter que

permite controlar individualmente las salidas de un registro de desplazamiento sin importar la

cantidad de integrados que estén conectados entre sí. De esta manera es posible controlar cada

led individualmente y poder mostrar letras, figuras y animaciones de varios colores, con mayor

detalle y definición.

17

ABSTRACT

This project is based on the elaboration of a Cube RGB LED from basic electronics knowledge

obtained by specialty; controlled from the platform hardware and software free of Arduino, and

platform App Inventor, allowing to control the cube from an Android device. 512 RGB LEDs are

used in a three-dimensional matrix of 8 x 8 x 8. The software and hardware that holds the cube

allows you to control each led individually with the help of the shift register 74HC595 (8-bit

shift register), and its easy interaction with the Arduino environment. Due to the number of

LEDs used in the project 8 2N2222 transistors were used to amplify the current, connecting each

LED mesh cathodes by levels to each transistor, i.e. 64 cathodes connected to a single transistor.

The LED anodes to control the outputs of the shift register. Communication of arduino and

android is done directly by data cable thanks to the Arduino MEGA ADK card that has an extra

USB output port. Arduino program is based on the use of the Shifter library that allows you to

individually control a shift register outputs regardless the number of integrated are connected

each other. In this way it is possible to control each led individually and to show letters, figures

and animations of various colors, greater detail and definition.

18

INTRODUCCIÓN

Este proyecto se basa en el diseño y construcción de un Cubo Led a partir de conocimientos

básicos en electrónica y programación. Los leds usados son de tipo RGB los cuales se ubican en

filas y columnas formando la figura correspondiente. La programación se realiza con la ayuda de

Arduino controlando cada led independientemente, representando variadas formas de figuras,

textos y efectos en movimiento de varios colores. El cubo es operado con un sistema de control

externo basado en la plataforma Android que permite tener un control específico sobre los

programas realizados en Arduino. Éste elemento puede ser utilizado como decoración de

distintos ambientes o como una herramienta didáctica en la enseñanza lúdica.

19

1. PLANTEAMIENTO DEL PROBLEMA

1.1.DESCRIPCIÓN DEL PROBLEMA

¿Es posible crear secuencias armónicas de colores reflejando figuras, letras y animaciones con

una buena calidad de imagen en un Cubo LED, a partir de conocimientos básicos en electrónica

y programación?

1.2.FORMULACIÓN DEL PROBLEMA

A lo largo de la historia se ha vivenciado un avance significativo en el campo de la ciencia

tecnológica. La tecnología está enfocada a diferentes campos como la comunicación, la robótica,

la programación y automatización, la electrónica, entre otras. La tecnología LED es una de ellas

y ha tenido un gran impacto visual, energético e innovador, además de ser una de las más

entretenidas, fáciles de usar y de aplicar. Se han construido Cubos LED basados en la última

tecnología LED con imágenes de alta calidad, cuyo software y hardware permiten controlar cada

LED independientemente. La programación que poseen la mayoría de estos cubos es realizada

desde la plataforma arduino con códigos complejos creados a partir de conocimientos avanzados

en electrónica programable y no hay procesos que permitan ver la construcción y desarrollo de

un Cubo LED con programas sencillos y basados en conocimientos básicos de electrónica.

20

2. OBJETIVOS

2.1.OBJETIVO GENERAL

Diseñar y construir un Cubo Led RGB 8x8x8 operado con Arduino y Android a partir de los

conocimientos básicos de electrónica y programación.

2.2.OBJETIVOS ESPECÍFICOS

- Formar un cubo con los Led para que permita visualizar figuras en 3D.

- Poder mostrar una imagen visual a través de los Led de forma definida.

- Prender los leds de forma secuencial y armónica agradable a la vista del público.

- Poner en práctica los conocimientos básicos de electrónica obtenidos por la especialidad.

- Usar una programación fácil y sencilla que permita controlar cada led individualmente

logrando una mayor calidad de imagen en la formación de secuencias, figuras y mensajes.

- Controlar los programas realizados en Arduino desde la plataforma Android para operar con

mayor facilidad el cubo.

21

3. JUSTIFICACIÓN

Este proyecto se realiza con el fin de poner en práctica los conocimientos obtenidos en la

especialidad de electrónica mediante la construcción un Cubo LED que permita visualizar

figuras en tres dimensiones, con una programación sencilla que controle cada led de forma

independiente y con una buena calidad de imagen tanto en software como en hardware. El Cubo

LED es un elemento de gran versatilidad en cuando a su aplicación como elemento decorativo;

discotecas, tiendas de moda, hoteles, y un sinfín de sectores pueden aprovechar su imagen de alta

tecnología. También se le puede dar una aplicación diferente e innovadora como instrumento

didáctico para la enseñanza lúdica, específicamente en los grados inferiores de la básica

primaria, mostrando diversas figuras, colores, letras y números que recreen ambientes de

aprendizaje más entretenidos para los niños.

22

4. ALCANCES Y LIMITACIONES

4.1. ALCANCES

4.1.1. Geográfico

- Este proyecto fue reconocido a nivel municipal y departamental.

- Su aplicación esa proyectada en la ciudad de Duitama pero su alcance podría llegar a ser

Nacional o inclusive Mundial.

- Se contó con un espacio apropiado de trabajo para la el armado físico del cubo.

4.1.2. Económico

- Facilidad por encontrar los elementos requeridos para la realización del proyecto.

- Presupuesto suficiente para comprar los materiales necesarios. El costo de éste proyecto es

de más de 800.000.

- El costo de mano de obra es aproximadamente 1.500.000.

4.1.3. Social

- Se dio a conocer el desarrollo del proyecto a la comunidad educativa.

- Se expuso el proyecto a entidades educativas y comerciales por medio de la muestra

tecnológica de la cámara de comercio

4.1.4. Temático

- Consulta de información requerida para la programación y armado físico del cubo.

- Material de trabajo para la realización de los programas en Arduino y Android.

23

4.2. LIMITACIONES

4.2.1. Geográfico

- El laboratorio de la especialidad no dispone de los suficientes elementos para el desarrollo

del proyecto

4.2.2. Económico

- Falta de recursos suficientes para realizar un proyecto más grande.

4.2.3. Social

- Gestionar el patrocinio de empresas para el desarrollo de este tipo de proyectos

4.2.4. Temático

- Falta de información y conocimientos para realizar una programación con mayor

expectativas.

24

5. ANTECEDENTES

5.1. ANTECEDENTES INVESTIGATIVOS

Asher Glick y Kevin Baker, Charliecube, El charliecube se puede ejecutar utilizando sólo 16

pines digitales con ningún componente extra. Este proyecto fue desarrollado con LED RGB

cátodo común y con la placa Arduino Nano. Se obtuvieron los logros deseados.

Kevin Darrah, 2013, The 8x8x8 LED Cube Project, En este proyecto se hizo uso de la

plataforma Arduino, LED RGB y otros materiales electrónicos. Este proyecto fue presentado en

un programa de televisión llamado “Right this Minute” el 18 de marzo de 2013.

5.2. ANTECEDENTES LEGALES

5.2.1. Ley 294 de 1996, de los derechos sociales, económicos y culturales.

Artículo 45. - El adolescente tiene derecho a la protección y a la formación integral. El

Estado y la sociedad garantizan la participación activa de los jóvenes en los organismos

públicos y privados que tengan a cargo la protección, educación y progreso de la juventud.

25

5.2.2. Ley 115 de 1994, de la educación.

Artículo 1°. – Objeto de la ley. La educación es un proceso de formación permanente,

personal, cultural y social que se fundamenta en una concepción integral de la persona

humana, de su dignidad, de sus derechos y de sus deberes.

La presente ley semana las normas generales para regular el servicio público de la

educación que cumple una función social acorde con las necesidades e intereses de las

personas, de la familia y de la sociedad. Se fundamenta en los principios de la constitución

política

26

6. MARCO REFERENCIAL

6.1.MARCO TEÓRICO

6.1.1. ELECTRÓNICA

Parte de la física que estudia los cambios y los movimientos de los electrones libres y la

acción de las fuerzas electromagnéticas y los utiliza en aparatos que reciben y

transmiten información.

6.1.2. ARDUINO

Arduino es una plataforma electrónica de código abierto basado en hardware o software

fácil de usar. Está diseñada para facilitar el uso de la electrónica en proyectos

multidisciplinares.

Figura 1. Logo Arduino.

6.1.2.1. Hardware: consiste en una placa con un microcontrolador Atmel AVR y

puertos de entrada/salida. Los microcontroladores más usados son el Atmega168,

Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el

desarrollo de múltiples diseños.

27

Figura 2. Arduino Uno Front.

Figura 3. Arduino Uno Back.

6.1.2.2. Software: consiste en un entorno de desarrollo que implementa el lenguaje

de programación Processing/Wiring y el cargador de arranque (boot loader) que

corre en la placa. Arduino se puede utilizar para desarrollar objetos interactivos

autónomos o puede ser conectado a software del ordenador (por ejemplo:

Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar

a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar

gratuitamente.

28

ESTRUCTURA DEL PROGRAMA ARDUINO: La estructura básica del lenguaje

de programación de Arduino es bastante simple y se compone de al menos dos

partes. Estas dos partes necesarias, o funciones, encierran bloques que contienen

declaraciones, estamentos o instrucciones.

En donde setup() es la parte encargada de recoger la configuración y loop() es la que

contienen el programa que se ejecutará cíclicamente. Ambas funciones son

necesarias para que el programa trabaje.

La función setup() se invoca una sola vez cuando el programa empieza. Se utiliza

para inicializar los modos de trabajo de los pines, o el puerto serie. Debe ser incluido

en un programa aunque no haya declaración que ejecutar.

La función loop() contiene el código que se ejecutara continuamente (lectura de

entradas, activación de salidas, etc) Esta función es el núcleo de todos los programas

de Arduino y la que realiza la mayor parte del trabajo.

Figura 4. Estructura del programa Arduino. Código de ejemplo.

29

6.1.3. ANDROID

Android es un sistema operativo inicialmente pensado para teléfonos móviles, al igual

que iOS, Symbian y Blackberry OS. Lo que lo hace diferente es que está basado en

Linux, un núcleo de sistema operativo libre, gratuito y multiplataforma.

El sistema permite programar aplicaciones en una variación de Java llamada Dalvik. El

sistema operativo proporciona todas las interfaces necesarias para desarrollar

aplicaciones que accedan a las funciones del teléfono (como el GPS, las llamadas, la

agenda, etc.) de una forma muy sencilla en un lenguaje de programación muy conocido

como es Java.

Figura 5. Logo Android.

6.1.4. CUBO LED

Los Cubos LED 3D están basados en la aplicación al mundo del interiorismo de la

última tecnología LED. Consisten en una malla o matriz tridimensional de LEDs

dispuesta en el espacio, generalmente de forma cúbica. Su electrónica y su software

permiten controlar cada LED de forma independiente. Esto hace que puedan representar

30

todo tipo de objetos, textos, fondos y efectos en movimiento en un espacio

tridimensional.

Sus capacidades y espectacularidad hacen de los cubos LED un elemento de gran

versatilidad y con un amplio abanico de posibilidades en su aplicación como elemento

decorativo. Discotecas, locales de ocio, tiendas de moda, hoteles y un sinfín de sectores

pueden aprovechar su imagen de alta tecnología para recrear ambientes de diseño de

alto standing.

Muchas de sus aplicaciones y usos están aún por explorar. Su evolución puede

desembocar en próximas aplicaciones que abran nuevos caminos, como pueden ser

esferas y poliedros de leds de varias caras.

6.1.5. REGISTRO DE DESPLAZAMIENTO

Es un circuito digital que acepta datos binarios de una fuente de entrada y luego los

desplaza, un bit a la vez. Este sistema secuencial es muy utilizado en los sistemas

digitales. Un ejemplo de esto se ve en las calculadoras comunes, donde al escribir una

cifra de varios números, se nota que el primer número pulsado le cede espacio a los

demás corriéndose a la izquierda, donde además se nota que hay características de

memoria porque se mantienen visualizados los números pulsados.

Los registros de desplazamiento además de tener características de memoria y la

función de desplazar datos, también se utilizan para convertir datos serie a paralelo y

31

paralelo a serie. La capacidad de almacenamiento de un registro es el número total de

bits que puede contener.

6.1.6. TECNOLOGÍA LED

La tecnología LED ha sido muy llamativa y utilizada en los últimos años. Las ventajas

de dicha tecnología son muchas, que enumeramos a continuación:

Con la tecnología LED se produce una menor disipación de calor. Esto es debido a

que la incandescencia emite luz en todo el espectro visible, siendo el difusor (que

hace de filtro) quien deja pasar sólo el color requerido y el resto del espectro se

transforma en calor, mientras que el diodo LED emite luz monocromática

directamente, en la longitud de onda de color requerido, por lo que no existe la

transformación de luz en calor.

Esta diferencia en la emisión de luz entre la incandescencia más el filtro y el diodo

LED, hace que ésta sea más eficiente, ya que toda la luz emitida por foco luminoso

es aprovechada en la iluminación del punto de luz.

La vida útil de la lámpara incandescente es de 6.000 h mientra que la del LED puede

llegar a 100.000 h, es decir, 17 veces mayor.

Altos niveles de flujo e intensidad dirigida.

Significante tamaño para múltiples y diferentes opciones de diseño.

Alta eficiencia, ahorro de energía.

Luz blanca.

Todos los colores (de 460 nm a 650 nm).

Requerimientos bajos de Voltaje y Consumos.

32

Alta resistencia a los golpes y vibraciones.

Sin radiación U. V.

Pueden ser fácilmente controlados y programados.

Diferentes formas con diferentes ángulos de radiación.

6.1.7. HARDWARE

Componentes físicos del ordenador, es decir, todo lo que se puede ver y tocar.

Clasificaremos el hardware en dos tipos:

- El que se encuentra dentro de la torre o CPU, y que por lo tanto no podemos ver a

simple vista.

- El que se encuentra alrededor de la torre o CPU, y que por lo tanto, si que vemos a

simple vista, y que denominamos periféricos.

6.1.8. SOFTWARE

Son las instrucciones que el ordenador necesita para funcionar, no existen físicamente, o

lo que es igual, no se pueden ver ni tocar. También tenemos de dos tipos:

- Sistemas Operativos: Tienen como misión que el ordenador gestione sus recursos

de forma eficiente, además de permitir su comunicación con el usuario. Nosotros

utilizamos el Sistema Windows.

- Aplicaciones: Son programas informáticos que tratan de resolver necesidades

concretar del usuario, como por ejemplo: escribir, dibujar, escuchar música.

33

6.1.9. APP INVENTOR 2.

Google App Inventor es una aplicación de Google Labs para crear aplicaciones de

software para el sistema operativo Android. De forma visual y a partir de un conjunto de

herramientas básicas, el usuario puede ir enlazando una serie de bloques para crear la

aplicación. El sistema es gratuito y se puede descargar fácilmente de la web. Las

aplicaciones fruto de App Inventor están limitadas por su simplicidad, aunque permiten

cubrir un gran número de necesidades básicas en un dispositivo móvil.

Con Google App Inventor, se espera un incremento importante en el número de

aplicaciones para Android debido a dos grandes factores: la simplicidad de uso, que

facilitará la aparición de un gran número de nuevas aplicaciones; y el AndroidMarket, el

centro de distribución de aplicaciones para Android donde cualquier usuario puede

distribuir sus creaciones libremente.

Figura 6. Plataforma App inventor.

34

6.2. MARCO CONCEPTUAL

6.2.1. ARDUINO MEGA ADK

El MEGA de Arduino ADK es una placa electrónica basada en el microprocesador

Atmega2560. Cuenta con una interfaz de host USB para conectar con los teléfonos

basados en Android, basado en el MAX3421E IC. Tiene 54 pines digitales de

entrada/salida (de los cuales 15 se pueden utilizar como salidas PWM), 16 entradas

analógicas, 4 UART(hardware puertos serie), un 16 MHz oscilador de cristal, una

conexión USB, un conector de alimentación, un header ICSP, y un botón de reinicio.

El MEGA ADK se basa en la Mega 2560. Similar a la Mega 2560 y Uno, cuenta con

una ATmega8U2 programado como un convertidor de USB a serie.

Figura 7. Tarjeta Arduino MEGA ADK Front.

35

Figura 8. Tarjeta Arduino MEGA ADK Back.

6.2.2. LED

LED (Light Emitting Diode) es un diodo compuesto por la superposición de varias

capas de material semiconductor que emite luz en una o más longitudes de onda

(colores) cuando es polarizado correctamente. Al aplicarle una pequeña corriente

eléctrica (15 – 20 mAmp) produce luz. Los LEDs en la actualidad están fabricados a

base de Aluminio, Indio, Galio y Fósforo.

Figura 9. Estructura interna y externa de un LED.

36

6.2.3. LED RGB

El LED RGB (light emitting diode red gren blue) contienen tres diodos emisores de luz

en su interior. El propósito de este es poder crear, en teoría, toda la gama de colores

posibles mezclando cada color con intensidades distintas. Cuando se mezclan los tres a

la misma intensidad de obtiene el blanco.

Figura 10. Modelo aditivo de colores rojo, verde, azul.

Para el control de este LED es común usar el encapsulado de 5mm como en los LED

comunes, agregando un pin de conexión por cada color y uno para el nodo común. Este

nodo común puede ser el cátodo o el ánodo como se muestra a continuación:

Figura 11. Tipos de LED RGB.

37

Las caídas de voltaje y consumo de corriente para cada color son:

Tabla 1. Caídas de voltaje y consumo de corriente de un LED RGB.

LED VOLTAJE CORRIENTE

Rojo 2,1[V] 20[mA]

Verde 3,3[V] 20[mA]

Azul 3,3[V] 20[mA]

6.2.4. PWM

La modulación por ancho o de pulso (o en inglés pulse width modulation PWM) es un

tipo de señal de voltaje utilizada para enviar información o para modificar la cantidad de

energía que se envía a una carga. Este tipo de señales son muy utilizadas en circuitos

digitales que necesitan emular una señal analógica.

Este tipo de señales son de tipo cuadrada o sinusoidales en las cuales se les cambia el

ancho relativo respecto al período de la misma, el resultado de este cambio es llamado

ciclo de trabajo y sus unidades están representadas en términos de porcentaje.

Para emular una señal analógica se cambia el ciclo de trabajo (duty cicle en inglés) de

tal manera que el valor promedio de la señal sea el voltaje aproximado que se desea

obtener, pudiendo entonces enviar voltajes entre 0[V] y el máximo que soporte el

dispositivo PWM utilizado, en el caso de Arduino es 5[V].

38

En Arduino este tipo de señales sólo puede ser realizado con los pines que tienen el

símbolo ~ en sus números. En Arduino UNO son los pines 3, 5, 6, 9, 10 y 11.

La señal en Arduino tiene valores de 0[V] a 5[V] y una frecuencia de aproximadamente

500[Hz]. En los pines 5 y 6 esta frecuencia es aproximadamente el doble.

Figura 12. Señal PWM. Pulsos por unidad de tiempo.

Las aplicaciones típicas para este tipo de señales son: Controlar intensidad de un LED,

mover servomotores, controlar LED RGB, controlar velocidad de motores de corriente

continua y controlar motores eléctricos de inducción o asincrónicos.

39

6.2.5. SHIFT REGISTER 74HC595

El registro de desplazamiento 74HC595 tiene un registro de almacenamiento de 8 bits y

un registro de desplazamiento de 8 bits. Los datos se escriben en el registro de

desplazamiento en serie, entonces trabado sobre el registro de almacenamiento. El

registro de almacenamiento controla entonces 8 líneas de salida. La siguiente figura

muestra el 74HC595 pinout.

Figura 13. Datasheet Shift Register 74HC595

Pin 14 (DS) es el pin de datos. En algunas hojas de datos se conoce como "SER”.

Cuando el pin 11 (SH_CP o SRCLK en algunas hojas de datos) va de menor a mayor el

valor de DS se almacena en el registro de desplazamiento y los valores existentes del

registro se desplazan para hacer espacio para el nuevo bit.

40

Pin 12 (ST_CP o RCLK en algunas hojas de datos) se mantiene baja mientras se

escriben los datos al registro de desplazamiento. Cuando se va de alta los valores del

registro de desplazamiento se retienen en el registro de almacenamiento que luego se da

salida a los pines Q0-Q7.

El diagrama de temporización siguiente muestra cómo debería ajustar los pines de salida

Q0-Q7 a 11.000.011, asumiendo los valores de partida de 00 millones.

Figura 14. Funcionamiento Shift Register 74HC595.

6.2.6. TRANSISTOR

El nombre de transistor es aquel que se le da a un dispositivo electromecánico que sirve

para potenciar y amplificar la energía de cualquier objeto eléctrico o electrónico,

principalmente aquellos que usamos en nuestra vida cotidiana como electrodomésticos,

automóviles, relojes, aparatología relacionada con la salud, etc.

De más está decir que cada uno de estos elementos necesitará y funcionará mejor con un

tipo específico de transistor que estará especialmente diseñado para la necesidad de

41

energía del objeto en cuestión. En este sentido, no será igual, por ejemplo, el transistor

de un reloj de pulsera que el de un lavarropas ya que cada uno deberá cumplir con

funciones diferentes.

Figura 15. Transistor.

6.2.7. CIRCUITO IMPRESO

En electrónica, un circuito impreso, tarjeta de circuito impreso o PCB (del

inglés printed circuit board), es una superficie constituida por caminos o pistas de

material conductor laminadas sobre una base no conductora. El circuito impreso se

utiliza para conectar eléctricamente - a través de los caminos conductores, y sostener

mecánicamente - por medio de la base, un conjunto de componentes electrónicos. Los

caminos son generalmente de cobre mientras que la base se fabrica de resinas de fibra

de vidrio reforzada, cerámica, plástico, teflón o polímeros como la baquelita.

Figura 16. Parte de una tarjeta madre de computador de 1983 Sinclair ZX Spectrum. Se

ven las líneas conductoras, los caminos y algunos componentes montados.

42

6.3. MARCO LEGAL

6.3.1. PLAN DECENAL DE EDUCACIÓN 2006 – 2016. Pacto social por la

educación.

Es un pacto social que determina las líneas que deben orientar el sentido de la educación.

Tiene como finalidad servir de ruta u horizonte para el desarrollo educativo del país, de

referente obligatorio de planeación para todos los gobiernos e instituciones educativas y de

instrumento de movilización social y política en torno a la defensa de la educación.

Renovación pedagógica y uso de las TIC en la educación.

Numeral 4. Fortalecimiento de procesos pedagógicos a través de las TIC.

Fortalecer procesos pedagógicos que reconozcan la transversalidad curricular del uso de

las TIC, apoyándose en la investigación pedagógica.

- Objetivo: Fortalecer los procesos pedagógicos a través de la mediación de las TIC, en

aras de desarrollar las competencias básicas, laborales y profesionales para mejorar la

calidad de vida.

Incorporar el uso de las TIC, como eje transversal para fortalecer los procesos de

enseñanza y aprendizaje en todos los niveles educativos.

Numeral 5. Innovación Pedagógica e interacción de los actores educativos.

Construir e implementar modelos educativos y pedagógicos innovadores que garanticen la

interacción de los actores educativos, haciendo énfasis en la formación del estudiante,

ciudadano en el siglo XXI, comprendiendo sus características, necesidades y diversidades.

43

Macro metas: Diseño de currículos. En el año 2010, las instituciones educativas han

diseñado currículos colectivamente con base en investigaciones que incluyen el uso

transversal de las TIC y promueven la calidad de los procesos educativos y la permanencia

de estudiantes.

6.3.2. LEY 769 DE 2002 (Agosto 6): Por la cual se expide el Código Nacional de

Tránsito Terrestre y se dictan otras disposiciones

(…)

CAPITULO XII.

SEÑALES DE TRÁNSITO.

(…)

ARTÍCULO 114. DE LOS PERMISOS. No podrán colocarse señales o avisos en las vías

sin que medie permiso o convenio con las autoridades competentes, quienes tendrán en

cuenta las disposiciones sobre contaminación visual.

Las autoridades de tránsito podrán ordenar el retiro de vallas, avisos, pasacalles, pendones

u otros elementos que estén en la vía pública y que obstaculicen la visibilidad de las

señales de tránsito.

Las señales y otros elementos reguladores o indicadores de tráfico en las ciudades no

podrán ser dañados, retirados o modificados por los particulares, so pena de incurrir en

multa.

44

PARÁGRAFO. Será sancionado con multa equivalente a tres (3) salarios mínimos legales

mensuales vigentes, el particular u organismo estatal que dañe, retire o modifique las

señales u otros elementos reguladores o indicadores del tráfico en las ciudades.

[…]

CAPÍTULO XIII.

PROCEDIMIENTOS DE CONTROL DE TRÁNSITO.

[…]

ARTÍCULO 120. COLOCACIÓN DE RESALTOS EN LA VÍA PÚBLICA. Los Alcaldes

o las Secretarías de Tránsito donde existan podrán colocar reducidores de velocidad o

resaltos en las zonas que presenten alto riesgo de accidentalidad.”

45

6.4. MARCO ESPACIAL

Éste proyecto se realiza en el Instituto Técnico Industrial Rafael Reyes.

Figura 17. Ubicación geográfica donde se desarrolló el proyecto. Fuente: Google Maps.

Recuperado de:

https://www.google.es/maps/place/Instituto+T%C3%A9cnico+Industrial+Rafael+Reyes/@5.830

2242,-73.0234328,18z/data=!4m2!3m1!1s0x8e6a3f13f11b6531:0x2e4bdd699b25b256

46

7. METODOLOGÍA

7.1. ENFOQUE

El proyecto consta de un enfoque cuantitativo porque a través de la recolección de información

obtenida por diversas fuentes de consultas de cada uno de los Cubos LED ya construidos,

información adicional a ésta y con los conocimientos básicos que se tienen sobre éste campo de

la tecnología, se podrá llevar a cabo la nueva propuesta de crear un Cubo LED RGB a partir de

conocimientos básicos en electrónica, con una aplicación diferente e innovadora y con una buena

calidad de imagen.

7.2. ETAPAS

1. Lluvia de ideas.

2. Búsqueda de la información.

3. Elección del proyecto.

4. Planteamiento del problema.

5. Consulta de la información para el desarrollo del proyecto.

6. Construcción del prototipo.

7. Armado físico del Cubo.

8. Elaboración del Programa.

9. Desarrollo de la aplicación en Android.

10. Prueba final del proyecto

47

8. ALGORITMOS

#include <Shifter.h>

#define SER_Pin 4 //SER_IN DS DATA

#define RCLK_Pin 3 //L_CLOCK ST_CP LATCH

#define SRCLK_Pin 2 //CLOCK SH_CP CLOCK

#define NUM_REGISTERS 5 //how many registers are in the chain

// initialize shifter using the Shifter library

Shifter shifter(SER_Pin, RCLK_Pin, SRCLK_Pin, NUM_REGISTERS);

void setup()

{}

void loop()

{

shifter.clear(); //set all pins on the shift register chain to LOW

shifter.write(); //send changes to the chain and display them

delay(1000);

shifter.setPin(1, HIGH); //set pin 1 in the chain(second pin) HIGH

shifter.setPin(3, HIGH);

shifter.setPin(5, HIGH);

shifter.setPin(7, HIGH);

shifter.write(); //send changes to the chain and display them

//notice how you only call write after you make all the changes you want to make

delay(1000);

shifter.setAll(HIGH); //Set all pins on the chain high

shifter.write(); //send changes to the chain and display them

delay(1000);

}

48

9. DIAGRAMA DE BLOQUES DEL SISTEMA

Figura 18. Diagrama de bloques del sistema

49

10. DESARROLLO DEL PROYECTO

10.1. CONSULTA DE LA INFORMACIÓN.

Para poder desarrollar un proyecto de alta complejidad como éste desde los conocimientos

básicos en electrónica es necesario ampliar un poco más nuestros conocimientos sobre todo lo

relacionado a proyectos de este tipo y a la electrónica en general. Se procede a recolectar

información de todos los cubos ya hechos, de diversos componentes electrónicos como por

ejemplo el integrado que se usó en éste proyecto y conceptos más avanzados de electrónica

programable.

Después de una constante búsqueda de información se decidió construir primero un prototipo

básico ya realizado en otros proyectos para entender el funcionamiento del Cubo LED.

10.2. CONSTRUCCIÓN DEL PROTOTIPO.

10.2.1. Prueba del cubo por capas en el protoboard.

El primer paso para armar el cubo es especificar que elementos vamos a usar. Un diagrama

sencillo nos puede ilustrar lo que se requiere para el desarrollo del prototipo.

50

Figura 19. Diagrama Cubo led 3x3x3.

Lista de materiales.

- 27 LEDs (ánodo/cátodo)

- 3 Transistores 2N2222

- 9 Resistencias de 270 Ohm

- 3 Resistencias de 300 ohm

- Tarjeta Arduino Uno

- Cable

51

Primero se realiza la prueba del código y la conexión en un protoboard. Se ubican los leds

conectando los cátodos por niveles y los ánodos por columnas como en el diagrama (ver Figura

18).

Figura 20. Prueba del cubo por niveles en el protoboard

10.2.2. Prueba del código.

El código fue encontrado junto con el desarrollo del proyecto, así que se procedió a probarlo en

el protoboard para verificar su correcto funcionamiento y posibles errores en las conexiones.

CÓDIGO:

/*

ledcube.pde - Example sketch for controlling an LED cube.

Created by Gamaiel Zavala (gzip), 2009-2014

MIT License. See accompanying LICENSE file for terms.

*/

#include <LedCube.h>

#define SIZE 3

#define COLS (SIZE*SIZE)

byte levelPins[SIZE] = {11,12,13};

52

byte colPins[COLS] = {2,3,4,5,6,7,8,9,10};

LedCube cube(SIZE, levelPins, colPins);

//#define DEBUG

#ifdef DEBUG

#include <memdebug.h>

void showmem(const char label[] = "")

{

char buffer[100];

sprintf(buffer,"%s: %04u %04u %04u : used/free",

label,

getMemoryUsed(),

getFreeMemory()

);

Serial.println(buffer);

}

#endif

void setup ()

{

#ifdef DEBUG

Serial.begin(9600);

#endif

}

void loop ()

{

delay(10);

#ifdef DEBUG

showmem("start");

#endif

// paste UI output here (https://rawgithub.com/gzip/arduino-ledcube/master/ui/index.html)

cubeFrame* f[] = {

cube.createFrame((byte[]) {0,6, 1,6, 2,6}, 6, 80),

cube.createFrame((byte[]) {0,7, 1,7, 2,7}, 6, 70),

cube.createFrame((byte[]) {0,8, 1,8, 2,8}, 6, 60),

cube.createFrame((byte[]) {0,5, 1,5, 2,5}, 6, 50),

cube.createFrame((byte[]) {0,2, 1,2, 2,2}, 6, 40),

cube.createFrame((byte[]) {0,1, 1,1, 2,1}, 6, 30),

cube.createFrame((byte[]) {0,0, 1,0, 2,0}, 6, 20),

cube.createFrame((byte[]) {0,3, 1,3, 2,3}, 6, 10)

};

53

#ifdef DEBUG

showmem("before free");

#endif

cube.lightFrames(f, 8);

// light each light one at a time

for(byte level=0; level<cube.getLevels(); level++)

{

for(byte col=0; col<cube.getCols(); col++)

{

cube.lightPulse(level, col, 100);

}

}

// light one level at a time, increasing speed each time

for(byte d=25; d>2; d-=2)

{

for(byte l=1; l <= cube.getLevels(); l++)

{

cube.lightLevel(l, d);

}

}

// light each row on each level

for(byte level=1; level<=cube.getLevels(); level++)

{

for(byte row=1; row<=cube.getLevels()*2; row++)

{

cube.lightRow(row, level);

}

}

// light each plane

for(byte i=3; i; i--)

{

for(byte row=1; row<=cube.getLevels()*2; row++)

{

cube.lightPlane(row, 10*i);

}

}

// single random light at a time

cube.randomLight(random(25,100),100);

// random column drop

for(byte x=0; x<=15; x++)

54

{

cube.lightDrop(random(0,cube.getCols()), random(50,150));

}

// circle around cube at a random level

for(byte x=0; x<=5; x++)

{

cube.lightPerimeter(random(0,cube.getLevels()), random(1,5), random(25,100));

}

// light each face

byte planes[] = {cube.getLevels()+1,cube.getLevels(),cube.getLevels()*2,1};

for(byte i=5; i; i--)

{

for(byte p=0; p<sizeof(planes); p++)

{

cube.lightPlane(planes[p], 5*i);

}

}

// random columns

cube.randomColumn(25);

// turn off a single column randomly

cube.enableBuffer();

for(byte c=0; c<30; c++)

{

cube.fillBuffer();

cube.invertBuffer();

cube.randomColumn();

cube.drawBuffer(7);

}

cube.enableBuffer(false);

// cols in and out

for(byte c=1, d=0; c<=10; c++)

{

if(c%2 == 0)

{

for(d=0; d<20; d++)

{

cube.lightColumn(2,1);

cube.lightColumn(4,1);

cube.lightColumn(6,1);

cube.lightColumn(8,1);

}

55

}

else if(c%4 == 1)

{

for(d=0; d<30; d++)

{

cube.lightColumn(1,1);

cube.lightColumn(3,1);

cube.lightColumn(7,1);

cube.lightColumn(9,1);

}

}

else

{

for(d=0; d<70; d++)

{

cube.lightColumn(5,1);

}

}

}

// diamond and box

byte diamond[] = {0,4, 1,1, 1,3, 1,4, 1,5, 1,7, 2,4};

byte box[] = {

2,0, 2,1, 2,2, 2,3, 2,5, 2,6, 2,7, 2,8,

1,0, 1,2, 1,6, 1,8,

0,0, 0,1, 0,2, 0,3, 0,5, 0,6, 0,7, 0,8

};

cube.lightSequence(box, sizeof(box), 200);

cube.lightSequence(diamond, sizeof(diamond), 400);

// helicopter effect

byte topSeq[8] = {0,3,6,7,8,5,2,1};

byte botSeq[8] = {8,5,2,1,0,3,6,7};

for(byte loops = 0, delay = 50; loops<=8; loops++)

{

for(byte s=0; s<8; s++)

{

byte seq[] = {2,topSeq[s], 1,4, 0,botSeq[s]};

cube.lightSequence(seq, sizeof(seq), delay);

}

if(loops < 5) delay-=10; else delay += 10;

}

// turn off one light at a time

cube.lightsOut();

}

56

Se carga el código a la placa Arduino UNO.

Figura 21. Prueba del código en el protoboard.

Figura 22. Prueba del código en el protoboard.

10.2.3. Armado del cubo.

Una vez probado el código y las conexiones en el protoboard se procede a construir el cubo

soldando los pines como lo muestra la Figura 18, cátodo por niveles y ánodo por columnas.

Figura 23. Cubo LED 3x3x3 soldado

57

Figura 24. Cubo LED 3x3x3 soldado

10.2.4. Prototipo terminado.

Después de haber probado el código en el protoboard verificando que todo funcione

correctamente se carga al cubo.

Figura 25. Cubo LED 3x3x3 funcionando.

Figura 26. Cubo LED 3x3x3 funcionando.

58

10.3. CONSTRUCCIÓN DEL CUBO.

10.3.1. Armado de la base para la construcción de las torres.

Se procede a armar una base en madera que facilite el armado de las torres.

Primero se cortan las láminas de un tamaño específico para que queden simétricas.

Figura 27 .Corte de la madera.

Se arma la base donde van a quedar las torres que sujetan los leds.

Figura 28 .Base para las torres que sujetan los leds

59

Se armas las bases para los leds

Figura 29.Bases para los leds

Figura 30.Base para torres terminada.

60

10.3.2. Construcción de las torres.

El primer paso es doblar los pines de los leds de la forma correcta y todos de la misma manera.

Figura 31.Como doblar los pines del led.

Se ubican los leds con el cátodo hacia adentro y los ánodos en los extremos. Se sueldan los pines

como se ve en la ilustración.

Figura 32.Soldando las torres.

61

Figura 33.Cable empleado para soldar las torres.

En total son 64 torres para completar 512 leds

Figura 34.Torres terminadas.

Una vez terminadas las torres se prueban una por una, led por led.

Figura 35.Prueba de las torres.

62

10.3.3. Elaboración del circuito impreso.

Se elabora el circuito impreso en Proteus. Luego se imprime en papel fotográfico en impresión

láser. El tamaño de la impresión tiene que coincidir con el tamaño real de los elementos. El

tamaño de la baquela es 28cm x 18cm. El planchado de la baquela dura de 20 a 30 min.

Primero se corta la baquela de las dimensiones deseadas.

Figura 36.Cortar la baquela.

Luego se plancha el circuito en la baquela.

Figura 37. Planchado de la baquela.

Después de haber planchado durante un tiempo prudencial la baquela se sumerge en agua y retira

el papel.

63

Figura 38.Se retira el papel de la baquela.

Figura 39.Se retira el papel de la baquela.

Hay que ser muy precavidos al momento de quitar el papel, tener presente que no debe quedar

papel por ningún lado ya que el ácido no lo quema y podría quedar en continuidad.

Figura 40.Quitar el papel que pueda provocar continuidad en los caminos.

64

Luego se quema la baquela. Se recomienda el uso del ácido nítrico ya que es muy eficiente, mas

rápido que el cloruro férrico, mas barato, y se puede reutilizar. Usar tapabocas y guantes para

evitar posibles daños en la salud.

Luego de haber quemado la baquela se procede a perforar los huecos, se ubican los elementos en

la baquela y se procede a soldar.

Figura 41.Armado del PBC.

65

10.3.4. Elaboración de la base para el cubo.

Se realiza el mismo procedimiento que con el PBC.

Figura 42.Elaboración Base del cubo.

10.3.5. Armado del cubo.

Figura 43.Construcción del cubo.

66

Figura 44.Prueba de las torres.

Figura 45.Cubo terminado.

10.3.6. Construcción de la caja.

Figura 46.Caja para soporte del cubo y PBC.

67

10.3.7. Conexión del cubo al PBC.

Figura 47.Conexiones del cubo al PBC.

10.3.8. Proyecto finalizado.

Figura 48. Cubo terminado.

68

10.4. ELABORACIÓN DEL CÓDIGO EN ARDUINO.

#include <Shifter.h>

#define SER_Pin 4 //SER_IN DS DATA

#define RCLK_Pin 3 //L_CLOCK ST_CP LATCH

#define SRCLK_Pin 2 //CLOCK SH_CP CLOCK

#define NUM_REGISTERS 5 //how many registers are in the chain

//initaize shifter using the Shifter library

Shifter shifter(SER_Pin, RCLK_Pin, SRCLK_Pin, NUM_REGISTERS);

void setup(){

}

void loop(){

shifter.clear(); //set all pins on the shift register chain to LOW

shifter.write(); //send changes to the chain and display them

delay(1000);

shifter.setPin(1, HIGH); //set pin 1 in the chain(second pin) HIGH

shifter.setPin(3, HIGH);

shifter.setPin(5, HIGH);

shifter.setPin(7, HIGH);

shifter.write(); //send changes to the chain and display them

//notice how you only call write after you make all the changes you want to make

delay(1000);

shifter.setAll(HIGH); //Set all pins on the chain high

shifter.write(); //send changes to the chain and display them

delay(1000);

}

69

11. PLANOS Y DIAGRAMAS

Figura 49. Circuito impreso ARES - Proteus

Figura 50. Simulación PBC Front

70

Figura 51. Simulación PBC Back

Figura 52. PBC. Base del cubo.

71

Figura 53. Simulación PBC Base del cubo.

Figura 54.Simulación de una cara del cubo. ISIS – Proteus

72

Figura 55.Simulación de una cara del cubo. ISIS – Proteus

Figura 56.Simulación de una cara del cubo. ISIS – Proteus

73

12. RESUPUESTO

Tabla 2. Presupuesto material empleado en el cubo.

Tabla 3. Presupuesto material extra.

DETALLE CANTIDAD VALOR UNITARIO VALOR TOTAL

Ácido Nítrico 2 $ 4.500 $ 9.000

Baquela (28cm x 18cm) 2 $ 8.000 $ 16.000

Impresión 5 $ 1.500 $ 7.500

Papel fotográfico 5 $ 1.000 $ 5.000

Cautín 2 $ 35.000 $ 70.000

TOTAL $ 107.500

DETALLE CANTIDAD VALOR UNITARIO VALOR TOTAL

Ácido Nítrico 1 $ 4.500 $ 4.500

Arduino Mega ADK 1 $ 230.000 $ 230.000

Baquela (28cm x 18cm) 1 $ 8.000 $ 8.000

Baquela universal (30cm x 30cm) 1 $ 7.500 $ 7.500

Cable calibre 20 70m $ 200 $ 14.000

Cable pines hembra/macho 20 $ 3.000 $ 60.000

Cable pines macho/macho 4 $ 3.000 $ 12.000

Estaño 30m $ 4.500 $ 27.000

Led RGB 550 $ 700 $ 385.000

Madera DMF 1m2 $ 40.000 $ 40.000

Papel fotográfico 3 $ 1.000 $ 3.000

Portaintegrados 24 $ 100 $ 2.400

Regla pines hembra 7 $ 1.000 $7.000

Shift Register 74HC595 24 $1.375 $ 33.000

Transistor 2N2222 8 $ 300 $ 2.400

TOTAL $ 845.800