Accueil

Guide ultime pour connecter des bandes lumineuses LED à Arduino

Added 2019-12-11


L'augmentation de l'éclairage LED a été stratosphérique, et il est facile de comprendre pourquoi. Ils sont bon marché à produire, consomment beaucoup moins d'énergie que les autres options d'éclairage et, dans la plupart des cas, ne chauffent pas, ce qui les rend sûrs pour une variété d'utilisations.

Choisissez votre bande

Lors de l'achat de bandes LED, il y a quelques points à considérer. Le premier est la fonctionnalité. Si vous prévoyez d'utiliser les bandes principalement pour l'éclairage ambiant, un simpleLED RGB 12v bande (SMD5050) serait le bon choix.

Beaucoup de ces bandes sont livrées avec une télécommande infrarouge pour les contrôler, bien que dans ce projet, nous utiliserons un Arduino à la place. Passez un peu de temps à magasiner, au moment de la rédaction, il était possible d'obtenir ces bandes pour aussi peu que1 $ par mètre.

Lumières de bande de LED
Crédit d'image: phanu suwannarat via Shutterstock

Affichage pixel LED

Si vous voulez quelque chose d'un peu plus technologique, pensez àWS2811/12/12B. Ces bandes (parfois appeléesNéopixels) ont des chipsets intégrés qui leur permettent d'être adressés individuellement. Cela signifie qu'ils sont capables de plus qu'un simple éclairage ambiant.

Ces bandes ne nécessitent que 5 V pour les alimenter. Bien qu'il soit possible d'en alimenter de petites quantités directement à partir d'une carte Arduino, c'est généralement une bonne idée d'utiliser une alimentation 5V séparée pour vous sauver de l'odeur de l'Arduino frit. Si vous recherchez des LED programmables individuellement, celles-ci sont faites pour vous. Au moment de la rédaction, ils sont disponibles pour environ

Une autre chose à considérer est l'endroit où ces bandes sont susceptibles d'être utilisées. Ces deux types de bandes sont disponibles en différentes longueurs, densités de LED (le nombre de LED par mètre) et différents degrés d'étanchéité.

Se connecter

Pour connecter une bande LED 12v à un Arduino, vous aurez besoin de quelques composants:

  • Ruban LED RGB 12v (SMD5050) 1 x Arduino Uno (n'importe quelle carte compatible fera l'affaire) 3 x10k Résistances Ohm 3 xNiveau logique MOSFET à canal N 1 x planche à pain Fils de raccordement Alimentation 12v

    Avant de configurer le circuit, parlons deMOSFET.

    Chaque fois que vous contrôlez quelque chose qui est une tension plus élevée que votre microcontrôleur, vous avez besoin de quelque chose entre les deux pour empêcher votre carte de frire. L'une des façons les plus simples de procéder consiste à utiliser un MOSFET. En envoyant une modulation de largeur d'impulsion (PWM) signale auporte jambe, il est possible de contrôler la quantité de puissance qui passe entre ledrainer etla source jambes. En passant chacune des couleurs de la bande LED à travers le MOSFET, vous pouvez contrôler la luminosité de chaque couleur individuelle sur la bande LED.

    Lorsque vous utilisez des microcontrôleurs, il est important d'utiliser des composants de niveau logique afin de vous assurer que les choses fonctionnent comme vous le souhaitez. Assurez-vous que vos MOSFET sontniveau logique et pasla norme.

    Configurez votre circuit comme ceci:

    Circuit MOSFET Arduino

    Connectez les broches Arduino9,6, et5 auporte jambes des trois MOSFET, et connectez un10k résistance en ligne avec chacun au rail de masse. Connectez leLa source jambes au rail au sol. Connectez leDrainer jambes à lavert,rouge, etBleu connecteurs sur la bande LED. Connectez le rail d'alimentation au+ 12v connecteur de la bande LED (notez que dans cette image, le fil d'alimentation est noir pour correspondre aux couleurs des connecteurs sur ma bande LED). Connectez la terre Arduino au rail de terre. Connectez votre12v alimentation des rails d'alimentation. MOSFET Arduino sur planche à pain

    Nous allons alimenter notre carte Arduino par USB pour ce projet. Vous pouvez choisir d'alimenter votre carte à l'aide de la broche VIN, mais assurez-vous de connaître les limites de puissance de votre carte avant de le faire.

    Lorsque votre circuit est terminé, il devrait ressembler à ceci:

    Maintenant que vous avez tout connecté, il est temps de faire un simple croquis Arduino pour le contrôler.

    Fade It Up

    Connectez votre carte Arduino à votre ordinateur via USB et ouvrez l'IDE Arduino. Assurez-vous que la carte et le numéro de port corrects sont sélectionnés pour votre carte dans leOutils > Planche etOutils > Port menus. Ouvrez une nouvelle esquisse et enregistrez-la sous un nom approprié.

    Ce croquis atténuera les lumières d'une couleur à la fois, les gardera allumées pendant quelques secondes, puis les atténuera jusqu'à ce qu'elles soient à nouveau éteintes. Vous pouvez suivre ici et faire le croquis vous-même, ou simplement télécharger le

    code complet de GitHub.

    Commencez par définirépingles sera utilisé pour contrôler les MOSFET.

    #define RED_LED 6 #define BLUE_LED 5 #define GREEN_LED 9
    Bandes LED clignotantes

    Ensuite, vous avez besoin de quelques variables. Créer un ensembleluminosité variable, ainsi qu'une variable pour la luminosité de chaque couleur individuelle. Nous n'utiliserons que la variable de luminosité principale pour éteindre les LED, alors réglez-la sur la valeur de luminosité maximale de 255 ici.

    vous devrez également créer une variable pour contrôler la vitesse à laquelle la décoloration se produira.

    luminosité int = 255; int gBright = 0; int rBright = 0; int bBright = 0; int fadeSpeed = 10;Bandes LED clignotantes

    Dans toninstaller fonction, nous allons définir nos broches Arduino à la sortie. Nous appellerons également quelques fonctions avec un délai de 5 secondes entre les deux. Ces fonctions n'existent pas encore, mais ne vous inquiétez pas, nous y arriverons.

    void setup() { pinMode (GREEN_LED, OUTPUT); pinMode (RED_LED, OUTPUT); pinMode (BLUE_LED, OUTPUT); Allumer(); retard (5000); Éteindre(); }Bandes LED clignotantes

    Maintenant, créez leAllumer() méthode:

    void TurnOn () { pour (int i = 0; i < 256; i ++) { analogWrite (RED_LED, rBright); rBright + = 1; délai (fadeSpeed); } pour (int i = 0; i < 256; i ++) { analogWrite (BLUE_LED, bBright); bBright + = 1; délai (fadeSpeed); } pour (int i = 0; i < 256; i ++) { analogWrite (GREEN_LED, gBright); gBright + = 1; délai (fadeSpeed); } }Bandes LED clignotantes

    Ces troispour les boucles prennent chaque couleur jusqu'à sa pleine luminosité sur une durée spécifiée par lefadeSpeed valeur.

    Enfin, vous devez créer leÉteindre() méthode:

    void TurnOff () { pour (int i = 0; i < 256; i ++) { analogWrite (GREEN_LED, luminosité); analogWrite (RED_LED, luminosité); analogWrite (BLUE_LED, luminosité); luminosité - = 1; délai (fadeSpeed); } } boucle vide () { }Bandes LED clignotantes

    Cette méthode applique notreluminosité variable aux trois broches de couleur et les réduit à zéro sur une période de temps. Nous avons également besoin d'une méthode de boucle vide, afin d'éviter les erreurs de compilation.

    Une fois que vous avez terminé ce croquis, enregistrez-le. Vérifiez l'esquisse et téléchargez-la sur votre carte Arduino. Si vous obtenez des erreurs, vérifiez à nouveau dans le code les fautes de frappe ou les points-virgules manquants.

    Maintenant, vous devriez voir votre bande de LED augmenter chaque couleur individuellement, en maintenant la couleur blanche pendant 5 secondes, puis disparaître uniformément:

    Éclairage contrôlé par le mouvement Arduino

    Si vous rencontrez des difficultés, vérifiez à nouveau votre câblage et votre code.

    Circuit Arduino

    Maintenant que nous avons couvert leSMD5050s, passons auWS2812B bandes.

    Idées géniales

    Ces bandes nécessitent moins de composants pour les faire fonctionner, et il existe une certaine latitude quant aux valeurs exactes des composants que vous pouvez utiliser. Le condensateur de ce circuit garantit que les LED 5v reçoivent une alimentation électrique stable. La résistance garantit que le signal de données reçu de l'Arduino est exempt de toute interférence.

    Tu auras besoin de:

  • WS2811/12/12B Bande LED 5v (les trois modèles ont des puces intégrées et fonctionnent de la même manière) 1 x Arduino Uno (ou carte compatible similaire) 1 fois220-440 Ohm Résistance (n'importe quoi entre ces deux valeurs est très bien) 1 fois100-1000 microFarad Condensateur (n'importe quoi entre ces deux valeurs est très bien) Planche à pain et fils de raccordement Alimentation 5V

    Configurez votre circuit comme indiqué dans le schéma:

    Circuit terminé Arduino

    Prenez note que le condensateur doit avoir la bonne orientation. Vous pouvez savoir quel côté se fixe au rail de mise à la terre en recherchant le signe moins (-) sur le corps du condensateur.

    Cette fois-ci, nous alimentons l'Arduino en utilisant l'alimentation 5v. Cela rend le projet autonome une fois que nous avons terminé, bien qu'il y ait des choses importantes à noter ici.

    Tout d'abord, assurez-vous que votre carte peut prendre une alimentation 5 V avant de la connecter à la source d'alimentation. Presque toutes les cartes de développement fonctionnent à 5 V via le port USB, mais les broches d'entrée d'alimentation de certaines peuvent parfois ignorer les régulateurs de tension et les transformer en pain grillé.

    En outre, il est recommandé de s'assurer que plusieurs sources d'alimentation distinctes ne sont pas connectées à l'Arduino - déconnectez le câble USB lorsque vous utilisez une alimentation externe.

    Une fois branché, il devrait ressembler à ceci:

    Code Arduino

    Maintenant que notre bande LED est câblée, passons au code.

    Lumières dansantes

    Pour programmer en toute sécurité notre carte, déconnectez leVIN ligne de la ligne électrique. Vous le rattacherez plus tard.

    Connectez votre Arduino à l'ordinateur et ouvrez l'IDE Arduino. Vérifiez que vous avez la bonne carte et le bon numéro de port sélectionnés dans leOutils > Planche etOutils > Port menus.

    Nous utiliserons leFastLED bibliothèque pour tester notre configuration. Vous pouvez ajouter la bibliothèque en cliquant surEsquisse > Inclure la bibliothèque > Gérer les bibliothèques et la recherche de FastLED. Cliquez sur installer et la bibliothèque sera ajoutée à l'EDI.

    En dessous deFichier > Exemples > FastLED sélectionnez leDemoReel100 esquisser. Cette esquisse fait un cycle de diverses choses qui peuvent être faites avec leWS2812 Bandes LED et incroyablement facile à installer.

    Il vous suffit de changer leDATA_PIN variable pour qu'il correspondebroche 13, et leNUM_LEDS variable pour définir le nombre de LED dans la bande que vous utilisez. Dans ce cas, j'utilise uniquement une petite ligne de 10 LED découpées dans une bande plus longue. Utilisez plus pour un plus grand spectacle de lumière!

    Circuit fini Arduino

    C'est ça! Téléchargez le croquis sur votre carte, débranchez le câble USB et allumez votre alimentation 5v. Enfin, rattachez le VIN de l'Arduino à la ligne électrique et regardez le spectacle!

    Si rien ne se passe, vérifiez votre câblage et que vous avez spécifié la bonne broche Arduino dans le croquis de démonstration.

    Des possibilités infinies

    Crédits image: mkarco / Shutterstock<44>






    Nuage de tags

    Choix de L'éditeur


    Thomas Becket

    Je suis un écrivain indépendant qui couvre la programmation et les logiciels.
    Je suis étudiant en informatique et je m'intéresse à la programmation, aux logiciels et à la technologie
    Gadgets technologiques et critiques 2019