Vous avez sûrement vu des fabricants montrer des projets utilisant ces ensembles de LED RVB à plus d'une occasion. Les applications de ces bandes peuvent aller d'une simple décoration qui peut changer de couleur en fonction d'un événement extérieur, à être utilisées pour des courses de lumières, et bien plus encore. C'est pourquoi, dans cet article, nous vous présenterons toutes les informations les plus importantes que vous devriez connaître sur le néopixel et comment il peut être intégré et contrôle avec Arduino.
Qu'est-ce que le Néopixel ?
Neopixel n'est rien de plus qu'une marque déposée d'Adafruit Industries. Cependant, le terme générique pour ces composants est LED RVB adressables individuellement (ex : SK6812, WS2811, WS2812,…). En d'autres termes, c'est un circuit logique avec ces lumières colorées qui va agir à la suite d'un signal de commande, afficher des couleurs différentes, effectuer certaines séquences de mise sous tension, etc.
Il est important que vous sachiez que chacune des LED RVB qui composent la matrice utilise 4 broches ou connecteurs, donc votre brochage est la suivante:
- 5V : alimentation haut niveau.
- GND : niveau bas de puissance ou masse.
- DIN : broche pour recevoir les informations de couleur.
- FAIRE : épingler pour envoyer des informations sur les couleurs.
En plus de cela, il intègre un circuit électronique avec une mémoire capable de stocker 3 octets, un pour chaque couleur. Pour plus d'informations, vous pouvez lire la fiche technique ou la documentation du modèle spécifique que vous avez acheté, car il peut y avoir des variations.
Où acheter Neopixel
Si vous êtes acheter un neopixel ou des éléments similaires pour vos projets de bricolage, vous pouvez les trouver dans certains magasins d'électronique spécialisés ou également sur Amazon. Certaines recommandations à cet égard sont les suivantes :
Intégrez Neopixel avec Arduino UNO
Pour intégrer Neopixel, ou toute autre marque, à votre carte Arduino et commencez à créer du code dans l'IDE Arduino pour pouvoir contrôler les couleurs et l'éclairage, vous aurez besoin de :
- Plaque Arduino UNO Rév3
- Matrice LED de type néopixel
- 470 résistance Ω
- Condensateur électrolytique 1000 µF ≥6.3V.
- Protoboard
- Câbles de connexion
- Alimentation et connecteur 5V à 1A
La connexion entre la matrice Neopixel et Arduino UNO C'est comme on le voit dans l'image précédente. Une fois connecté, la prochaine chose est de commencer par le Code IDE Arduino. Dans ce cas, vous devez utiliser une bibliothèque appelée Adafruit NeoPixel que vous pouvez télécharger ici, et commencez à tester et à modifier les exemples qui l'accompagnent. Par exemple, vous pouvez commencer par Simple, où vous obtiendrez quelque chose comme :
#include <Adafruit_NeoPixel.h> //Incluir la biblioteca #define PIN 6 //Pin en el que has conectado el Neopixel // Número de píxeles encadenados (en este caso 21, pero puedes modificarlo según necesites) #define NUMPIXELS 21 // Inicializamos el objeto "pixeles" Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); // Argumento 1 = Número de pixeles encadenados // Argumento 2 = Número del pin de Arduino utilizado con pin de datos // Argumento 3 = Banderas de tipo de pixel: // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) // NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products) #define DELAYVAL 500 //timpo de espera en ms void setup() { pixels.begin(); // Inicializamos el objeto "pixeles" } void loop() { pixels.clear(); // Apagamos todos los LEDs // El primer pixel de una cadena es el #0, el segundo es el #1, y así sucesivamente hasta el n-1 for(int i=0; i<NUMPIXELS; i++) { // Modificamos el LED #i, encendiendolo con un color verde moderadamente brillante pixels.setPixelColor(i, pixels.Color(0, 150, 0)); pixels.show(); // Mandamos todos los colores con la actualización hecha delay(DELAYVAL); // Pausa antes de modificar el color del siguiente LED } }