lundi 8 juillet 2013

Chenillard simple 8 voies



Le schéma est très simple, il est réalisé a l'aide de fritzing (logiciel gratuit)
Téléchargement  http://fritzing.org/download/

















Le code qui est assez simple:

                 -------------------------------------------------------------------------
// By Jojo Bricolo
//  mon-arduino.blogspot.com
// 07/07/2013

 //Chenillard 8 voies

const int LED[8]={2,3,4,5,6,7,8,9}; // déclaration d'un tableau de 8 constantes de broches

int vitesse=10; // variable de vitesse

void setup()   {

for (int i=0; i<=7; i++) { // 7 est les nombre de leds soit 8 au total, le zero compte aussi

  pinMode(LED[i], OUTPUT);
  digitalWrite(LED[i], LOW);
}
}

void loop(){

// effet 1

for (int j=0; j<4; j++) { // j<4 représente le nombre de répétitions

  On_Off(B11111101);
  delay (100); // durée d'allumage en milliseconde ces lignes peuvent être supprimées
  On_Off(B11110011);
delay (100);
  On_Off(B11100111);
delay (100);
  On_Off(B11111111);
delay (100);
  On_Off(B11100111);
delay (100);
  On_Off(B11010011);
delay (100);
  On_Off(B10011101);     
}

On_Off(B00000000); //remise a zéro
delay(0); // durée de la remise a zéro soit durée de la pause entre chaque effets


//*******************

// effet 2

for (int j=0; j<8; j++) {

  On_Off(B11111000);
  delay(120);
  On_Off(B01111100);
delay(120);
  On_Off(B00111110);
delay(120);
  On_Off(B00011111);
delay(120);

} // fin boucle for x10

On_Off(B00000000);
delay(0);

//****************

// effet 3

for (int j=0; j<8; j++) {

  On_Off(B11111111);
 delay (100);
  On_Off(B01111110);
delay (100);
  On_Off(B10111101);
delay (100);
  On_Off(B11011011);
delay (100);
  On_Off(B11100111);
delay (100);
  On_Off(B11011011);
  delay (100);
  On_Off(B10111101);
delay (100);
  On_Off(B01111110);
delay (100);
  On_Off(B11111111);

}

On_Off(B00000000);
delay(0);

}// fin

void On_Off(byte valeur) {
  for (int i=0; i<=7; i++) {
    digitalWrite(LED[i],bitRead(valeur,i));
  }
  delay(vitesse); //pause
}

         
                                   --------------------------------------------------------------------

Dans ce montage, je propose des leds mais cela peut être des opto-coupleurs, des relais, des triacs, etc... La sortie des modules Arduino permet de piloter  des courants allant jusqu’à 20mA au delà il faut mettre un driver de puissance.




5 commentaires:

  1. Très bien,
    par contre le schéma de montage ne reprend pas les mêmes sorties que le code (led 2à9, montage 3à10)
    Par ailleurs d'où vient cette commande On_Off qui fonctionne très bien mais qui n'apparait pas dans la doc Uno

    RépondreSupprimer
    Réponses
    1. Il y a en effet un décalage de broche dans le schéma.

      void On_Off(byte valeur) {
      for (int i=0; i<=7; i++) {
      digitalWrite(LED[i],bitRead(valeur,i));
      }
      delay(vitesse); //pause
      }
      Est un sous programme de comptage qui est appelé à chaque ligne de commande de led. Cela simplifie le programme.

      Supprimer
  2. Merci de votre confirmation; débutant avec Arduino je n'avais pas compris le sous programme

    RépondreSupprimer