L'essor 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.
L'un des produits LED les plus courants est la bande LED. Dans cet article, nous expliquerons comment configurer les deux types les plus courants avec un Arduino. Ces projets sont très simples, et même si vous êtes un débutant avec l'électronique Arduino ou DIY, vous pourrez le faire.
Nous utiliserons également l'IDE Arduino pour les contrôler. Ce projet utilise un Arduino Uno, bien que vous puissiez utiliser presque n'importe quelle carte compatible (comme le NodeMCU).
Lors de l'achat de bandes LED, il y a quelques points à considérer. La première est la fonctionnalité. Si vous prévoyez d'utiliser les bandes principalement pour l'éclairage ambiant, alors une simple LED RVB 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 d'écrire ces lignes, il était possible d'obtenir ces bandes pour aussi peu que 1 $ le mètre.
Si vous voulez quelque chose d'un peu plus technologique, pensez au WS2811 /12 /12B . Ces bandes (parfois appelées Neopixels ) ont des chipsets intégrés qui permettent de les adresser individuellement. Cela signifie qu'ils sont capables de plus qu'un simple éclairage ambiant.
Vous pouvez les utiliser pour construire un écran pixel LED bon marché à partir de zéro. Vous pouvez même les utiliser pour créer votre propre lampe de nuage d'orage d'intérieur.
Ces bandes ne nécessitent que 5v 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 épargner de l'odeur d'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 4 $ par mètre.
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é.
Lorsque vous regardez des bandes LED, faites attention aux numéros sur la liste. Habituellement, le premier chiffre sera le nombre de LED par mètre, et les lettres IP suivi de chiffres sera son étanchéité. Par exemple, si la liste indique 30 IP67 , cela signifie qu'il y aura 30 LED au mètre. Les 6 indique qu'il est complètement étanche à la poussière, et le 7 signifie qu'il est protégé contre l'immersion temporaire dans l'eau. (En savoir plus sur l'étanchéité et les indices IP.) Une fois que vous avez votre bande LED choisie, il est temps de la relier à un Arduino. Commençons par le SMD5050.
Afin de connecter une bande LED 12v à un Arduino, vous aurez besoin de quelques composants :
Avant de configurer le circuit, parlons des MOSFET .
Chaque fois que vous contrôlez quelque chose dont la tension est supérieure à celle de votre microcontrôleur, vous avez besoin de quelque chose entre les deux pour empêcher votre carte de se faire griller. L'un des moyens les plus simples de le faire est d'utiliser un MOSFET. En envoyant une modulation de largeur d'impulsion (PWM ) signale la porte jambe, il est possible de contrôler la quantité de puissance qui passe entre le drain et source jambes. En faisant passer chacune des couleurs de la bande LED à travers le MOSFET, vous pouvez contrôler la luminosité de chaque couleur individuelle sur la bande LED.
Lors de l'utilisation de microcontrôleurs, il est important d'utiliser des composants de niveau logique afin de s'assurer que les choses fonctionnent comme vous le souhaitez. Assurez-vous que vos MOSFET sont au niveau logique et non standard .
Configurez votre circuit comme ceci :
La plupart des bandes LED ont des connecteurs Dupont [Broken URL Removed], auxquels il est facile de se connecter. Si ce n'est pas le cas, vous devrez peut-être souder des fils à la bande LED. Ne paniquez pas si vous débutez dans la soudure, c'est un travail facile, et nous avons un guide pour commencer à souder si vous en avez besoin.
Nous alimenterons 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 d'alimentation 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.
Connectez votre carte Arduino à votre ordinateur via USB et ouvrez l'IDE Arduino. Assurez-vous d'avoir sélectionné la bonne carte et le bon numéro de port pour votre carte dans Outils > Carte et Outils > Port menus. Ouvrez une nouvelle esquisse et enregistrez-la sous un nom approprié.
Cette esquisse va atténuer les lumières d'une couleur à la fois, les garder allumées pendant quelques secondes, puis les éteindre jusqu'à ce qu'elles s'éteignent à nouveau. Vous pouvez suivre ici et faire le croquis vous-même, ou simplement télécharger le code complet depuis GitHub.
Commencez par définir quelles broches sera utilisé pour contrôler les MOSFET.
#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9
Ensuite, vous avez besoin de quelques variables. Créer une luminosité globale 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 ici sur la valeur de luminosité maximale de 255.
vous devrez également créer une variable pour contrôler la vitesse à laquelle le fondu se produira.
int luminosité =255 ;
int gBright =0 ;
int rBright =0 ;
int bBright =0 ;
int fadeSpeed =10;
Dans votre configuration fonction, nous allons définir nos broches Arduino sur la sortie. Nous appellerons également quelques fonctions avec un délai de 5 secondes entre elles. Ces fonctions n'existent pas encore, mais ne vous inquiétez pas, nous y reviendrons.
annuler la configuration() {
pinMode(VERT_LED, SORTIE);
pinMode(ROUGE_LED, SORTIE);
pinMode(BLEU_LED, SORTIE);
Allumer();
retard (5000);
Éteindre();
}
Créez maintenant le TurnOn() méthode :
void TurnOn() {
pour (int je =0; je <256; je++) {
analogWrite(RED_LED, rBright);
rLumineux +=1 ;
retard (vitesse de fondu);
}
pour (int je =0; je <256; je++) {
analogWrite(BLUE_LED, bBright);
bLumineux +=1 ;
retard (vitesse de fondu);
}
pour (int je =0; je <256; je++) {
analogWrite(GREEN_LED, gBright);
gLumineux +=1 ;
retard (vitesse de fondu);
}
}
Ces trois pour les boucles prennent chaque couleur jusqu'à sa pleine luminosité sur un temps spécifié par le fadeSpeed valeur.
Enfin, vous devez créer le TurnOff() méthode :
void TurnOff() {
pour (int je =0; je <256; je++) {
analogWrite(GREEN_LED, luminosité);
analogWrite(RED_LED, luminosité);
analogWrite(BLUE_LED, luminosité);
luminosité -=1 ;
retard (vitesse de fondu);
}
}
boucle vide() {
}
Cette méthode applique notre luminosité variable aux trois broches de couleur et les réduit à zéro sur une période de temps. Ici aussi, nous avons 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 le croquis et téléchargez-le sur votre carte Arduino. Si vous obtenez des erreurs, vérifiez à nouveau le code pour toute faute de frappe ou point-virgule manquant.
Vous devriez maintenant voir votre bande LED augmenter chaque couleur individuellement, maintenir la couleur blanche pendant 5 secondes, puis s'estomper uniformément :
Si vous rencontrez des difficultés, vérifiez à nouveau votre câblage et votre code.
Ce projet est un moyen simple de démarrer, mais les idées qu'il contient peuvent être développées pour créer un éclairage vraiment efficace. Avec seulement quelques composants supplémentaires, vous pouvez créer votre propre alarme de lever de soleil. Si vous avez un kit de démarrage avec votre Arduino, vous pouvez utiliser n'importe quel bouton ou capteur pour déclencher vos LED lorsque vous entrez dans la pièce, par exemple :
Maintenant que nous avons couvert les SMD5050 , passons au WS2812B bandes.
Ces bandes nécessitent moins de composants pour les faire fonctionner, et il y a 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.
Vous aurez besoin de :
Configurez votre circuit comme indiqué sur le schéma :
Notez que le condensateur doit être dans la bonne orientation. Vous pouvez savoir quel côté se fixe au rail de masse en recherchant le signe moins (-) sur le corps du condensateur.
Cette fois-ci, nous alimentons l'Arduino à l'aide de 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 de 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 toast.
En outre, il est recommandé de s'assurer que plusieurs sources d'alimentation distinctes ne sont pas connectées à l'Arduino - débranchez le câble USB chaque fois que vous utilisez une alimentation externe.
Une fois que vous êtes branché, cela devrait ressembler à ceci :
Maintenant que notre bande LED est câblée, passons au code.
Afin de programmer notre carte en toute sécurité, déconnectez le VIN 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 sélectionné la bonne carte et le bon numéro de port dans Outils > Carte et Outils > Port menus.
Nous utiliserons le FastLED bibliothèque pour tester notre configuration. Vous pouvez ajouter la bibliothèque en cliquant sur Sketch> 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'IDE.
Sous Fichier> Exemples> FastLED sélectionnez le DemoReel100 esquisser. Ce croquis fait défiler différentes choses qui peuvent être faites avec le WS2812 Bandes LED, et est incroyablement facile à installer.
Tout ce que vous devez changer est le DATA_PIN variable afin qu'elle corresponde à la broche 13 , et les NUM_LED variable pour définir le nombre de LED dans la bande que vous utilisez. Dans ce cas, j'utilise seulement une petite ligne de 10 LED coupées dans une bande plus longue. Utilisez-en plus pour un plus grand spectacle de lumière !
C'est ça! Téléchargez le croquis sur votre carte, déconnectez 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.
Le croquis de démonstration montre certaines des nombreuses combinaisons d'effets possibles qui peuvent être obtenues avec les bandes WS2812. En plus d'être une avancée par rapport aux bandes LED ordinaires, elles peuvent également être utilisées de manière pratique. Un bon prochain projet serait de construire votre propre ambilight pour votre centre multimédia.
Bien que ces bandes soient nettement plus fonctionnelles que les SMD5050, ne négligez pas encore les bandes LED 12v standard. Ils sont imbattables en termes de prix et il existe un grand nombre d'applications pour les bandes lumineuses à LED.
Apprendre à travailler avec des bandes LED est un bon moyen de se familiariser avec la programmation de base sur l'Arduino, mais la meilleure façon d'apprendre est de bricoler. Modifiez le code ci-dessus et voyez ce que vous pouvez faire ! Si tout cela était un peu trop pour vous, envisagez de commencer par ces projets Arduino pour débutants.
Crédits image :mkarco/Shutterstock