samedi 2 juillet 2016

Un clignotant d'Audi !

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 :