Arduino - Bande LED NeoPixel

La bande de LED RGB NeoPixel est une bande de LED dont la couleur et la luminosité de chaque LED peuvent être contrôlées individuellement. Dans ce tutoriel, nous allons apprendre à utiliser un Arduino pour contrôler la bande de LED RGB NeoPixel. Pour contrôler toutes les LED de la bande NeoPixel, nous avons juste besoin d'utiliser une seule broche Arduino.

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
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
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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

la bande LED RVB NeoPixel possède trois broches :

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

※ NOTE THAT:

L'ordre des broches peut varier selon les fabricants. Utilisez 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

This image is created using Fritzing. Click to enlarge image

Comment programmer pour une bande LED RGB NeoPixel

  • Déclarez un objet NeoPixel.
#define PIN_NEO_PIXEL 4 // Broche Arduino qui se connecte à NeoPixel #define NUM_PIXELS 30 // Le nombre de LED (pixels) sur NeoPixel Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
  • Initialise le NeoPixel
NeoPixel.begin(); // INITIALISER l'objet bande NeoPixel (REQUIS)
  • Définissez la couleur de chaque LED individuelle (appelée pixel).
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0));
  • Réglez la luminosité de toute la bande.
NeoPixel.setBrightness(100); // une valeur de 0 à 255

※ NOTE THAT:

NeoPixel.setBrightness() est utilisé pour tous les pixels sur la bande LED. Pour régler la luminosité de chaque pixel individuellement, nous pouvons ajuster la valeur de la couleur.

Les valeurs définies par NeoPixel.setBrightness() et NeoPixel.setPixelColor() ne prennent effet que lorsque NeoPixel.show() est appelé.

Code Arduino

Le code ci-dessous fait :

  • Changez les pixels en vert un par un avec un délai entre chaque pixel
  • Éteignez tous les pixels pendant deux secondes
  • Allumez tous les pixels en rouge en même temps pendant deux secondes
  • Répétez le processus ci-dessus indéfiniment
/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-neopixel-led-strip */ #include <Adafruit_NeoPixel.h> #ifdef __AVR__ #include <avr/power.h> // Required for 16 MHz Adafruit Trinket #endif #define PIN_NEO_PIXEL 4 // Arduino pin that connects to NeoPixel #define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel #define DELAY_INTERVAL 250 // 250ms pause between each pixel 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

  • Accédez à l'icône Libraries sur la barre gauche de l'Arduino IDE.
  • Recherchez "Adafruit NeoPixel", puis trouvez la bibliothèque NeoPixel par Adafruit.
  • Cliquez sur le bouton Install pour installer la bibliothèque NeoPixel.
Bibliothèque Arduino neopixel
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code vers Arduino
  • 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!