Daftouf table / kit arduino (Daft Punk Table)

IMG00055-20100628-1929

Daftouf table / kit arduino (Daft Punk Table)

Petite création maison de la fameuse table Daft Punk :

Pour épater la galerie, ne passez pas à côté de cet objet collector créé par le groupe Daft Punk pour Habitat. Cette table basse lumineuse, avec sa structure en contre-plaqué et son plateau en verre, est dotée de neuf éclairages différents. La grande classe…

Habitat 1 400 € http://www.habitat.net src

Nous allons voir ici comment la réaliser :)

Composants :

  • 125 Leds Rouges 4.000 mcd V-LumTech / Angle de diffusion 120° / Taille de la led 5mm / Alimentation électrique 2.2v / Ampérage requis 20mA
  • KIT Arduino Duemilanove
  • Alimentation 12V 60w / Résistance requise 560 Ohms 0.25W
  • TLC5940 : tlc5940arduino An Arduino Library for the TI TLC5940 16-Channel PWM Chip
    le site web : http://code.google.com/p/tlc5940arduino/ DOC PDF TI tlc5940
  • Code source de l’animation en bas de la page


Electronique :


Spécification des leds :

Boutique en ligne



http://arduino.cc/en/Main/Software


Construction :


Vidéo :




Code source :

 
#include <Tlc5940.h>

/* EXAMPLES : 

  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(2000);
  
*/

void daft();
void respire();
void actouf();
void cube();

void setup()
{
  Tlc.init();
}

void loop()
{
  int direction = 1;
  for (int channel = 0; channel < 25; channel += direction) {

    /* Tlc.clear() sets all the grayscale values to zero, but does not send
       them to the TLCs.  To actually send the data, call Tlc.update() */
    Tlc.clear();

    /* Tlc.set(channel (0-15), value (0-4095)) sets the grayscale value for
       one channel (15 is OUT15 on the first TLC, if multiple TLCs are daisy-
       chained, then channel = 16 would be OUT0 of the second TLC, etc.).

       value goes from off (0) to always on (4095).

       Like Tlc.clear(), this function only sets up the data, Tlc.update()
       will send the data. */
    if (channel == 0) {
      direction = 1;
      cube();
       actouf();
       daft();
    } else {
      Tlc.set(channel - 1, 1000);
    }
    Tlc.set(channel, 4095);
    if (channel != 25 - 1) {
      Tlc.set(channel + 1, 1000);
    } else {
      direction = -1;
      cube();
      daft();
    }

    /* Tlc.update() sends the data to the TLCs.  This is when the LEDs will
       actually change. */
    Tlc.update();

    delay(150);
  }

}

void daft(){
  // MOVIE
  //http://www.youtube.com/watch?v=zCA79Du-WqY
  
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  Tlc.clear();
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.update();
  delay(1000);
  
  Tlc.clear();
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);

  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  
  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.update();
  delay(1000);
  
  Tlc.clear();
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);
  
  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.update();
  delay(1000);

  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(2, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(10, 4095);
  Tlc.set(14, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(22, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  Tlc.clear();
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);
  
  Tlc.set(11, 4095);
  Tlc.set(13, 4095);
  
  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.update();
  delay(1000);
  
    Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(2, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(10, 4095);
  Tlc.set(14, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(22, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  
  Tlc.clear();
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(7, 4095);
  Tlc.set(9, 4095);
  
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);

  Tlc.set(15, 4095);
  Tlc.set(17, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.update();
  delay(1000);
  
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  
  Tlc.set(5, 4095);
  Tlc.set(7, 4095);
  
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);

  Tlc.set(17, 4095);
  Tlc.set(19, 4095);
  
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);  
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);
  
  Tlc.set(7, 4095);
  Tlc.set(9, 4095);
  
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  
  Tlc.set(17, 4095);
  
  Tlc.set(19, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //0:07
  Tlc.clear();

  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(10, 4095);

  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.update();
  delay(1000);
  
  //0:08
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(5, 4095);

  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  
  Tlc.set(10, 4095);
  Tlc.set(12, 4095);
  Tlc.set(14, 4095);
  
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(19, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
    //0:09
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(5, 4095);

  Tlc.set(6, 4095);
  Tlc.set(9, 4095);
  
  Tlc.set(10, 4095);
  Tlc.set(12, 4095);
  Tlc.set(14, 4095);
  
  Tlc.set(15, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //0:09
  Tlc.clear();
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);

  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.update();
  delay(1000);
  
  //0:10
  Tlc.clear();
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.update();
  delay(1000);
  
    //0:11
    Tlc.clear();
  Tlc.set(0, 4095);

  Tlc.set(4, 4095);
  Tlc.set(5, 4095);

  Tlc.set(9, 4095);
  Tlc.set(10, 4095);

  Tlc.set(14, 4095);
  Tlc.set(15, 4095);

  Tlc.set(19, 4095);
  Tlc.set(20, 4095);

  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //0:11
  Tlc.clear();

  Tlc.set(1, 4095);
  Tlc.set(3, 4095);

  Tlc.set(6, 4095);
  Tlc.set(8, 4095);

  Tlc.set(11, 4095);
  Tlc.set(13, 4095);

  Tlc.set(16, 4095);
  Tlc.set(18, 4095);

  Tlc.set(21, 4095);
  Tlc.set(23, 4095);

  Tlc.update();
  delay(1000);
  
  //0:13
  Tlc.clear();
  Tlc.set(2, 4095);
  Tlc.set(7, 4095);
  Tlc.set(12, 4095);
  Tlc.set(17, 4095);
  Tlc.set(22, 4095);
  Tlc.update();
  delay(1000);
  
  //0:13
  Tlc.clear();
  Tlc.set(2, 4095);


  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);

  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);

  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(20, 4095);

  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //0:14
  Tlc.clear();
  Tlc.set(0, 4095);

  Tlc.set(4, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);

  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);

  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);

  Tlc.set(22, 4095);

  Tlc.update();
  delay(1000);
  
  //0:15
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);

  Tlc.set(9, 4095);
  Tlc.set(10, 4095);

  Tlc.set(14, 4095);
  Tlc.set(15, 4095);

  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //0:16
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(4, 4095);
  Tlc.set(6, 4095);
  Tlc.set(8, 4095);
  Tlc.set(12, 4095);
  Tlc.set(16, 4095);
  Tlc.set(18, 4095);
  Tlc.set(20, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //0:17
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //0:18
  Tlc.clear();
  Tlc.set(6, 4095);
  Tlc.set(8, 4095);

  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);

  Tlc.set(16, 4095);
  Tlc.set(18, 4095);

  Tlc.update();
  delay(1000);
  
  
  //0:19
  Tlc.clear();
  Tlc.set(7, 4095);

  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);

  Tlc.set(17, 4095);

  Tlc.update();
  delay(1000);
  
  //0:20
  Tlc.clear();

  Tlc.set(6, 4095);
  Tlc.set(8, 4095);

  Tlc.set(12, 4095);

  Tlc.set(16, 4095);
  Tlc.set(18, 4095);

  Tlc.update();
  delay(1000);
  
    //0:21
  Tlc.clear();
  Tlc.set(2, 4095);
  Tlc.set(7, 4095);

  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);

  Tlc.set(17, 4095);
  Tlc.set(22, 4095);

  Tlc.update();
  delay(1000);
  
  
    //0:21
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(4, 4095);
  

  Tlc.set(6, 4095);
  Tlc.set(8, 4095);


  Tlc.set(16, 4095);
  Tlc.set(18, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  
   //0:22
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);

  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000); 
  
    //0:23
  Tlc.clear();
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.update();
  delay(1000);
  
  //0:25
  Tlc.clear();
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.update();
  delay(1000);
  
  //0:23
  Tlc.clear();

  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);


  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);

  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.update();
  delay(1000);
  
  
  //0:23
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);

  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);

  Tlc.set(8, 4095);
  Tlc.set(9, 4095);

  Tlc.set(15, 4095);
  Tlc.set(16, 4095);

  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);

  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //0:24
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(2, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(10, 4095);

  Tlc.set(14, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(22, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  
  //0:25
  Tlc.clear();
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);

  Tlc.set(11, 4095);

  Tlc.set(13, 4095);

  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.update();
  delay(1000);
  
  
  //0:25
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(2, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(10, 4095);

  Tlc.set(14, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(22, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //END
  
  
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(5, 4095);
  Tlc.set(9, 4095);
  
  Tlc.set(10, 4095);
  Tlc.set(14, 4095);
  
  Tlc.set(15, 4095);
  Tlc.set(19, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  
  Tlc.clear();
  Tlc.set(1, 4095);
  Tlc.set(3, 4095);
  
  Tlc.set(6, 4095);
  Tlc.set(8, 4095);

  Tlc.set(11, 4095);
  Tlc.set(13, 4095);

  Tlc.set(16, 4095);
  Tlc.set(18, 4095);

  Tlc.set(21, 4095);
  Tlc.set(23, 4095);
  Tlc.update();
  delay(1000);
  
  
  Tlc.clear();
  Tlc.set(2, 4095);
  Tlc.set(7, 4095);
  Tlc.set(12, 4095);
  Tlc.set(17, 4095);
  Tlc.set(22, 4095);
  Tlc.update();
  delay(1000);
  
  
    Tlc.clear();
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.update();
  delay(1000);
  
  
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(2000);
  
  for(int i = 0; i < 10; i++)
  {
    Tlc.clear();
  Tlc.set(0, 1000);
  Tlc.set(1, 4095);
  Tlc.set(2, 1000);
  Tlc.set(3, 4095);
  Tlc.set(4, 1000);
  Tlc.set(5, 4095);
  Tlc.set(6, 1000);
  Tlc.set(7, 4095);
  Tlc.set(8, 1000);
  Tlc.set(9, 4095);
  Tlc.set(10, 1000);
  Tlc.set(11, 4095);
  Tlc.set(12, 1000);
  Tlc.set(13, 4095);
  Tlc.set(14, 1000);
  Tlc.set(15, 4095);
  Tlc.set(16, 1000);
  Tlc.set(17, 4095);
  Tlc.set(18, 1000);
  Tlc.set(19, 4095);
  Tlc.set(20, 1000);
  Tlc.set(21, 4095);
  Tlc.set(22, 1000);
  Tlc.set(23, 4095);
  Tlc.set(24, 1000);
  Tlc.update();
  delay(200);
  
    Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 1000);
  Tlc.set(2, 4095);
  Tlc.set(3, 1000);
  Tlc.set(4, 4095);
  Tlc.set(5, 1000);
  Tlc.set(6, 4095);
  Tlc.set(7, 1000);
  Tlc.set(8, 4095);
  Tlc.set(9, 1000);
  Tlc.set(10, 4095);
  Tlc.set(11, 1000);
  Tlc.set(12, 4095);
  Tlc.set(13, 1000);
  Tlc.set(14, 4095);
  Tlc.set(15, 1000);
  Tlc.set(16, 4095);
  Tlc.set(17, 1000);
  Tlc.set(18, 4095);
  Tlc.set(19, 1000);
  Tlc.set(20, 4095);
  Tlc.set(21, 1000);
  Tlc.set(22, 4095);
  Tlc.set(23, 1000);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(200);
  }
  
    
    
  
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  
  
    Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(10, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  
    Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);

  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  
    Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);

  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(4, 4095);

  Tlc.set(12, 4095);

  Tlc.set(20, 4095);

  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
}

void actouf(){

//A
  Tlc.clear();
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(5, 4095);

  Tlc.set(9, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);

  Tlc.set(19, 4095);
  Tlc.set(20, 4095);

  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
	
//C
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(9, 4095);
  Tlc.set(14, 4095);
  Tlc.set(19, 4095);

  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //T
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);

  Tlc.set(7, 4095);
  Tlc.set(12, 4095);
  Tlc.set(17, 4095);
  Tlc.set(22, 4095);

  Tlc.update();
  delay(1000);
  
  //O
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(5, 4095);

  Tlc.set(9, 4095);
  Tlc.set(10, 4095);

  Tlc.set(14, 4095);
  Tlc.set(15, 4095);

  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //U
  Tlc.clear();
  Tlc.set(0, 4095);

  Tlc.set(4, 4095);
  Tlc.set(5, 4095);

  Tlc.set(9, 4095);
  Tlc.set(10, 4095);

  Tlc.set(14, 4095);
  Tlc.set(15, 4095);

  Tlc.set(19, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(1000);
  
  //F
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(9, 4095);
  Tlc.set(14, 4095);
  
  Tlc.set(13, 4095);
  Tlc.set(12, 4095);
  Tlc.set(19, 4095);
  Tlc.set(24, 4095);

  Tlc.update();
  delay(1000);
}

void respire(){

  for (int intens = 0; intens <= 4095; intens += intens+5) 
  {
    Tlc.clear();
   
    for (int channel = 0; channel < 25; channel++) {
      Tlc.set(channel, intens);
    }

    Tlc.update();
    delay(500);
  }
delay(1000);
}

void cube(){
  
  for(int i = 0; i < 15; i++)
  {
    Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(2, 4095);
  Tlc.set(4, 4095);
  
  Tlc.set(10, 4095);
   Tlc.set(12, 1000);
  Tlc.set(14, 4095);
  
  Tlc.set(20, 4095);
  Tlc.set(22, 4095);
  Tlc.set(24, 4095);
  
    Tlc.set(1, 1000);
  Tlc.set(3, 1000);
  
  Tlc.set(5, 1000);
  Tlc.set(9, 1000);
  
  Tlc.set(15, 1000);
  Tlc.set(19, 1000);
  
  Tlc.set(21, 1000);
  Tlc.set(23, 1000);
  Tlc.update();
  delay(200);
  
  
  Tlc.clear();
  Tlc.set(1, 4095);
  Tlc.set(3, 4095);
  
  Tlc.set(5, 4095);
  Tlc.set(9, 4095);
  Tlc.set(12, 4095);
  Tlc.set(15, 4095);
  Tlc.set(19, 4095);
  
  Tlc.set(21, 4095);
  Tlc.set(23, 4095);
  
  Tlc.set(0, 1000);
  Tlc.set(2, 1000);
  Tlc.set(4, 1000);
  
  Tlc.set(10, 1000);
  Tlc.set(14, 1000);
  
  Tlc.set(20, 1000);
  Tlc.set(22, 1000);
  Tlc.set(24, 1000);
  Tlc.update();
  delay(200);
  }
  
    for(int i = 0; i < 10; i++)
  {
  Tlc.clear();
  Tlc.set(6, 4095);
  Tlc.set(8, 4095);
  Tlc.set(16, 4095);
  Tlc.set(18, 4095);
  Tlc.set(7, 1000);
  Tlc.set(12, 1000);
  Tlc.set(13, 1000);
  Tlc.set(17, 1000);
  Tlc.set(11, 1000);
  Tlc.update();
  delay(200);
  
  Tlc.clear();
  Tlc.set(7, 4095);
  Tlc.set(13, 4095);
  Tlc.set(17, 4095);
  Tlc.set(11, 4095);
  Tlc.set(12, 4095);
  Tlc.set(6, 1000);
  Tlc.set(8, 1000);
  Tlc.set(16, 1000);
  Tlc.set(18, 1000);
  Tlc.update();
  delay(200);
}


for(int i = 0; i < 2; i++)
  {
  Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);

  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(500);


  Tlc.clear();
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.update();
  delay(500);


  Tlc.clear();
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.update();
  delay(500);
  
    Tlc.clear();
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.update();
  delay(500);
  
  
    Tlc.clear();
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.update();
  delay(500);
  
  
  Tlc.clear();
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.update();
  delay(500);
  
    Tlc.clear();
  Tlc.set(0, 4095);
  Tlc.set(1, 4095);
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);

  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.set(23, 4095);
  Tlc.set(24, 4095);
  Tlc.update();
  delay(500);
  
    Tlc.clear();
  Tlc.set(2, 4095);
  Tlc.set(1, 4095);
  Tlc.set(7, 4095);
  Tlc.set(6, 4095);

  Tlc.set(18, 4095);
  Tlc.set(17, 4095);
  Tlc.set(23, 4095);
  Tlc.set(22, 4095);
  Tlc.update();
  delay(500);
  
  
      Tlc.clear();
  Tlc.set(2, 4095);
  Tlc.set(3, 4095);
  Tlc.set(7, 4095);
  Tlc.set(8, 4095);

  Tlc.set(16, 4095);
  Tlc.set(17, 4095);
  Tlc.set(21, 4095);
  Tlc.set(22, 4095);
  Tlc.update();
  delay(500);
  
  
      Tlc.clear();
  Tlc.set(3, 4095);
  Tlc.set(4, 4095);
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.set(20, 4095);
  Tlc.set(21, 4095);
  Tlc.update();
  delay(500);
  
      
    Tlc.clear();
  Tlc.set(8, 4095);
  Tlc.set(9, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(15, 4095);
  Tlc.set(16, 4095);
  Tlc.update();
  delay(500);
  
  


  Tlc.clear();
  Tlc.set(5, 4095);
  Tlc.set(6, 4095);
  Tlc.set(10, 4095);
  Tlc.set(11, 4095);
  
  Tlc.set(13, 4095);
  Tlc.set(14, 4095);
  Tlc.set(18, 4095);
  Tlc.set(19, 4095);
  Tlc.update();
  delay(500);  
  }
}

Contrat Creative Commons
daftouf table by actouf est mis à disposition selon les termes de la licence Creative Commons Paternité – Pas d’Utilisation Commerciale – Partage des Conditions Initiales à l’Identique 3.0 Unported.

SHARE THIS POST

  • Facebook
  • Twitter
  • Myspace
  • Google Buzz
  • Reddit
  • Stumnleupon
  • Delicious
  • Digg
  • Technorati

15 Comments on "Daftouf table / kit arduino (Daft Punk Table)"

  1. CielAlex 31/10/2010 à 11:09 - Reply

    Magnifique.

    Je ne saurais pas la fabriquer, mais si tu es interréssé par une commande, n »hésite pas à me contacter.

    Chrome 7.0.517.41 Windows 7

    Thumb up 0 Thumb down 0

  2. MAT 22/12/2010 à 12:34 - Reply

    Bonjour,

    Tout d’abord bravo pour ton travail !!

    Existe t il un tutoriel plus précis concernant la partie programmation électronique et raccordement électronique?

    Merci d’avance,

    MSIE 8.0 Windows XP 64-bit/Server 2003

    Thumb up 1 Thumb down 0

  3. sam 16/02/2011 à 16:24 - Reply

    Merci pour l’idee et le code :)

    par contre je ne trouve pas le schéma de cablage a moins que ce soit celui donné dans la page « code google » en gros la meme chose que ce tuto anglais mais avec un code source différent…

    et pour le cablage des leds et resistance sur la plaque tu aurais un schéma ?

    merci :)

    Firefox 3.5.7 Windows Vista

    Well-loved. Like or Dislike: Thumb up 4 Thumb down 0

  4. autofage christian 02/07/2011 à 13:21 - Reply

    je suis acheteur d’une table comme celle que vous avez faite Si vous ètes vendeur vous avez mon e mail ou mon téléphone est le 06 16 17 77 73 Merci d’avance

    Safari MacIntosh

    Thumb up 0 Thumb down 0

  5. Romain 10/08/2011 à 11:45 - Reply

    Bonjour,

    Je souhaite depuis plusieurs années me lancer dans la construction de cette table (trop chère quand elle était en vente à Habitat Montpellier) mais n’ayant aucune connaissance en prog et en électronique, je n’ai jamais sauté le pas.

    Toutefois, la vu de ta table a ranimé en moi cette envie (je la veux !).

    Te serait-il possible de détailler les schémas de cablages (même celle des leds…je sais je suis un gland).

    Je t’en remercie d’avance.

    Romain

    MSIE 8.0 Windows XP

    Thumb up 1 Thumb down 0

  6. Cosmodrome 17/08/2011 à 12:03 - Reply

    Bonjour, j’ai moi-meme une table daft punk faite maison. Elle est remisée dans le garage actuellement mais ca me donne envie de la ressortir. Concernant votre montage, les deux tlc5940 permettent-ils de faire varier la luminosité de chaque case individuellement ? Et comment faites-vous la programmation des sequences? Directement dans le code?
    Pour ma table, j’aimerai bien ajouter une carte sd pour transferer les sequences créées sur ordinateur mais je suis bloqué par mon manque de connaissance en électronique.

    Safari iPad  iOS 4.3.3

    Thumb up 0 Thumb down 0

  7. CHRISTIAN 14/01/2012 à 19:03 - Reply

    bonjour superbe ton boulot toi t’est un vrai pro moi aussi j’adore la table basse daft punk mais je ne sais pas si je serais capable de la fabriquer moi meme ?

    MSIE 8.0 Windows XP

    Thumb up 0 Thumb down 0

  8. christian 14/01/2012 à 19:08 - Reply

    oui moi aussi je suis acheteur d’une de vos table si vous les fabriquez encore ?

    MSIE 8.0 Windows XP

    Thumb up 0 Thumb down 0

  9. Onthetrack 08/03/2012 à 17:53 - Reply

    Encore bravo actouf c’est un boulot de fou.
    Big respect pour fabriquer cette table il faut compter combien?
    D’avance merci

    Firefox 10.0.2 MacIntosh

    Thumb up 0 Thumb down 0

    • actouf 21/03/2012 à 22:30 - Reply

      Salut, Merci ;) il faut compter 1 jour pour la structure de la table en bois et 1-2 jours pour l’électronique .

      PS: Je ne vends pas la Table ! Sorry !!!

      Chrome 18.0.1025.129 MacIntosh

      Thumb up 0 Thumb down 0

  10. Ben 10/04/2012 à 16:47 - Reply

    Salut Actouf, aurais-tu plus de details quand au schema electronique? J’ai du mal a visualiser quel composants doivent etre soudé entre eux (de l’Arduino –> TLC –> Leds)

    Mais merci, ton tuto est genial.

    Chrome 18.0.1025.152 Windows Vista

    Thumb up 2 Thumb down 0

  11. chareyre 08/05/2016 à 16:21 - Reply

    Bonjour et félicitation pour ce projet.

    Je suis débutant et excusez moi pour mes questions peut être un peu naïves:

    Juste une interrogation sur le montage des led en aval du TCL. L’intensité nécessaire à chacune des groupes de 5 led n’est elle pas trop importante au regard de ce que fournit le TCL sur chacune de ses sorties , notamment en cas d’éclairage mutiple ?

    Par ailleurs pourriez vous indiquer les fils utilisés pour le cablage au vu des longueurs nécessaires (où acheter en ligne ces derniers par exemple)?

    Serait il possible de savoir comment sont assemblées ces 5 LED.

    Enfin l’alimentation j’image sert pour l’étage de puissance des LED et non pour l’arduino qui est alimenté à part ?

    Firefox 46.0 Windows XP

    Thumb up 0 Thumb down 0

Leave A Response