Ruban de LED constitué d’une succession de LED RGB adressables, c’est à dire que l’on peut définir la luminosité et la couleur de chaque LED indépendamment
Il existe plusieurs modèles de ruban : couleur unique, non-adressable, 5 ou 12V, etc. Faites attention au modèle que vous voulez utiliser. Le modèle utilisé ici est le WS2812B RGB. Avec ce modèle on peut illuminer un ruban, led après led pour créer une “animation” par exemple. Il existe également des rubans plus ou moins étanches pour être installés à l'extérieur.
Attention à l'alimentation électrique, une LED RGB 5050 (5mm de côté) consomme jusqu'à 60mA (20 mA par couleur). Elle doit être alimentée en 5V. Si on l'utilise avec Arduino, l'intensité maximale disponible pour la sortie 5V est de 500 mA en cas d'alimentation par le port USB seul, sinon c'est en fonction de l'alimentation utilisée.
Pour utiliser facilement ce ruban, nous vous conseillons d'utiliser la bibliothèque FastLED/Fastled (cela dépend du modèle de ruban, la référence n'étant pas toujours spécifiée, ici WS2812B ; présente dans le gestionnaire de bibliothèques Arduino)
plus d'infos pour Importer des bibliothèques dans l'interface Arduino
Le code minimal
WS2812B | ||
Avant le Setup | Importation de la bibliothèque | #include <FastLED.> |
Création de l’objet | #define NUM_LEDS * (* indique le nombre de Led à allumer), #define DATA-PIN 3 (borne de la carte sur laquelle est branchée le ruban de Led, CRGBleds [NUM_LEDS]; | |
Dans le Setup | Démarrage de l’objet | FastLED.addLeds<WS2812B, DATA_PIN, RGB>leds, NUM_LEDS); |
Dans le Loop | Utilisation | FastLED.show() ; |
#include <FastLED.h>
// How many leds in your strip?
#define NUM_LEDS 1
// For led chips like WS2812, which have a data line, ground, and power, you just
// need to define DATA_PIN. For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
// Clock pin only needed for SPI based chipsets when not using hardware SPI
#define DATA_PIN D3
// Define the array of leds
CRGB leds[NUM_LEDS];
void setup() {
// Uncomment/edit one of the following lines for your leds arrangement.
// ## Clockless types ##
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); // GRB ordering is assumed
// FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical
}
void loop() {
// Turn the LED on, then pause
leds[0] = CRGB::Red;
FastLED.show();
delay(500);
// Now turn the LED off, then pause
leds[0] = CRGB::Black;
FastLED.show();
delay(500);
}
Item-Ruban_de_Led_-_WS2812B_Item-Ruban_de_leds_rubandeLED.jpg Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #