Arduino Nano - Bande LED NeoPixel

La bande de LED RGB NeoPixel est une série de LED dont on peut régler indépendamment la couleur et la luminosité de chacune. Ce tutoriel vous explique comment utiliser un Arduino Nano pour contrôler la bande de LED RGB NeoPixel. En détail, nous apprendrons :

Toutes les LED de la bande peuvent être contrôlées avec une seule broche numérique de l'Arduino Nano.

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×NeoPixel RGB LED Strip
1×1000uF Capacitor
1×470Ω resistor
1×5V Power Adapter
1×DC Power Jack
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de la bande LED RGB NeoPixel

Brochage de la bande LED NeoPixel

La bande LED RGB NeoPixel possède trois broches :

  • Broche GND : doit être connectée à GND (0V)
  • Broche VCC : doit être connectée à 5V d'une source d'alimentation externe
  • Broche Din : est la broche qui reçoit le signal de commande et doit être connectée à une broche numérique de l'Arduino Nano.
Brochage NeoPixel

※ NOTE THAT:

L'ordre des broches peut varier selon les fabricants. Il est impératif d'utiliser toujours les étiquettes imprimées sur la bande LED.

Diagramme de câblage

Schéma de câblage de la bande LED RGB NeoPixel Arduino Nano

This image is created using Fritzing. Click to enlarge image

Comment programmer pour une bande LED RGB NeoPixel

  • Créez un objet NeoPixel.
#define PIN_NEO_PIXEL 2 // Broche Arduino Nano connectant le NeoPixel #define NUM_PIXELS 30 // Le nombre de LEDs (pixels) sur le NeoPixel Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
  • Initialise NeoPixel.
NeoPixel.begin(); // INITIALISER l'objet bande NeoPixel (REQUIS)
  • Spécifiez la couleur de chaque LED individuelle (connue sous le nom de pixel).
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0));
  • Ajustez la luminosité de toute la bande.
NeoPixel.setBrightness(100); // une valeur de 0 à 255

※ NOTE THAT:

NeoPixel.setBrightness() est utilisé pour ajuster la luminosité de tous les pixels sur la bande LED. Pour régler la luminosité de chaque pixel individuellement, nous pouvons mettre à l'échelle les valeurs de couleur (R, G, B) avec le même ratio.

Les valeurs définies par NeoPixel.setBrightness() et NeoPixel.setPixelColor() ne seront appliquées que lorsque NeoPixel.show() sera appelé.

Code Arduino Nano

Le code ci-dessous exécute les séquences suivantes :

  • Transforme les pixels en vert un par un avec un délai entre chaque pixel
  • Éteint tous les pixels pendant deux secondes
  • Allume tous les pixels en rouge pendant deux secondes
  • Répète ce processus indéfiniment
/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-neopixel-led-strip */ #include <Adafruit_NeoPixel.h> #define PIN_NEO_PIXEL 2 // The Arduino Nano pin that connects to NeoPixel #define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800); void setup() { NeoPixel.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) } void loop() { NeoPixel.clear(); // set all pixel colors to 'off'. It only takes effect if pixels.show() is called // turn pixels to green one by one with delay between each pixel for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel NeoPixel.setPixelColor(pixel, NeoPixel.Color(0, 255, 0)); // it only takes effect if pixels.show() is called NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(DELAY_INTERVAL); // pause between each pixel } // turn off all pixels for two seconds NeoPixel.clear(); NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(2000); // off time // turn on all pixels to red at the same time for two seconds for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0)); // it only takes effect if pixels.show() is called } NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(2000); // on time // turn off all pixels for one seconds NeoPixel.clear(); NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware. delay(2000); // off time }

Étapes rapides

  • Cliquez sur l'icône Libraries dans la barre gauche de l'IDE Arduino.
  • Recherchez “Adafruit NeoPixel” et localisez la bibliothèque NeoPixel par Adafruit.
  • Ensuite, appuyez sur le bouton Install pour installer la bibliothèque NeoPixel.
Bibliothèque neopixel pour Arduino Nano
  • Copiez le code et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à l'Arduino Nano.
  • Observez l'effet de la LED.

※ NOTE THAT:

Pour tout effet LED complexe, nous proposons le service de programmation payant

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!