Sie sind auf Seite 1von 9

Historia:

Al principio no sabamos por donde empezar hasta que armamos la base de madera. Con esa base ubicamos y soldamos los leds creando as una matriz con forma de cubo, despus lo conectamos al circuito que hicimos en protoboard y lo probamos pareca funcionar correctamente. Le subimos el 1 programa que hicimos, consiste en cubo que se va moviendo por dentro en espiral. El programa andaba perfecto pero los leds prendan con baja intensidad, el 1er da que nos juntbamos y ya tenamos nuestro primer inconveniente. El circuito en el cual nos basamos, utilizaba un AVR, que es mucho ms poderoso que el microcontrolador que usamos, el mismo operaba con corrientes superiores, pudiendo asi prender la matriz de leds sin problemas. Para solucionar este inconveniente, tuvimos que recurrir a buffers que nos amplifiquen la corriente de nuestros puertos. Usamos el 74ls245, los leds prendan un poco ms, pero no lo suficiente. Para los diferentes pisos del cubo no tenamos problemas porque utilizbamos transistores. Pedimos ayuda al profesor nos recomend el ULN2803 que nos llam la atencin, ya que era muy utilizado en circuitos de esta ndole. Cuando cambiamos los buffers anteriores por el ULN, nuestra matriz no prendi. Movimos cables, los dimos vuelta, pero nada solucionaba el problema. Con ganas de llorar nos dirigimos al profesor, que nos pidi planos y hojas de datos para analizar a fondo el problema. Nos explico sobre el colector abierto y de su capacidad inversora, la cual transformaba nuestros 1 en 0, impidiendo as que nuestra matriz se luciera. Sugerimos otra solucin, otro buffer, pero nos dijo que para nuestro caso no existan amplificadores. Con ms ganas de llorar que antes, procedimos a desoldar la matriz y empezar de cero, uniendo los nodos para las columnas y los ctodos para los pisos, al revs de cmo habamos hecho antes. Probamos nuevamente con los ULN y nuestra matriz corregida andaba perfectamente y prenda con total intensidad. Ahora solo quedaba pasarlo a plaqueta y programar. Diseamos el circuito, lo pasamos a transfer, despus a plaqueta, percloruro, agujereamos, soldamos y listo, tenamos nuestro proyecto vivito y coleando.

Era tiempo de crear juegos de luces, de los cuales haba muchos para hacer, ya que era cuestin de tener imaginacin y ganas de

programar. Los efectos mas producidos tenan una dificultad mayor a la hora de hacerlos, ya que haba que multiplexar, dividiendo el cubo en 4 partes de 16 leds cada una, y prendiendo estos a altas velocidades da la ilusin de estar prendidos a la vez, por el fenmeno de persistencia de la visin. Luego de tener varios programas, elegimos un par y los pusimos en un men para que haga una secuencia con ellos. En el transcurso de dicha tarea, a edesur se le ocurri apagar los generadores o algo por el estilo, y nos atras un poco, pero eso no impidi que terminemos con nuestra tarea. Y as concluye esta historia con un final feliz si aprobamos y sino bueno fue un lindo trabajo y nos gusto laburar en esto.
Arduino Uno es una placa electrnica de Hardware Libre que utiliza el microcontrolador ATmega328 y el Lenguaje Wiring/Processing, basado en C.

Arduino Uno R3

Caractersticas
Microcontroller Operating Voltage Input Voltage (limits) Digital I/O Pins Analog Input Pins DC Current per I/O Pin DC Current for 3.3V Pin Flash Memory SRAM EEPROM Clock Speed ATmega328 5V 6-20V 14 (of which 6 provide PWM output) 6 40 mA 50 mA 32 KB (ATmega328) of which 0.5 KB used by bootloader 2 KB (ATmega328) 1 KB (ATmega328) 16 MHz Input Voltage (recommended) 7-12V

Cubo de leds 4(filas)x4(columnas)x4(plantas) = 64 leds

Esquema Fritzing Filas: Leds conectados por ctodo (-, terminal Columnas: Leds conectados por nodo (+, terminal largo) comn. corto) comn.

Para conectar los ctodos los 4 niveles del cubo, debemos utilizar 4 transistores NPN (2N3904). Conectamos cada uno de los 4 niveles al colector de los 4 transistores NPN, la base de los transistores se conectara a las entradas de Arduino, y el emisor a GND (masa). Utilizamos el transistor en conmutacin, de modo que al enviar con Arduino un valor lgico HIGH a uno de los transistores, ste entrar en saturacin, conectando el colector con el emisor, de forma que el ctodo del diodo led se conectara a masa y encendera. Una vez terminado el cubo, declaramos los pines como un ARRAY bidimensional de filas y columnas.

Despus de un tiempo practicando con la placa de Arduino Uno, quera lanzarme a hacer un proyecto en condiciones un cubo 4x4x4. Y me diris "hazte uno 3x3x3 que es ms sencillo!", no seores vamos a por algo grande XD. Se como funciona el 3x3x3 pero quiero saber usar el 4x4x4 ya que requiere un poco ms de esfuerzo (y luego ese esfuerzo compensa los quebraderos de cabeza xD). Bueno a lo que iba, alguien tiene un esquemtico lista de componentes? He estado mirando por internet y he encontrado este que es de un cubo 3x3x3 pero no s si usar los mismos componentes excluyendo el PIC y usando mi Arduino UNO. Lo malo es que un cubo de LED 4x4x4 necesita 16 pines de salida para las 16 columnas (+) ms 4 pines para las capas (-) y esta placa solo posee 14 entradas/salidas, as que no es suficiente. Por lo que me estaba preguntando si multiplexando las salidas se podra conseguir usar menos pines o a lo mejor usndolos pierdo el control al encender un led y no otro. No se si se usan multiplexores o demultiplexores ... Se me acaba de ocurrir que los demultiplexores son mejores para esto no?, es decir con 1 pin de salida(+5v) para alimentar la entrada del demultiplexor (y que la

salida de este a su vez alimente al transistor) y 3 pines de salida digital ms para gobernar la salida de una de las 8 patillas del demultiplexor (cada una a una columna, hay 16 columnas luego habrn 2 demultiplexores y usaremos por tanto 8 pines de los 14 posibles en Arduino). Nos sobrarn 6 por lo que podremos usar 4 pines para las capas (-). Estoy aqu divagando demasiado, necesito algo de ayuda para ver si mi razonamiento es acertado o no

Hacia tiempo que haba visto los cubos de leds en Youtube y algunos son realmente impresionantes, asi que me decid a hacer uno, pero de los sencillos, de 3x3x3 leds. (En Youtube los hay de hasta 16x16x16 leds) Este ha sido el resultado de mi cubo 3x3x3 de leds:

Cubo de Leds 3x3x3

Pero Cmo se hace? Sigue leyendo para verlo Primero que nada, hay que construir una especie de plantilla, para poder posicionar bien los leds y efectuar el doblado de las patillas, sin que se deforme, o que por lo menos parezca un cubo al estar terminado. Para esto, una madera fina, y un taladro con broca del 5 (justo el tamao de los leds 5mm), y realizamos la plantilla con los 9 agujeros en forma de cubo y uno en el centro, tal que asi:

Plantilla para cubo de leds 3x3x3 Una vez tengamos la plantilla terminada, colocamos los leds dentro de forma que queden los ctodos (patilla ms corta) hacia adentro del cubo. Deben quedar los ctodos hacia adentro ya que son stos los que conectaremos para formar el primer nivel del cubo, as que doblamos y conectamos los ctodos de los leds para que quede un ctodo comnpara todos los leds. Yo hech mano de unas pinzas de cocodrilo y procedemos a soldarlos.

Doblamos los ctodos y nos ayudamos de pinzas Una vez soldados los ctodos retiramos la estructura que queda, y realizamos el mismo paso 3 veces, para obtener 3 estructuras de 9 leds conectados por sus ctodos, que sern los 3 niveles o filas del cubo.

Estructuras de leds Una vez que tengamos las estructuras de los leds, procedemos a conectarlas entre s, y para ello utilizando la misma plantilla colocamos una de las estructuras dentro, con ayuda de unas pinzas de cocodrilo colocamos otra estructura encima y soldamos los nodos de los ledsesta vez, repitiendo el paso para la ltima estructura y finalizando el cubo.

Estructuras montadas para soldar los nodos Y as, finalizamos el cubo, de modo que tenemos un cubo con 9 patillas donde cada una de ellas corresponde al nodo de los 3 leds de esa misma columna, y 3 niveles o filas de leds conectados por sus ctodos. Si lo vieramos de un modo informtico, es un array bidimensional de leds, tenemoscolumnas y filas, y as es como accederemos a cada uno de los leds con Arduino.

Cubo de Leds 3x3x3 Terminado el cubo procedemos a la conexin con Arduino. Dado que son leds, necesitan de una pequea resistencia as que conectamos cada uno de los pines del cubo con una resistencia de 220 , a 9 pines digitales del Arduino. Para conectar los ctodos los 3 niveles del cubo, debemos utilizar 3 transistores NPN, en mi caso us 2N3904. As que conectamos cada uno de los 3 niveles al colector de 3 transistores NPN, la base de los transistores se conectara a los pines digitales del Arduino, y el emisor a masa o GND. As utilizamos el transistor en conmutacin, de modo que al enviar con Arduino un valor lgico HIGH a uno de los transistores, ste entrar en saturacin, conectando el colector con el emisor, de forma que el ctodo del diodo led se conectara a masa y encendera. La forma de conectarlo todo es la siguiente:

Y una vez conectado, declaramos los pines como un array de filas y columnas, y que decir, es simplemente encender unos leds Debido a las altas peticiones de cdigo para encender el cubo, dejo aqu el cdigo correspondiente al momento en que se encienden los leds aleatoriamente:

1 2 3 4 5 6 7 8

int Columnas[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int Filas[] = {12, 11, 10}; int RandFila; //Variable para fila aleatoria int RandColumna; //Variable para columna aleatoria void setup() { int contador;

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

for (int contador = 0; contador < 10; contador++){ pinMode(Columnas[contador], OUTPUT); } for (int contador = 0; contador < 4; contador++){ pinMode(Filas[contador], OUTPUT); } } void loop() { RandLed(); } void RandLed() { RandFila = random(0,3); RandColumna = random(0,9); digitalWrite(Filas[RandFila], HIGH); digitalWrite(Columnas[RandColumna], HIGH); delay(75); digitalWrite(Filas[RandFila], LOW); digitalWrite(Columnas[RandColumna], LOW); delay(50);

Das könnte Ihnen auch gefallen