Projet Arduino : Diorama Millennium Falcon - Fuite de l'Etoile Noire
Ce guide explique comment creer un systeme Arduino controlant les effets lumineux de votre
diorama Star Wars dans un cube KALLAX, avec le LEGO Millennium Falcon 75375. Les effets
incluent : propulseurs clignotants, lasers rouges, explosion animee, lumiere dambiance, et activation
par bouton.
Schema de cablage :
Materiel necessaire :
- 1 x Arduino Uno ou Nano
- 2 x LED bleues (propulseurs)
- 2 x LED rouges (lasers)
- 1 x LED orange (explosion)
- 1 x LED blanche (ambiance)
- 6 x resistances 220
- 1 x bouton poussoir
- 1 x mini breadboard
- 15+ fils Dupont (M-M / F-M)
- 1 x alimentation USB ou pile 9V avec adaptateur
- Colle chaude, fil de peche, tiges transparentes
Etapes de montage :
1. Installez les LEDs dans le diorama (propulseurs, explosion, lasers, ambiance).
2. Connectez chaque LED a une broche de lArduino via une resistance de 220.
3. Connectez les cathodes (pattes courtes) a GND.
4. Branchez le bouton poussoir entre la broche 2 et GND (avec INPUT_PULLUP).
5. Alimentez lArduino via USB ou pile.
6. Televersez le code via lIDE Arduino.
7. Appuyez sur le bouton pour lancer les effets speciaux.
Code Arduino :
int bouton = 2;
int ledProp1 = 3;
int ledProp2 = 4;
int laserG = 5;
int laserD = 6;
int explosion = 9;
int ambiance = 10;
void setup() {
pinMode(bouton, INPUT_PULLUP);
pinMode(ledProp1, OUTPUT);
pinMode(ledProp2, OUTPUT);
pinMode(laserG, OUTPUT);
pinMode(laserD, OUTPUT);
pinMode(explosion, OUTPUT);
pinMode(ambiance, OUTPUT);
}
void loop() {
if (digitalRead(bouton) == LOW) {
digitalWrite(ambiance, HIGH);
digitalWrite(ledProp1, HIGH);
digitalWrite(ledProp2, LOW);
delay(150);
digitalWrite(ledProp1, LOW);
digitalWrite(ledProp2, HIGH);
delay(150);
digitalWrite(laserG, HIGH);
digitalWrite(laserD, LOW);
delay(100);
digitalWrite(laserG, LOW);
digitalWrite(laserD, HIGH);
delay(100);
for (int i = 0; i < 255; i += 15) {
analogWrite(explosion, i);
delay(10);
}
for (int i = 255; i > 0; i -= 15) {
analogWrite(explosion, i);
delay(10);
}
} else {
digitalWrite(ledProp1, LOW);
digitalWrite(ledProp2, LOW);
digitalWrite(laserG, LOW);
digitalWrite(laserD, LOW);
digitalWrite(explosion, LOW);
digitalWrite(ambiance, LOW);
}
}