Qu'est-ce qu'un bandeau de LED ? Comment le choisir ? Comment le contrôler ? Introduction Les bandeaux de LED aussi appelés ruban de LED, sont une suite de LED contrôlables depuis une carte Arduino. Celle-ci va vous permettre de contrôler votre ruban depuis une télécommande, un téléphone ou bien de façon automatique.Si votre bandeau fait moins d’une dizaine de LED, vous pouvez le brancher directement sur la carte Arduino. Néanmoins un bandeau de LED possède souvent beaucoup de LED, vous allez donc avoir besoin d’une alimentation externe pour faire fonctionner votre ruban car la carte Arduino ne peut pas fournir la puissance nécessaire. Pour contrôler votre ruban et le connecter à votre alimentation externe vous pouvez utiliser l’un de ces deux composants : le relais ou le transistor. Sommaire masquer 1 Qu'est-ce qu'un bandeau de LED ? Comment le choisir ? Comment le contrôler ? 1.1 Introduction 1.1.1 Quelle est la différence entre un relais et un transistor ? 1.1.2 Broche du bandeau de LED 1.2 Les différents rubans de LED 1.3 Librairie Neopixel 1.3.1 Comment installer la librairie ? 1.3.2 Comment utiliser la librairie Adafruit Neopixel ? 1.4 Bandeau de led sans alimentation externe 1.5 Bandeau de LED avec alimentation externe 1.6 Cercle de LED Quelle est la différence entre un relais et un transistor ? Ces deux composants permettent de faire la liaison entre la carte Arduino et votre ruban de LED. Néanmoins le relais ne permet pas de faire varier l’intensité lumineuse de vos LED, contrairement au transistor. De plus vous ne pourrez pas changer de couleur vos LED avec un relais, mais ceci est possible avec un transistor. Broche du bandeau de LED Le bandeau de LED possède trois broches : Vcc : à connecter au 5V de la carte Arduino ou au transistor/relay. GND : à connecter à la masse de la carte Arduino ou au transistor/relay. DIN (Signal) : à connecter à la carte Arduino ou au transistor/ relay Les différents rubans de LED Deux types de rubans LED existent : les adressables, où chaque LED peut prendre une couleur différente, et les non adressables, où toutes les LED affichent la même couleur.On va maintenant voir quels sont les différents rubans de LED afin que vous puissiez faire votre choix : C’est sous forme de ruban de LED que l’on retourne le plus souvent les LED. Ici pour les contrôler vous aurez besoin d’une alimentation externe au vu du nombre de LED. Ce cercle de led, proposé par Neopixel, est composé de 16 LED adressables et mesure 12 x 8 x 0.3 centimètres. Il peut-être alimenté en 5V et ne nécessite pas d’alimentation externe. Ce rond de led, aussi proposé par Neopixel, possède 7 LED. Il a une dimension de 12 x 8 x 0.3 centimètres. On va maintenant voir comment contrôler ces LED avec les librairies. Librairie Neopixel Plusieurs librairies peuvent être utilisées pour programmer votre ruban de LED. On peut notamment citer Adafruit_NeoPixel, PololuLedStrip ou FastLED.h. Dans notre cours nous allons utiliser la librairie Neopixel. Celle-ci va vous permettre de programmer la plus part des rubans de LED. Comment installer la librairie ? Pour pouvoir contrôler votre ruban de LED, il va vous falloir installer la librairie sur arduino ide. Pour cela vous devez aller dans “sketch” puis “include library” et “manage library” et taper Adafruit Neopixel : Si vous avez du mal à l’installer, on vous conseille notre cours sur les librairies. Comment utiliser la librairie Adafruit Neopixel ? On va voir quelques fonctions de la librairie qui pourraient vous être utiles.Voici comment importer la librairie Neopixel dans votre programme : #include <Adafruit_NeoPixel.h> // Librairie utilisée Voici comment configurer la librairie. Vous mettez en paramètre la broche où le bandeau de LED est branché et le nombre de LED de votre bandeau : int broche = 2; // Broche du bandeau de led int nombre_de_led = 4; //nombre de led contenant le ruban // On déclare la librairie avec les données précédente Adafruit_NeoPixel pixels = Adafruit_NeoPixel(nombre_de_led,broche, NEO_GRB + NEO_KHZ800); Permet de commencer à utiliser la librairie : pixels.begin(); //On initialise la librairie Permet d’éteindre les leds : pixels.clear(); //On éteint les leds allumées Permet d’associer une couleur à une LED du bandeau. Ici on met la couleur Bleu à la led 1 : pixels.setPixelColor(1, pixels.Color(0,0,255)); // On assigne la couleur bleu à la led Pour la couleur verte vous devez écrire : (0,255,0)Pour la couleur rouge, vous devez écrire : (255,0,0)Voici le code pour allumer votre led : pixels.show(); //On allume la led avec la couleur Bandeau de led sans alimentation externe On va maintenant voir comment allumer des LED sur un petit bandeau de LED. Celui-ci ne nécessite donc pas d’alimentation externe. Voici le circuit : Dans notre programme, on allume les LED en bleu avec un intervalle de 0.2 seconde : #include <Adafruit_NeoPixel.h> // Librairie utilisée int PIN = 2; // Broche du bandeau de led int numPixel = 4; //nombre de led contenant le ruban // On déclare la librairie avec les données précédente Adafruit_NeoPixel pixels = Adafruit_NeoPixel(numPixel,PIN, NEO_GRB + NEO_KHZ800); void setup() { pixels.begin(); //On initialise la librairie } void loop(){ pixels.clear(); //On éteint les leds allumé for(int i=0; i<numPixel; i++){ // On parcour toute les leds pixels.setPixelColor(i, pixels.Color(0,0,255)); // On assigne la couleur bleu à la led pixels.show(); //On allume la led avec la couleur delay(200); // On fait une pause de 0.2 seconde avant d'allumer l'autre led. } } Voici le résultat une fois le projet terminé : Bandeau de LED avec alimentation externe SI vous avez besoin d’alimenter un bandeau contenant beaucoup de LED, vous allez avoir besoin d’une alimentation externe. Pour cela on vous conseille l’utilisation d’un transistor pour faire le lien entre la carte Arduino et votre bandeau.Voici un exemple de circuit pour faire fonctionner votre bandeau de LED : Le programme est exactement le même que pour contrôler un bandeau de LED sans alimentation. Cercle de LED On va maintenant voir comment faire fonctionner le cercle de LED. Ici vous n’aurez pas besoin d’alimentation externe au vue du nombre de LED. De plus le cercle de LRD s’alimente en 5V.Voici le circuit : Ici le programme créer une couleur aléatoire et allume les LED progressivement #include <Adafruit_NeoPixel.h> // La librairie Neopixel #define PIN 2 // La broche ou l'on a branché le cercle de led #define NUMPIXELS 12 // Le nombre de led contenu dans le cercle // On utilise la librairie avec le modèle du cercle de led Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int rouge_couleur = 0; // On initialise la couleur rouge int vert_couleur = 0;// On initialise la couleur verte int bleu_couleur = 0;// On initialise la couleur bleu long nombre_aleatoire; // On initialise une nombre aléatoire void setup() { pixels.begin(); // On initialise les leds pixels.show(); // On allume les leds randomSeed(analogRead(0)); //nombre aléatoire permettant de changer de couleur delay(100); // On fait une pause d'un dixième de seconde } void loop() { randomSeed(analogRead(0)); // changement de nombre aléatoire permettant de changer de couleur Couleur(); // Appel de la fonction Couleur for(int i=0;i<NUMPIXELS;i++){ // On fait une boucle for pour toute les leds pixels.setPixelColor(i, pixels.Color(rouge_couleur, vert_couleur, bleu_couleur)); // On associe la couleur au pixel pixels.show(); // On affiche le pixel delay(100); //on fait une pause d'un dixième de seconde entre deux allumages de led if (i == 0){// si la boucle débute, on éteint les leds et on prends un nouveau nombre aléatoire pixels.clear(); // On eteint les leds nombre_aleatoire = random(256); delay (100); } } } void Couleur(){// Fonction couleur rouge_couleur = random(0, 255); // couleur aléatoire autour du rouge vert_couleur = random(0,255); // couleur aléatoire autour du vert bleu_couleur = random(0, 255); // couleur aléatoire autour du bleu } Voici le résultat quand on met le projet sous tension :