//////////////////////////////// // Programme d'apprentissage // // de la maitrise // // des rubans de led // //////////////////////////////// // basé sur le programme // NeoPixel Ring simple sketch (c) 2013 Shae Erisson // Released under the GPLv3 license to match the rest of the // Adafruit NeoPixel library /* BROCHAGE _________________ / D1 mini \ |[ ]RST TX[ ]| |[ ]A0 -GPIO RX[ ]| |[ ]D0-16 5-D1[X]| - data du ruban de led |[ ]D5-14 4-D2[ ]| |[ ]D6-12 0-D3[ ]| |[ ]D7-13 2-D4[ ]| LED_BUILTIN |[ ]D8-15 GND[X]| - masse du ruban |[ ]3V3 . 5V[X]| - Alim du ruban | +---+ | |_______|USB|_______| Matériel : - des fils dupont. - un ruban de led - un D1 mini - ... Sous licence CC-By-Sa (http://creativecommons.org/licenses/by-nc-sa/3.0/) */ /* ___ / ___ \ |_| | | /_/ _ ___ _ |_| |___|_| |_ ___|_ _| |___| |_| Les petits Débrouillards - Antony Le Goïc-Auffret décembre 2020 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/ */ #include #define broche 5 // broche GPIO du D1 mini sur laquelle est connecté le ruban // Nombre de led du ruban ? #define nbpixels 30 // Lors de la configuration de la bibliothèque NeoPixel, // nous lui indiquons combien de pixels, // et quelle broche utiliser pour envoyer des signaux. Adafruit_NeoPixel pixels(nbpixels, broche, NEO_GRB + NEO_KHZ800); // pour configurer le ruban : // nomDuRuban (nombreDePixels, NumeroDeLaBroche, typeDeRuban) // Les différents types de ruban : // NEO_KHZ800 800 KHz bitstream (la plupart des produits Neopixel ou références de LED w/WS2812) // NEO_KHZ400 400 KHz (classic 'v1' (pas v2) FLORA pixels, drivers WS2811) // NEO_GRB Pixels cablés pour GRB bitstream (la plupart des produits Neopixel) // NEO_RGB Pixels cablés pour RGB bitstream (v1 FLORA pixels, pas les v2) // NEO_RGBW Pixels cablés pour RGBW bitstream (produits NeoPixel RGBW) #define delai 30 // durée de la pause en millisecondes void setup() { pixels.begin(); // INITIALISE l'object ruban NeoPixel pixels.show(); // éteint tout les pixels aussi vite que possible. pixels.setBrightness(100); // met la luminosité à 1/5 (max = 255) } void loop() { for(int i=0; i-1; i--) { // Les pixels sont numérotés de 0 à ... pixels.setPixelColor(i, pixels.Color(0, 0, 0)); pixels.setPixelColor(i-1, pixels.Color(50, 0, 0)); pixels.setPixelColor(i-2, pixels.Color(100, 0, 0)); pixels.setPixelColor(i-3, pixels.Color(150, 0, 0)); pixels.setPixelColor(i-4, pixels.Color(200, 0, 0)); pixels.setPixelColor(i-5, pixels.Color(255, 0, 0)); // pour comprendre, quand i vaut 30, la led 25 est au max, la 26 un peu moins, jusque la numéro 29 qui est éteinte // ce segment se déplace jusque i=0. pixels.show(); // met à jour le ruban delay(delai); // Pause } }