Offline
Newbie
Karma: 0
Posts: 16
|
 |
« on: January 18, 2012, 10:16:11 am » |
Bonjour a tous je vient a vous pour optenir de l'aide ou du moins le code pour un chenillard 8 leds voila je voudrai savoir le code pour optenir un effet d'atténuement entre chaque leds Voici mon code actuelle que faut t'il rejouter
const int LED[8]={0,1,2,3,4,5,6,7}; // déclare un tableau de 8 constantes de broches // la broche 4 correspond à la LED[0], 5 à LED[1], ..
// --- Déclaration des variables globales ---
int vitesse=250; // variable de vitesse entre chaque affichage des LEDs
// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---
//**************** FONCTION SETUP = Code d'initialisation ***** // La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme
void setup() { // debut de la fonction setup()
// --- ici instructions à exécuter au démarrage ---
// ------- Broches en sortie -------
// met les 8 broches en sortie for (int i=0; i<=7; i++) { // boucle de défilement des 8 broches
pinMode(LED, OUTPUT); //met la broche en sortie digitalWrite(LED, LOW); // met la broche à 0V (LED éteinte) pour démarrer
}
} // fin de la fonction setup() // ********************************************************************************
//*************** FONCTION LOOP = Boucle sans fin = coeur du programme ************* // la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension
void loop(){ // debut de la fonction loop()
//-------- méthode basique -----------
// LED seule se déplace
for (int j=0; j<10; j++) { //boucle de répétition x 10
digitalWrite (LED[0],1), digitalWrite (LED[1],0), digitalWrite (LED[2],0),digitalWrite (LED[3],0); digitalWrite (LED[4],0),digitalWrite (LED[5],0),digitalWrite (LED[6],0),digitalWrite (LED[7],0); delay (vitesse);
digitalWrite (LED[0],0), digitalWrite (LED[1],1), digitalWrite (LED[2],0),digitalWrite (LED[3],0); digitalWrite (LED[4],0),digitalWrite (LED[5],0),digitalWrite (LED[6],0),digitalWrite (LED[7],0); delay (vitesse);
digitalWrite (LED[0],0), digitalWrite (LED[1],0), digitalWrite (LED[2],1),digitalWrite (LED[3],0); digitalWrite (LED[4],0),digitalWrite (LED[5],0),digitalWrite (LED[6],0),digitalWrite (LED[7],0); delay (vitesse);
digitalWrite (LED[0],0), digitalWrite (LED[1],0), digitalWrite (LED[2],0),digitalWrite (LED[3],1); digitalWrite (LED[4],0),digitalWrite (LED[5],0),digitalWrite (LED[6],0),digitalWrite (LED[7],0); delay (vitesse);
digitalWrite (LED[0],0), digitalWrite (LED[1],0), digitalWrite (LED[2],0),digitalWrite (LED[3],0); digitalWrite (LED[4],1),digitalWrite (LED[5],0),digitalWrite (LED[6],0),digitalWrite (LED[7],0); delay (vitesse);
digitalWrite (LED[0],0), digitalWrite (LED[1],0), digitalWrite (LED[2],0),digitalWrite (LED[3],0); digitalWrite (LED[4],0),digitalWrite (LED[5],1),digitalWrite (LED[6],0),digitalWrite (LED[7],0); delay (vitesse);
digitalWrite (LED[0],0), digitalWrite (LED[1],0), digitalWrite (LED[2],0),digitalWrite (LED[3],0); digitalWrite (LED[4],0),digitalWrite (LED[5],0),digitalWrite (LED[6],1),digitalWrite (LED[7],0); delay (vitesse);
digitalWrite (LED[0],0), digitalWrite (LED[1],0), digitalWrite (LED[2],0),digitalWrite (LED[3],0); digitalWrite (LED[4],0),digitalWrite (LED[5],0),digitalWrite (LED[6],0),digitalWrite (LED[7],1); delay (vitesse);
} // fin boucle for x10
allumeLED(B00000000); delay(300);
//----------- méthode évoluée - code plus propre ---------------
// effet rideau for (int j=0; j<10; j++) { //boucle de répétition x 10
allumeLED(B00000000); // appelle la fonction qui met les LEDs dans l'état des bits allumeLED(B10000001); allumeLED(B11000011); allumeLED(B11100111); allumeLED(B11111111); allumeLED(B11100111); allumeLED(B11000011); allumeLED(B10000001); allumeLED(B00000000);
} // fin boucle for x10
allumeLED(B00000000); delay(300);
// effet K2000 for (int j=0; j<10; j++) { //boucle de répétition x 10
allumeLED(B11100000); // appelle la fonction qui met les LEDs dans l'état des bits allumeLED(B01110000); allumeLED(B00111000); allumeLED(B00011100); allumeLED(B00000110); allumeLED(B00000011); allumeLED(B00001110); allumeLED(B00011100); allumeLED(B00111000); allumeLED(B01110000); allumeLED(B11100000);
} // fin boucle for x10
allumeLED(B00000000); delay(300);
// effet FLIPPERS for (int j=0; j<10; j++) { //boucle de répétition x 10
allumeLED(B00000000); // appelle la fonction qui met les LEDs dans l'état des bits allumeLED(B00011000); allumeLED(B00111100); allumeLED(B01111110); allumeLED(B11111111); allumeLED(B01111110); allumeLED(B00111100); allumeLED(B00011000); allumeLED(B00000000); } // fin boucle for x10 allumeLED(B00000000); delay(300);
// effet FLIPPERS 02 for (int j=0; j<10; j++) { //boucle de répétition x 10
allumeLED(B00010001); // appelle la fonction qui met les LEDs dans l'état des bits allumeLED(B00100010); allumeLED(B01000100); allumeLED(B10001000); allumeLED(B01000100); allumeLED(B00100010); allumeLED(B00010001); } // fin boucle for x10
allumeLED(B00000000); delay(300); // effet FLIPPERS 03 for (int j=0; j<10; j++) { //boucle de répétition x 10
allumeLED(B10000000); // appelle la fonction qui met les LEDs dans l'état des bits allumeLED(B11000000); allumeLED(B11100000); allumeLED(B11110000); allumeLED(B11111000); allumeLED(B11111100); allumeLED(B11111110); allumeLED(B11111111); allumeLED(B01111111); allumeLED(B00111111); allumeLED(B00011111); allumeLED(B00001111); allumeLED(B00000111); allumeLED(B00000011); allumeLED(B00000001); } // fin boucle for x10 } // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin // ********************************************************************************
//*************** Autres Fonctions du programme *************
// création d'une fonction qui reçoit une valeur de type byte et ne renvoie aucune valeur
void allumeLED(byte valeur) { // fonction pour allumer/éteindre les LEDs voulue en fonction valeur 8 bits reçue
for (int i=0; i<=7; i++) { digitalWrite(LED,bitRead(valeur,i)); // met la broche LED dans l'état du bit de rang i de la variable } delay(vitesse); //pause
} // fin de la fonction
// --- Fin programme ---
Milles merci de votre aide
|