Cubo de leds 3x3x3 + Arduino 335 comentarios Hacia tiempo que había 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… ¿Cómo 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 tamaño de los leds 5mm), y realizamos la plantilla con los 9 agujeros en forma de cubo y uno en el centro, tal que asi: así que doblamos y conectamos los cátodos de los leds para que quede un “cátodo común” para todos los leds. que serán los 3 niveles o filas del cubo.Plantilla para cubo de leds 3x3x3 Una vez tengamos la plantilla terminada. y realizamos el mismo paso 3 veces. Doblamos los cátodos y nos ayudamos de pinzas Una vez soldados los cátodos retiramos la estructura que queda. Deben quedar los cátodos hacia adentro ya que son éstos los que conectaremos para formar el primer “nivel” del cubo. Yo heché mano de unas pinzas de cocodrilo y procedemos a soldarlos. para obtener 3 estructuras de 9 leds conectados por sus cátodos. . colocamos los leds dentro de forma que queden los cátodos (patilla más corta) hacia adentro del cubo. Estructuras montadas para soldar los ánodos Y así. y así es como accederemos a cada uno de los leds con Arduino. y 3 niveles o filas de leds conectados por sus cátodos. procedemos a conectarlas entre sí. . y para ello utilizando la misma plantilla colocamos una de las estructuras dentro. repitiendo el paso para la última estructura y finalizando 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. con ayuda de unas pinzas de cocodrilo colocamos otra estructura encima y soldamos los ánodos de los leds esta vez. Si lo vieramos de un modo informático. tenemos “columnas” y “filas”. es un array bidimensional de leds.Estructuras de leds Una vez que tengamos las estructuras de los leds. finalizamos el cubo. y el emisor a masa o GND.Cubo de Leds 3x3x3 Terminado el cubo procedemos a la conexión con Arduino. Así que conectamos cada uno de los 3 niveles al colector de 3 transistores NPN. necesitan de una pequeña resistencia así que conectamos cada uno de los pines del cubo con una resistencia de 220 Ω. “conectando” el colector con el emisor. éste entrará en saturación. Dado que son leds. debemos utilizar 3 transistores NPN. a 9 pines digitales del Arduino. de forma que el cátodo del diodo led se “conectaría” a masa y encendería. de modo que al enviar con Arduino un valor lógico HIGH a uno de los transistores. la base de los transistores se conectaría a los pines digitales del Arduino. La forma de conectarlo todo es la siguiente: . en mi caso usé 2N3904. Así utilizamos el transistor en conmutación. Para conectar los cátodos ó los 3 niveles del cubo. declaramos los pines como un array de filas y columnas. 9}. 6. y que decir. dejo aquí el código correspondiente al momento en que se encienden los leds aleatoriamente: int Columnas[] = {1. es simplemente encender unos leds Debido a las altas peticiones de código para encender el cubo. 3.Y una vez conectado. 7. 2. 8. 1 . 4. 5. 11. contador++){ 10 pinMode(Columnas[contador]. contador < 4. //Variable para fila aleatoria //Variable para columna aleatoria void setup() { int contador. .2 3 4 5 6 7 8 9 int Filas[] = {12. 10}. } 14 } 15 16 17 18 19 20 } void loop() { RandLed(). for (int contador = 0. OUTPUT). contador++){ 13 pinMode(Filas[contador]. int RandFila. } 11 12 for (int contador = 0. int RandColumna. OUTPUT). contador < 10. 34 } 35 36 37 38 . delay(75). RandColumna = random(0.3). 29 30 digitalWrite(Filas[RandFila]. LOW). 31 digitalWrite(Columnas[RandColumna]. 32 33 delay(50).21 22 23 24 25 26 27 28 void RandLed() { RandFila = random(0. HIGH). digitalWrite(Columnas[RandColumna]. digitalWrite(Filas[RandFila].9). LOW). HIGH).