Juste pour le plaisir et après m'être fait doubler en voiture par un exemplaire du dernier modèle d'Audi TT, voici un clignotant d'Audi dernière génération ! Pour ceux qui l'ignorent, ces clignotants "dynamiques" sont composés de DEL dont la lumière paraît défiler dans la direction indiquée par le clignotant...
- Mise en œuvre :
N'ayant toujours pas de résistances appropriées pour le moment, j'ai utilisé les 560 Ω habituelles. Comme le nombre de DEL était plus élevé que d'habitude, je les ai branchées en parallèle sur une sortie 5 V de l'Arduino, pour ensuite les relier à des broches digitales en entrée, ce qui inverse alors le fonctionnement du digitalWrite(pin, state) : l'état LOW allume la DEL, l'état HIGH l'éteint.
Schéma du montage :
- Code Arduino :
#define pin1 6 // Constantes préprocesseur.
#define pin2 7
#define pin3 8
#define pin4 9
#define pin5 10
#define pin6 11
#define pin7 12
void setup()
{
pinMode(pin1, OUTPUT); // Broches fixées en sorties.
pinMode(pin2, OUTPUT);
pinMode(pin3, OUTPUT);
pinMode(pin4, OUTPUT);
pinMode(pin5, OUTPUT);
pinMode(pin6, OUTPUT);
pinMode(pin7, OUTPUT);
resetLED(); // Appel à l'extinction des DEL.
}
void loop()
{
delay(500); // Pause.
digitalWrite(pin1, LOW); // Allumage DEL 1.
delay(75);
digitalWrite(pin2, LOW); // Allumage DEL 2.
delay(75);
digitalWrite(pin3, LOW); // Allumage DEL 3.
delay(75);
digitalWrite(pin4, LOW); // Allumage DEL 4.
delay(75);
digitalWrite(pin5, LOW); // Allumage DEL 5.
delay(75);
digitalWrite(pin6, LOW); // Allumage DEL 6.
delay(75);
digitalWrite(pin7, LOW); // Allumage DEL 7.
delay(500);
resetLED(); // Appel à l'extinction des DEL.
}
void resetLED() // Fonction d'extinction des DEL.
{
digitalWrite(pin1, HIGH);
digitalWrite(pin2, HIGH);
digitalWrite(pin3, HIGH);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, HIGH);
digitalWrite(pin6, HIGH);
digitalWrite(pin7, HIGH);
}
Rien d'extraordinaire ici, mis à part l'inversement de la manière de fonctionner du digitalWrite(pin, state) comme précisé plus haut.
Rendu final approximatif :