meta données pour cette page
  •  


// Par Alexandre Castonguay, basé sur le code de "NeoPixel Ring simple sketch (c) 2013 Shae Erisson"
// Aménagé à ses fins par Stéphanie Santerre-Perras
// publié sous la licence GPLv3 pour correspondre au reste de la bibliothèque Adafruit néopixel
// Utilisez les appels de fonction "allumer(int,int);" et "eteindre(int,int);" 
 
#include <Adafruit_NeoPixel.h>
#include <avr/power.h>
 
// Sur quelle broche (PIN) de l'arduino sont connectés les néopixels?

#define PIN            6    // la broche PWM qui controlera les néopixels
 
// Combien de néopixels sont connectés sur l'arduino?
#define NUMPIXELS      13
 
// Lorsque nous configurons la bibliothèque néopixel , nous devons déclarer le nombre de néopixels et de
// broches à utiliser pour envoyer des signaux.
// Notez que pour les plus vieilles versions de néopixels, vous pourriez avoir besoin de changer le troisième paramètre - voir "strandtest"
// Allez voir les exemples pour plus d'information sur les valeurs possibles
 
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); 
 
 
void setup() {
  pixels.begin(); // Ceci initialise les néopixels dans la bibliothèque
  Serial.begin(9600);
}
 
void loop() {
// Pour un jeu de néopixels le premier néopixel est 0, le deuxième est 1, et ainsi de suite
pixels.show(); // Nécessaire pour initialiser les néopixels, ici, ils seront tous éteints

allumer(12,2); // appel de la fonction "allumer()" voir plus bas sa définition 
delay(500);
  
allumer(10,2); // appel de la fonction "allumer()" voir plus bas sa définition 
delay(500); // delai pour la période de temps (en millisecondes)
 
allumer(1,2); // appel de la fonction "allumer()" voir plus bas sa définition 
delay(500); // delai pour la période de temps (en millisecondes)
 
allumer(9,2); // appel de la fonction "allumer()" voir plus bas sa définition 
delay(1000); // delai pour la période de temps (en millisecondes)
 
allumer(7,2); // appel de la fonction "allumer()" voir plus bas sa définition 
delay(500); // delai pour la période de temps (en millisecondes)

eteindre(9,5);
delay(1000); 

eteindre(7,5);
delay(1000); 
 
allumer(8,2); // appel de la fonction "allumer()" voir plus bas sa définition 
delay(7000);
eteindre(8,5);
delay(1000); 
 
allumer(9,2); // appel de la fonction "allumer()" voir plus bas sa définition 
delay(1000); // delai pour la période de temps (en millisecondes)

allumer(2,2); // appel de la fonction "allumer()" voir plus bas sa définition 
delay(2000); // delai pour la période de temps (en millisecondes)
 
allumer (0,2);
delay (1000);
 
eteindre (9,2);
delay (2500);
 
allumer(3,2); // appel de la fonction "allumer()" voir plus bas sa définition 
delay(500); // delai pour la période de temps (en millisecondes)

allumer (11,2);
delay (500);

allumer (6,2);
delay (2500);

eteindre (0,2);
delay (2500);

allumer (4,2);
delay (2500);

eteindre (6,2);
delay (1000);

eteindre (11,2);
delay (1000);

eteindre (12,2);
delay (1000);

eteindre (10,2);
delay (1000);

allumer (5,2);
delay (1000);

eteindre (4,2);
delay (1000);

eteindre (1,2); 
delay (1000);
 
allumer(0,2);
delay (1000);

eteindre (3,2);
delay (5000);

eteindre (2,2);
delay (5000);

eteindre (0,2);
delay (5000);

eteindre (5,2);
delay (5000);


 
  
  /* for(int i=0;i<NUMPIXELS;i++){ // boucle qui va faire un cycle entre tous les néopixels
     Serial.print("allume DEL : "); // afficher le numéro du néopixel dans le moniteur série
     Serial.println(i);
     allumer(i,2); // appel de la fonction "allumer()" voir plus bas sa définition 
     delay(15); // delai pour la période de temps (en millisecondes)
     }
    
   for(int i=0;i<NUMPIXELS;i++){
      eteindre(i,5);
      delay(20); 
      }   */
} 

 void allumer(int DEL,int delai){ // le premier argument est le numéro du néopixel et le second est l'intervalle
     for(int fi=0;fi<127;fi++){
       pixels.setPixelColor(DEL, pixels.Color(252,222,89)); // allume de 0 a 255
       pixels.show();
       delay(delai); // temps de pause entre chaque augmentation d'intensité, va faire varier la longueur de la gradation
       pixels.show();     
       }
     }
        
 void eteindre(int DEL, int delai){ // le premier argument est la lumiere et le second est l'intervalle
      for(int fo=127;fo>=0;fo--){
        Serial.print("eteint DEL: ");
        Serial.println(DEL);
        Serial.print("avec fondu au noir de valeur : ");
        Serial.println(fo);
        pixels.setPixelColor(DEL, pixels.Color(fo,fo,fo)); // eteint de 255 a 0
        pixels.show();
        delay(delai);
        }
      }