Chenillard à Leds - part 1
En guise de premier projet, voici un mini chenillard à leds.
Pour le moment, il n'y a que quelques modèles d'allumage et extinction des leds qui tournent en boucle.
Par la suite, j'ajouterais quelques fonctionnalités.
Ce premier petit projet n'est certes pas compliqué mais il me permet de faire une prise en main d'Arduino assez rapidement.
Plan de montage
Code Source
Fichier: chenillard.pde
Pour le moment, il n'y a que quelques modèles d'allumage et extinction des leds qui tournent en boucle.
Par la suite, j'ajouterais quelques fonctionnalités.
Ce premier petit projet n'est certes pas compliqué mais il me permet de faire une prise en main d'Arduino assez rapidement.
Plan de montage
Code Source
Fichier: chenillard.pde
/* * Chenillard pour Leds branchées sur Pin 6 -> 13 (8 leds) */ int NbrLed = 8; // nbre de Leds dans le tableau int ledPins[] = { 6,7,8,9,10,11,12,13 }; // Tableau contenant les Pins pour les leds int interval = 80; // // Interval entre deux actions LEDS, 100 ms void setup(){ // Activer les pins pour les leds en sortie for( int i=0; i<NbrLed; i++ ) pinMode( ledPins[i], OUTPUT ); } void loop(){ OnOffAll(); OnOffEachAtTheTime_LtoR(); OnOffEachAtTheTime_RtoL(); GraduatedOnOff_LtoR(); GraduatedOnOff_RtoL(); K2000(); } // Allume puis éteind toutes les leds en meme temps // 8 fois (pcq 8 leds). // void OnOffAll(){ for( int iTime=0; iTime<NbrLed; iTime++ ) for( int iOnOff=0; iOnOff<2; iOnOff++ ) { for( int i=0; i<NbrLed; i++ ) if( iOnOff == 0 ) // Allumer au premier passage digitalWrite( ledPins[i], HIGH ); else // Eteindre au deuxième passage digitalWrite( ledPins[i], LOW ); delay( interval ); } } // Allume puis éteind chaque led, chaque led a son tour. // De gauche à droite void OnOffEachAtTheTime_LtoR(){ for( int i=0; i<NbrLed; i++ ){ digitalWrite( ledPins[i], HIGH ); delay( interval ); digitalWrite( ledPins[i], LOW ); delay( interval ); } } void OnOffEachAtTheTime_RtoL(){ for( int i=NbrLed-1; i>=0; i-- ){ digitalWrite( ledPins[i], HIGH ); delay( interval ); digitalWrite( ledPins[i], LOW ); delay( interval ); } } // allume toutes les leds une par une puis les éteinds // De Gauche à Droite void GraduatedOnOff_LtoR(){ for( int i=0; i<NbrLed; i++ ) { digitalWrite( ledPins[i], HIGH ); delay( interval ); } for( int i=0; i<NbrLed; i++ ) { digitalWrite( ledPins[i], LOW ); delay( interval ); } } // allume toutes les leds une par une puis les éteinds // De Gauche à Droite void GraduatedOnOff_RtoL(){ for( int i=NbrLed-1; i>=0; i-- ) { digitalWrite( ledPins[i], HIGH ); delay( interval ); } for( int i=NbrLed-1; i>=0; i-- ) { digitalWrite( ledPins[i], LOW ); delay( interval ); } } // Allume et éteind les leds à la façon K2000 // Un aller retour complet void K2000(){ for( int i=0; i<NbrLed; i++) { // Allume uniquement la led, la précédente et la suivante // éteind toutes les autres. for( int iBrowser=0; iBrowser<NbrLed; iBrowser++ ) if( iBrowser==(i-1) || iBrowser==(i+1) || iBrowser==i ) digitalWrite( ledPins[iBrowser], HIGH ); else digitalWrite( ledPins[iBrowser], LOW ); delay( interval ); } for( int i=NbrLed-1; i>=0; i--) { // Allume uniquement la led, la précédente et la suivante // éteind toutes les autres. for( int iBrowser=0; iBrowser<NbrLed; iBrowser++ ) if( iBrowser==(i-1) || iBrowser==(i+1) || iBrowser==i ) digitalWrite( ledPins[iBrowser], HIGH ); else digitalWrite( ledPins[iBrowser], LOW ); delay( interval ); } // eteind les deux dernières led digitalWrite( ledPins[0], LOW ); digitalWrite( ledPins[1], LOW ); }
Bonjour a toi je découvre le arduino aurai tu par hasard un schema de branchement du moins une photo de ton montage merci d'avance
RépondreSupprimerBonjour, peut on selon vous gérer le changement d'animation en tournant le potar, pour pouvoir éliminer le poussoir ?
RépondreSupprimerBonjour
RépondreSupprimerTon code est pas mal du tout ! même plutôt super bien :-) . Je l'ai réutilisé pour faire un bonhomme de neige clignotant, avec des leds 3 couleurs, et un DHT22 pour faire varier le clignotement en rouge quand on souffle dessus en changeant la table ledPins dans différentes configuration des leds.
J'ai pas encore fini mon bonhomme, je suis en train de paramétrer des moteurs pour les yeux, la langue et le balais.
Merci à toi, tu m'as raccourcie mon dev!
Jean