Note
Bonjour, bienvenue dans la communauté SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts sur Facebook ! Plongez au cœur de Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi nous rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques grâce à l’aide de notre communauté et de notre équipe.
Apprendre & Partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux avant-goûts.
Réductions spéciales : Profitez de réductions exclusives sur nos nouveaux produits.
Promotions festives et tirages au sort : Participez à des tirages au sort et des promotions de vacances.
👉 Prêt à explorer et créer avec nous ? Cliquez sur [Ici] et rejoignez-nous dès aujourd’hui !
Bande de LED RVB WS2812
Vue d’ensemble
Dans cette leçon, vous allez découvrir les LED NeoPixel et comment les contrôler à l’aide de la bibliothèque FastLED sur un Arduino Uno R4. Les LED NeoPixel sont largement utilisées dans diverses applications telles que la décoration intérieure, les vêtements et l’éclairage événementiel. La bibliothèque FastLED simplifie le processus de programmation de ces LED. Ici, une chaîne de 8 LED NeoPixel est connectée à un Arduino, et chaque LED de la séquence s’allume en bleu momentanément avant de s’éteindre, passant à la LED suivante de la chaîne. Cet exemple de base peut servir de fondation pour des motifs lumineux plus complexes ou des projets d’éclairage interactifs.
Composants requis
Pour ce projet, nous avons besoin des composants suivants.
Il est certainement pratique d’acheter un kit complet, voici le lien :
Nom |
ARTICLES DANS CE KIT |
LIEN |
---|---|---|
Elite Explorer Kit |
300+ |
Vous pouvez également les acheter séparément à partir des liens ci-dessous.
INTRODUCTION DES COMPOSANTS |
LIEN D’ACHAT |
---|---|
- |
|
Câblage
Schéma de câblage
Code
Note
Vous pouvez ouvrir le fichier
12-ws2812.ino
sous le cheminelite-explorer-kit-main\basic_project\12-ws2812
directement.Ou copiez ce code dans Arduino IDE.
Note
Pour installer la bibliothèque, utilisez le gestionnaire de bibliothèques Arduino et recherchez « FastLED » et installez-la.
Important
Avec la sortie de la version FastLED 3.7.0, la bibliothèque FastLED prend désormais officiellement en charge l’Arduino UNO R4. Vous n’avez donc plus besoin d’installer manuellement la version de développement. Mettez simplement à jour ou installez la bibliothèque FastLED en utilisant le gestionnaire de bibliothèques Arduino.
Avertissement
[Obsolète] Comme la bibliothèque FastLED n’a pas encore publié officiellement une version supportant l’Arduino R4, vous devrez télécharger la dernière version de développement de la bibliothèque FastLED
et remplacer les fichiers existants de la bibliothèque FastLED. Pour des instructions détaillées sur la façon de faire cela, veuillez vous référer à la section Installation manuelle. (Cette note sera retirée lorsque la bibliothèque FastLED publiera officiellement une mise à jour prenant en charge l’Arduino UNO R4.)
Une fois le code téléversé avec succès, vous verrez chaque LED de la chaîne de 8 LED NeoPixel s’allumer une par une en bleu. Le programme bouclera cette séquence continuellement, éteignant chaque LED avant de passer à la suivante. Avec un court délai entre chaque LED, l’effet lumineux apparaîtra comme un point bleu se déplaçant le long de la chaîne.
Analyse du code
Importer la bibliothèque et définir les constantes
Importation de la bibliothèque
FastLED
pour utiliser ses fonctions.Définition du nombre de LEDs et de la broche de données à laquelle elles sont connectées.
#include <FastLED.h> // Inclure la bibliothèque FastLED #define NUM_LEDS 8 // Nombre de LEDs dans la chaîne #define DATA_PIN 6 // Broche de données pour le contrôle des LEDs
Initialiser le tableau de LEDs
Création d’un tableau de type
CRGB
pour stocker les informations de couleur de chaque LED.CRGB leds[NUM_LEDS]; // Tableau pour stocker les données de couleur des LEDs
Initialiser les LEDs dans la fonction Setup
Utilisation de
FastLED.addLeds
pour initialiser les LEDs.void setup() { FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); // Initialiser les LEDs }
Contrôler les LEDs dans la boucle Loop
Boucler à travers chaque LED pour la définir en bleu, l’afficher, la réinitialiser, puis attendre un court délai.
Le tableau
leds
sert de tampon de couleur pour votre bande LED. Chaque élément de ce tableau correspond à une LED individuelle sur votre bande physique, et sa valeur de couleur détermine la couleur que la LED affichera. L’ordre des éléments dans le tableau correspond à l’ordre des LEDs sur la bande, en commençant par la première LED (qui correspond àleds[0]
) jusqu’à la dernière LED. Pour changer la couleur d’une LED spécifique sur votre bande, il suffit de modifier l’élément correspondant dans le tableauleds
. Vous pouvez utiliser Couleurs prédéfinies ou définir les couleurs en utilisant les valeurs RVB (en prenant le vert comme exemple, utilisezleds[dot] = CRGB::Green
ouleds[dot] = CRGB(0, 255, 0);
).La fonction
FastLED.show();
met à jour la bande LED avec les nouvelles données de couleur, rendant les changements visibles. C’est comme appuyer sur le bouton « publier » pour votre bande LED après avoir fait des modifications et des ajustements dans le code.
void loop() { for (int dot = 0; dot < NUM_LEDS; dot++) { leds[dot] = CRGB::Blue; // Définir la LED actuelle en bleu FastLED.show(); // Mettre à jour les LEDs leds[dot] = CRGB::Black; // Réinitialiser la LED actuelle delay(30); // Attendre un court instant avant de passer à la LED suivante } }