Cubo de leds4 x 4 x 4

En el siguiente link hay un artúculo muy completo sobre el 7219 y arduino

El 7219 puede controlar hasta 64 (=444).

Para el tema 3D simplemente tendreis que tunear un poquillo la distribución de diagonales y segmentos.

http://www.arduino.cc/playground/Main/MAX72XXHardware#WiringLedMatrix

muchas gracias ionhs eso mismo pensaba yo que en el brico usan un atmega 16 que tiene 40 patillas y no nuestro humilde atmega del arduino que tiene 24 20 para nosotros...

hechare un vistazo a ese tuto que dices yOPERO.

aver si Nayama nos cuenta un poko mas del tema

Madre mia eso es para un ingeniero lo menos.... ese chip max hara maravillas pero tb ser capaz de entenderlo conectarlo y usarlo es una obra de ingeneria... por no hablar de que no me entero de gran cosa al estar en ingles el tuto.

de todas maneras muchas gracias yOPERO al menos la forma de hacerlo esta hay sea mas o menos complicada...

un saludo

@Alex asturias

Según mi entender lo menos complicado es seguir el tutorial y usar un atmega16.

Si lees con detenimiento el setup es muy parecido a nuestro humilde 328.

yOPERO:
En el siguiente link hay un artúculo muy completo sobre el 7219 y arduino

El 7219 puede controlar hasta 64 (=444).

Para el tema 3D simplemente tendreis que tunear un poquillo la distribución de diagonales y segmentos.

Arduino Playground - MAX72XXHardware

Me lo apunto haber si cuando tenga tiempo :roll_eyes: lo miro con más calma. Gracias yOPERO

Yo todavía el cubo no lo he hecho, pero los 64 leds en fila si. el cubo debería ser más sencillo.
el max 72XX digamos que tiene 8 salidas y 8 entradas, si miras el datasheet, creo que los veras, unos son para los ánodos y los otros para los cátodos. Después es ir jugando. Como el cubo tienes 4 plantas y 16 "leds base" tendrás que hacer combinaciones. Seguro que se pueden conectar 2 max 72XX en paralelo. Cuando tenga tiempo haré pruebas, pero ahora me es imposible, estamos a final de curso.

se me olvidaba, como la alimentación del max 72XX es independiente del arduino, no hay peligro de tostar el Arduino. Usas el arduino para controlar, y no para alimentar los leds. Cuando conectas todos a la vez, son demasiados leds para el arduino.

gracias por el consejo nayma(y por una explicacion que se entiende del 72XX onque todavia se escapa a mis conocimientos)

PD: no te sobrara algun cupo en tu clase para otro alumno verdad? jajajajaj.

un saludo

Solo por que haya hecho funcionar unos leds, no quiere decir nada. :slight_smile:

Por si os hace falta

22,14,16,20,23,21,15y 17. Estas líneas estarán conectados al ánodo ( positivo del led)
Los cátodos estarán unidos a las entradas del max7219: 2,11,6,7,3,10,5 y 8 respectivamente.

Necesitareis instalar la librería LedControl.h.

Aquí tenéis el código usado en la siguiente animación

//We always have to include the library
#include "LedControl.h"

*
 Now we need a LedControl to work with.
 ***** These pin numbers will probably not work with your hardware *****
 pin 12 is connected to the DataIn 
 pin 11 is connected to the CLK 
 pin 10 is connected to LOAD 
 ***** Please set the number of devices you have *****
 But the maximum default of 8 MAX72XX wil also work.
 */
LedControl lc=LedControl(12,11,10,8);

/* we always wait a bit between updates of the display */
unsigned long delaytime=1;

/* 
 This time we have more than one device. 
 But all of them have to be initialized 
 individually.
 */
void setup() {
  //we have already set the number of devices when we created the LedControl
  int devices=lc.getDeviceCount();
  //we have to init all devices in a loop
  for(int address=0;address<devices;address++) {
    /*The MAX72XX is in power-saving mode on startup*/
    lc.shutdown(address,false);
    /* Set the brightness to a medium values */
    lc.setIntensity(address,8);
    /* and clear the display */
    lc.clearDisplay(address);

  }
}

void loop() { 
  //read the number cascaded devices
  int devices=lc.getDeviceCount();
  
  //we have to init all devices in a loop
  for(int row=0;row<8;row++) {
    for(int col=0;col<8;col++) {
      for(int address=0;address<devices;address++) {
        delay(delaytime);
        lc.setLed(address,row,col,true);
        lc.setLed(address,row,col+1,true);
        lc.setLed(address,row,col+2,true);
        delay(delaytime);
        lc.setLed(address,row,col,false);
      }
    }
  }
  
  //ahora alreves
  for(int row=7;row>=0;row--) {
    for(int col=7;col>0;col--) {
      for(int address=0;address<devices;address++) {
        delay(del/aytime);
        lc.setLed(address,row,col,true);
        delay(delaytime);
        lc.setLed(address,row,col,false);
      }
    }
  }
  
}


Aquí teneis el resultado. Espero que os guste.

muchas gracias por subir el codigo nayma mirare precios de ese integrado aver si es posible adquirirlo para usarlo mas adelante.

Haber si tengo tiempo y me hago uno también!

He mirado por eBay en china y por 1,49 $ (1,06 €) tiene un pack de 2 chips ->> http://goo.gl/P8tIP, lo malo es que tarda en llegar si tienes prisa en hacerlo (10 a 20 días).

Un saludo :wink:

Hola ElRodri,
si tienes tiempo y te parece bien podíamos quedar para hacer el cubo. Yo no tengo ni idea, y ahora con el chip este menos. Vivo en Cornella.

Saludos

Uniseco yo ahora mismo no tengo tiempo por que estoy con los finales, luego seguramente luego alguna recuperación y aparte trabajando. Digamos que tengo las placas de arduino acumulando polvo jaja

Pero yo seguramente me haga uno de 3x3x3 algo sencillo.

si usas este chip necesitaras 2 para este cubo. Cuando tenga tiempo, que yo también estoy en finales miro algunos tutoriales, para hacerlos de diferente manera subiendo una unidad cada vez hasta llegar a 888 y así ir aprendiendo poco a poco. Creo que buscaré alguna pàgina para comprar 1kleds :slight_smile:

nayma:
si usas este chip necesitaras 2 para este cubo. Cuando tenga tiempo, que yo también estoy en finales miro algunos tutoriales, para hacerlos de diferente manera subiendo una unidad cada vez hasta llegar a 888 y así ir aprendiendo poco a poco. Creo que buscaré alguna pàgina para comprar 1kleds :slight_smile:

Eso seria estupendo!!!!!

Gracias

Este fin de semana que he estado más descansado me echo un cubo de leds de 3x3x3.

Pero si que podríamos hacer con una placa arduino un cubo de 4x4x4 sin chip adicional, utilizando los pines digitales del 0 a 13 y analógicos 4 y 5 tendríamos 16 que seria una capa, despues con los pines analógicos del 0 a 3 tenemos para seleccionar cada capa (a los transistores), no?

¿que distancia hay entre leds?
yo uso los max,de esta manera no alimento directamente los leds. Es que cuando se haga grande ya se que me faltaran salidas

nayma:
¿que distancia hay entre leds?

Pues alrededor ~1cm entre LED's

Bueno,
de momento hoy me pondre a soldar todos los leds.... :stuck_out_tongue: