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); } }