- Shield Adafruit 5X8 NeoPixel pour Arduino
- Comprendre le processus de communication entre l'application Blynk et Arduino
- Composants requis
- Blindage LED Adafruit RGB et Arduino - Connexion matérielle
- Configuration de l'application Blynk
- Blindage LED RGB Adafruit WS2812B de contrôle de code Arduino
- Téléchargement du code sur la carte Arduino
Au fil des années, les LED RVB deviennent de jour en jour populaires en raison de leurs belles couleurs, de leur luminosité et de leurs effets d'éclairage attrayants. C'est pourquoi il est utilisé dans de nombreux endroits comme élément de décoration, un exemple peut être la maison ou un bureau. De plus, nous pouvons utiliser les lumières RVB dans la cuisine et également dans une console de jeu. Ils sont également parfaits dans la salle de jeux ou les chambres d'un enfant en termes d' éclairage d'ambiance. Auparavant, nous utilisions les LED WS2812B NeoPixel et le microcontrôleur ARM pour créer un visualiseur de spectre musical, alors vérifiez-le si cela vous intéresse.
C'est pourquoi, dans ce projet, nous allons utiliser un blindage matriciel LED RVB basé sur Neopixel, une application Arduino et Blynk pour produire de nombreux effets d'animation et couleurs fascinants que nous pourrons contrôler avec l'application Blynk. Alors, commençons!!!
Shield Adafruit 5X8 NeoPixel pour Arduino
Le blindage NeoPixel compatible Arduino contient quarante LED RVB adressables individuellement, chacune a le pilote WS2812b intégré, qui est disposé dans une matrice 5 × 8 pour former ce blindage NeoPixel. Plusieurs boucliers NeoPixel peuvent également être connectés pour former un bouclier plus grand si c'est une exigence. Pour contrôler les LED RVB, une seule broche Arduino est nécessaire, donc dans ce tutoriel, nous avons décidé d'utiliser la broche 6 de l'Arduino pour ce faire.
Dans notre cas, les LED sont alimentées par la broche 5V intégrée de l'Arduino, ce qui est suffisant pour alimenter environ «un tiers des LED» à pleine luminosité. Si vous avez besoin d'alimenter plus de LED, vous pouvez couper la trace intégrée et utiliser une alimentation externe 5v pour alimenter le blindage à l'aide de la borne externe 5V.
Comprendre le processus de communication entre l'application Blynk et Arduino
La matrice de LED RVB 8 * 5 qui est utilisée ici a quarante LED RVB adressables individuellement basées sur le pilote WS2812B. Il a un contrôle des couleurs 24 bits et 16,8 millions de couleurs par pixel. Il peut être contrôlé avec la méthodologie «One wire control». Cela signifie que nous pouvons contrôler l'ensemble du pixel LED à l'aide d'une seule broche de commande. En travaillant avec les LED, j'ai parcouru la fiche technique de ces LED où je trouve que la plage de tension de fonctionnement du blindage est de 4 V à 6 V et que la consommation de courant est de 50 mA par LED à 5 V avec rouge, vert et bleu à pleine luminosité. Il a une protection contre la tension inverse sur les broches d'alimentation externes et un bouton de réinitialisation sur le bouclier pour réinitialiser l'Arduino. Il dispose également d'une broche d'entrée d'alimentation externe pour les LED si une quantité suffisante d'alimentation n'est pas disponible via les circuits internes.
Comme indiqué dans le diagramme schématique ci-dessus, nous devons télécharger et installer l' application Blynksur notre smartphone où les paramètres tels que la couleur, la luminosité peuvent être contrôlés. Après avoir configuré les paramètres, si des changements surviennent dans l'application, c'est vers le cloud Blynk où notre PC est également connecté et prêt à recevoir les données mises à jour. L'Arduino Uno est connecté à notre PC via un câble USB avec un port de communication ouvert, avec ce port de communication (port COM), les données peuvent être échangées entre le cloud Blynk et Arduino UNO. Le PC demande des données au cloud Blynk à des intervalles de temps constants et lorsqu'une donnée mise à jour est reçue, il la transfère vers Arduino et prend des décisions définies par l'utilisateur comme le contrôle de la luminosité et des couleurs de la LED RVB. Le blindage LED RVB est placé sur la LED Arduino et connecté via une seule broche de données pour la communication, par défaut, il est connecté via la broche D6 d'Arduino.Les données série envoyées par Arduino UNO sont envoyées au Neopixel shied qui est ensuite reflété sur la matrice LED.
Composants requis
- Arduino UNO
- Bouclier matriciel LED 8 * 5 RVB
- Câble USB A / B pour Arduino UNO
- Ordinateur portable / PC
Blindage LED Adafruit RGB et Arduino - Connexion matérielle
Les LED WS2812B Neopixel ont trois broches, une pour les données et deux autres pour l'alimentation, mais ce blindage Arduino spécifique rend la connexion matérielle très simple, tout ce que nous avons à faire est de placer la matrice LED Neopixel sur le dessus d'Arduino UNO. Dans notre cas, la LED est alimentée par le rail Arduino 5V par défaut. Après avoir placé le bouclier Neopixel, la configuration ressemble à ci-dessous:
Configuration de l'application Blynk
Blynk est une application qui peut fonctionner sur des appareils Android et IOS pour contrôler tous les appareils et appareils IoT à l' aide de nos smartphones. Tout d'abord, une interface utilisateur graphique (GUI) doit être créée pour contrôler la matrice LED RVB. L'application enverra tous les paramètres sélectionnés de l'interface graphique au Blynk Cloud. Dans la section récepteur, nous avons Arduino connecté au PC via un câble de communication série. Par conséquent, le PC demande des données au cloud Blynk, et ces données sont envoyées à Arduino pour le traitement nécessaire. Alors, commençons avec la configuration de l'application Blynk.
Avant la configuration, téléchargez l'application Blynk depuis le Google Play Store (les utilisateurs IOS peuvent télécharger depuis l'App Store). Après l'installation, inscrivez-vous en utilisant votre identifiant de messagerie et votre mot de passe.
Créer un nouveau projet:
Après une installation réussie, ouvrez l'application, et là nous obtiendrons un écran avec une option « Nouveau projet ». Cliquez dessus et un nouvel écran apparaîtra dans lequel nous devons définir les paramètres tels que le nom du projet, la carte et le type de connexion. Dans notre projet, sélectionnez l'appareil comme « Arduino UNO » et le type de connexion comme « USB » et cliquez sur « Créer».
Après la création réussie du projet, nous recevrons un identifiant d'authentification dans notre courrier recommandé. Enregistrez l'ID d'authentification pour référence future.
Création de l'interface utilisateur graphique (GUI):
Ouvrez le projet dans Blynk, cliquez sur le signe «+» où nous obtiendrons les widgets que nous pouvons utiliser dans notre projet. Dans notre cas, nous avons besoin d'un sélecteur de couleurs RVB qui est répertorié comme «zeRGBa» comme indiqué ci-dessous.
Configuration des widgets:
Après avoir fait glisser les widgets vers notre projet, nous devons maintenant définir ses paramètres qui sont utilisés pour envoyer les valeurs de couleur RVB à Arduino UNO.
Cliquez sur ZeRGBa, puis nous obtiendrons un écran nommé réglage ZeRGBa. Ensuite, réglez l'option Sortie sur « Fusionner » et réglez la broche sur «V2», comme illustré dans l'image ci-dessous.
Blindage LED RGB Adafruit WS2812B de contrôle de code Arduino
Une fois la connexion matérielle terminée, le code doit être téléchargé sur Arduino. L'explication étape par étape du code est indiquée ci-dessous.
Tout d'abord, incluez toutes les bibliothèques requises. Ouvrez Arduino IDE, puis allez dans l'onglet Sketch et cliquez sur l'option Inclure la bibliothèque-> Gérer les bibliothèques . Recherchez ensuite Blynk dans la zone de recherche, puis téléchargez et installez le package Blynk pour Arduino UNO.
Ici, la bibliothèque « Adafruit_NeoPixel.h » est utilisée pour contrôler la matrice LED RVB. Pour l'inclure, vous pouvez télécharger la bibliothèque Adafruit_NeoPixel à partir du lien donné. Une fois que vous avez obtenu cela, vous pouvez l'inclure avec l'option Inclure la bibliothèque ZIP.
#define BLYNK_PRINT DebugSerial #include #include
Ensuite, nous définissons le nombre de LED, qui est nécessaire pour notre matrice de LED, nous définissons également le numéro de broche qui est utilisé pour contrôler les paramètres de LED.
#define PIN 6 #define NUM_PIXELS 40
Ensuite, nous devons mettre notre ID d'authentification clignotant dans un tableau d' authentification , que nous avons enregistré précédemment.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Ici, les broches série logicielles sont utilisées comme console de débogage. Ainsi, les broches Arduino sont définies comme série de débogage ci-dessous.
#comprendre
Dans la configuration, la communication série est initialisée à l'aide de la fonction Serial.begin , blynk est connecté à l'aide de Blynk.begin et à l'aide de pixels.begin (), la matrice LED est initialisée.
void setup () { DebugSerial.begin (9600); pixels.begin (); Serial.begin (9600); Blynk.begin (série, auth); }
Dans la boucle () , nous avons utilisé Blynk.run () , qui vérifie les commandes entrantes de l'interface graphique de blynk et exécute les opérations en conséquence.
boucle void () { Blynk.run (); }
Dans la dernière étape, les paramètres envoyés depuis l'application Blynk doivent être reçus et traités. Dans ce cas, les paramètres ont été attribués à une broche virtuelle «V2» comme indiqué précédemment dans la section de configuration. La fonction BLYNK_WRITE est une fonction intégrée qui est appelée chaque fois que l'état / la valeur de la broche virtuelle associée change. nous pouvons exécuter du code dans cette fonction comme n'importe quelle autre fonction Arduino.
Ici, la fonction BLYNK_WRITE est écrite pour vérifier les données entrantes sur la broche virtuelle V2. Comme indiqué dans la section de configuration du clignotement, les données des pixels de couleur ont été fusionnées et affectées à la broche V2. Nous devons donc également décomposer à nouveau après le décodage. Parce que pour contrôler la matrice de pixels LED, nous avons besoin des 3 données de pixels de couleur individuelles telles que le rouge, le vert et le bleu. Comme indiqué dans le code ci-dessous, trois index de la matrice ont été lus comme param.asInt () pour obtenir la valeur de la couleur rouge. De même, toutes les deux autres valeurs ont été reçues et stockées dans 3 variables individuelles. Ensuite, ces valeurs sont affectées à la matrice de pixels à l'aide de la fonction pixels.setPixelColor comme indiqué dans le code ci-dessous.
Ici, la fonction pixels.setBrightness () est utilisée pour contrôler la luminosité et la fonction pixels.show () est utilisée pour afficher la couleur définie dans la matrice.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); pixels.clear (); pixels.setBrightness (20); for (int i = 0; i <= NUM_PIXELS; i ++) { pixels.setPixelColor (i, pixels.Color (r, g, b)); } pixels.show (); }
Téléchargement du code sur la carte Arduino
Tout d'abord, nous devons sélectionner le PORT de l'Arduino dans l'IDE Arduino, puis nous devons télécharger le code dans Arduino UNO. Après un téléchargement réussi, notez le numéro de port qui sera utilisé pour notre configuration de communication série.
Après cela, recherchez le dossier de script de la bibliothèque Blynk sur votre PC. Il s'installe lorsque vous installez la bibliothèque, la mienne était dedans, "C: \ Users \ PC_Name \ Documents \ Arduino \ bibliothèques \ Blynk \ scripts"
Dans le dossier script, il devrait y avoir un fichier nommé «blynk-ser.bat» qui est un fichier batch utilisé pour la communication série que nous devons éditer avec le bloc-notes. Ouvrez le fichier avec le bloc-notes et remplacez le numéro de port par votre numéro de port Arduino que vous avez noté à la dernière étape.
Après l'édition, enregistrez le fichier et exécutez le fichier de commandes en double-cliquant dessus. Ensuite, vous devez voir une fenêtre comme ci-dessous:
Remarque: si vous ne pouvez pas voir cette fenêtre illustrée ci-dessus et qu'il est invité à se reconnecter, cela peut être dû à l'erreur de connexion du PC avec le blindage Arduino. Dans ce cas, vérifiez votre connexion Arduino avec le PC. Après cela, vérifiez si le numéro de port COM s'affiche dans l'IDE Arduino ou non. S'il affiche le port COM valide, il est prêt à continuer. Vous devez réexécuter le fichier de commandes.
Démonstration finale:
Il est maintenant temps de tester le circuit et ses fonctionnalités. Ouvrez l'application Blynk et ouvrez l'interface graphique et cliquez sur le bouton Play. Après cela, vous pouvez sélectionner l'une de vos couleurs souhaitées à refléter sur la matrice LED. Comme indiqué ci-dessous, dans mon cas, j'ai sélectionné la couleur rouge et bleu, elle est affichée sur la matrice.
De même, vous pouvez également essayer de faire différentes animations en utilisant ces matrices de LED en personnalisant un peu le codage.