Randomisateur LEDs 3*3

Pour noël j’ai eu l’idée de faire une déco en utilisant un Arduino. C’est 9 LEDs collés qui s’allument dans un ordre aléatoire. Voici une petite démo :

Composants

  • Un arduino
  • 9 LEDs
  • 9 résistances 220Ω
  • Des cables M-M
  • Une breadboard

Cablage

Moi j’ai commencé à souder les LEDs sur une mini breadboard mais vous pouvez juste les clipper. Il faut relier tous les petites broches ensemble et laisser les grandes séparrés. Vous relierez chaque longue broche à une résistance 220Ω, qui elle même sera relié à l’arduino. Tandis que les petites broches peuvent directement aller dans le ground (GND) de l’Arduino. Voici un schéma pour expliquer, j’ai utilisé Fritzing :

Schéma de cablage

Bien sur j’ai utilisé beaucoup de différentes couleurs de câbles mais vous pouvez choisir.

Code

//Carre de LEDs 3*3 avec randomisateur
//valentin cassayre

void setup() {
 pinMode(13, OUTPUT);
 pinMode(12, OUTPUT);
 pinMode(11, OUTPUT);
 pinMode(10, OUTPUT);
 pinMode(9, OUTPUT);
 pinMode(8, OUTPUT);
 pinMode(7, OUTPUT);
 pinMode(6, OUTPUT);
 pinMode(5, OUTPUT);
}
void loop() {
 digitalWrite(random(5,14), HIGH); 
 delay(random(10,80)); 
 boolean l = true;
 for(int i = 4; i <= 13; i++)
 if(digitalRead(i) == LOW)
 l = false;
 if(l)
 for(int i = 4; i <= 13; i++)
 digitalWrite(i, LOW);
 }

Conclusion

Au final c’est joli, ça fait de la lumière, mais c’est pas très optimisé. Il utilise 9 ports digitaux de l’arduino, ce qui est trop. On pourrait par exemple utiliser un multiplexeur et ainsi créer une plus grande matrice.

J’ai réalisé un projet un peu plus gros, un cube de 27 leds pour illustrer la possibilité de ne pas utiliser pour chaque led un port, article disponible ici.