M é m o - l a b .
Le principe est de gérer l’allumage des leds du ruban. Pour ce faire, nous utiliserons la librairie FastLed.
#include "FastLED.h"
#define ledNb 6;
#define bandeauLedPin 4
CRGB leds[ledNb];
const int clign = 300;
void setup() {
FastLED.addLeds<NEOPIXEL, bandeauLedPin>(led, ledNb);
}
void loop() {
int i = 0;
int j = 0;
int k = 0;
// Les 6 leds s'allument en rouge successivement avec un délai de 300ms
for (int i=0; i < ledNb; i++) {
leds[i] = CRGB(255,0,0);
FastLED.show();
delay(clign);
}
// Les 6 leds s'allument en vert successivement avec un délai de 300ms
for (int j=0; j < ledNb; j++) {
leds[j] = CRGB(0,255,0);
FastLED.show();
delay(clign);
}
// Les 6 leds s'allument en bleu successivement avec un délai de 300ms
for (int k=0; k < ledNb; k++) {
leds[k] = CRGB(0,0,255);
FastLED.show();
delay(clign);
}
}
CRGB leds[ledNb];
Déclaration d’un tableau « leds » de type CRGB permettant de définir la couleur de la led dans l’espace de couleur RVB.
FastLED.addLeds<NEOPIXEL, bandeauLedPin>(leds, ledNb);
Déclaration d’un objet FastLED et initialisation des paramètres du ruban utilisé.
Dans notre cas, nous indiquons que nous utilisons un ruban NEOPIXEL* de 6 leds (ledNb
) branché sur le pin digital 4 (bandeauLedPin) du microcontrôleur. Le tableau « leds » déclaré précedemment est également passé en argument.
* Les rubans leds NEOPIXEL sont constitués de LEDs de format 50*50 possédant chacune un microcontrôleur intégré. Il est ainsi possible de contrôler la luminosité et la couleur de chaque led.