Raspberry Pi - Ruban LED NeoPixel

Le ruban LED RGB NeoPixel est une collection de LED dont la couleur et la luminosité peuvent être ajustées individuellement. Ce tutoriel vous explique comment utiliser un Raspberry Pi pour contrôler le ruban LED RGB NeoPixel. En détail, nous apprendrons :

Nous n'avons besoin d'utiliser qu'un seul pin numérique du Raspberry Pi pour contrôler toutes les LED de la bande.

Préparation du matériel

1×Raspberry Pi 4 Model 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) Screw Terminal Block Shield for Raspberry Pi
1×(Optional) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B
1×(Optional) Plastic Case and Cooling Fan for Raspberry Pi 4B
1×(Optional) HDMI Touch Screen Monitor for Raspberry Pi

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

Le brochage de la bande LED NeoPixel

Le ruban LED RGB NeoPixel a trois broches qui nécessitent une connexion :

  • Broche GND : Cela doit être connecté à GND (0V)
  • Broche VCC : Cela doit être connecté à 5V d'une alimentation externe
  • Broche Din : C'est la broche qui reçoit le signal de commande et doit être connectée à une broche du Raspberry Pi.
Brochage NeoPixel

※ Note:

L'ordre des broches peut varier selon les fabricants. Il est IMPÉRATIF de toujours utiliser les étiquettes imprimées sur la bande LED.

Diagramme de câblage

Schéma de câblage du ruban LED RGB NeoPixel pour Raspberry Pi

This image is created using Fritzing. Click to enlarge image

Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :

Raspberry Pi Screw Terminal Block Shield

Comment programmer une bande LED RGB NeoPixel

  • Créer un objet NeoPixel.
import time from rpi_ws281x import Adafruit_NeoPixel, Color PIN_NEO_PIXEL = 18 # La broche GPIO qui se connecte à NeoPixel NUM_PIXELS = 30 # Le nombre de LED (pixels) sur NeoPixel NeoPixel = Adafruit_NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL) # Créer un objet NeoPixel
  • Initialise la bibliothèque pour NeoPixel.
NeoPixel.begin() # Initialiser l'objet de bande NeoPixel (REQUIS)
  • Spécifiez la couleur de chaque LED individuelle (connue sous le nom de pixel).
NeoPixel.setPixelColor(pixel, Color(0, 255, 0)) # Traduction commentée en français : Définit la couleur du pixel
  • Ajustez la luminosité de toutes les bandes.
NeoPixel.setBrightness(100); # une valeur de 0 à 255

※ Note:

  • NeoPixel.setBrightness() est utilisé pour ajuster la luminosité de tous les pixels sur la bande LED. Pour régler la luminosité de chaque pixel individuel, nous pouvons ajuster 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 exécuté.

Code Raspberry Pi

Le code ci-dessous :

  • Change chaque pixel en vert successivement, avec une pause entre chacun d'eux
  • Éteint tous les pixels pendant deux secondes
  • Allume tous les pixels en rouge simultanément pendant deux secondes
  • Répète le cycle indéfiniment

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous devez installer des bibliothèques.
  • Si c'est la première fois que vous utilisez Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sous Linux et macOS ou PuTTY sous Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Si ce n'est pas le cas, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Avant d'utiliser le NeoPixel avec un Raspberry Pi, nous devons activer l'interface SPI sur le Raspberry Pi. Activez l'interface SPI sur le Raspberry Pi en suivant les instructions sur Raspberry Pi - comment activer l'interface SPI
  • Installez la bibliothèque NeoPixel en exécutant la commande suivante :
sudo pip3 install rpi_ws281x
  • Créez un fichier de script Python NeoPixel.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-neopixel-led-strip import time from rpi_ws281x import Adafruit_NeoPixel, Color # NeoPixel configuration PIN_NEO_PIXEL = 18 # The GPIO pin that connects to NeoPixel NUM_PIXELS = 30 # The number of LEDs (pixels) on NeoPixel DELAY_INTERVAL = 50 # Delay between each pixel change in milliseconds # Create NeoPixel object NeoPixel = Adafruit_NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL) NeoPixel.begin() # Initialize NeoPixel strip object (REQUIRED) try: while True: # Turn on all pixels to green for pixel in range(NUM_PIXELS): NeoPixel.setPixelColor(pixel, Color(0, 255, 0)) NeoPixel.show() time.sleep(DELAY_INTERVAL / 1000.0) # Turn off all pixels NeoPixel.clear() NeoPixel.show() time.sleep(2) # Turn on all pixels to red for pixel in range(NUM_PIXELS): NeoPixel.setPixelColor(pixel, Color(255, 0, 0)) NeoPixel.show() time.sleep(DELAY_INTERVAL / 1000.0) # Turn off all pixels NeoPixel.clear() NeoPixel.show() time.sleep(2) except KeyboardInterrupt: # Clean up code before exiting the script NeoPixel.clear() NeoPixel.show()
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
python3 NeoPixel.py
  • Découvrez l'effet LED.

Le script s'exécute en boucle infinie continuellement jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

※ Note:

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

Vidéo

Tutoriels connexes

※ 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!