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.
Très bien,
RépondreSupprimerpar 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
Il y a en effet un décalage de broche dans le schéma.
Supprimervoid 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.
Merci de votre confirmation; débutant avec Arduino je n'avais pas compris le sous programme
RépondreSupprimerOk
RépondreSupprimerGénial!!!!!
RépondreSupprimer