Bemerkung
Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Tauchen Sie mit anderen Enthusiasten tiefer in Raspberry Pi, Arduino und ESP32 ein.
Warum beitreten?
Expertenunterstützung: Lösen Sie Probleme nach dem Kauf und technische Herausforderungen mit Hilfe unserer Community und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und Sneak Peeks.
Sonderrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Bereit, mit uns zu entdecken und zu gestalten? Klicken Sie auf [here] und treten Sie noch heute bei!
1.2 RGB-LED
Einführung
In diesem Projekt lernen wir, wie man eine RGB-LED steuert, um verschiedene Farben mit einem Raspberry Pi und GPIO-Programmierung darzustellen. RGB-LEDs sind vielseitige Bauteile, die ein breites Farbspektrum erzeugen können, indem rotes, grünes und blaues Licht mit unterschiedlichen Intensitäten kombiniert wird.
Benötigte Komponenten
Um dieses Projekt durchzuführen, benötigen Sie die folgenden Komponenten:
KOMPONENTE |
KAUFLINK |
|---|---|
- |
|
Raspberry Pi |
- |
Schaltplan
Nachdem die R-, G- und B-Pins der RGB-LED mit strombegrenzenden Widerständen verbunden wurden, verbinden Sie diese Widerstände jeweils mit PWM0, PWM1 und PWM2. Der längste Pin der LED (GND) wird mit dem GND-Pin des Raspberry Pi verbunden. Unterschiedliche PWM-Werte für die drei Pins erzeugen verschiedene Farben.
Verdrahtungsdiagramm
Folgen Sie den untenstehenden Schritten, um die Schaltung aufzubauen:
Platzieren Sie die RGB-LED auf dem Breadboard.
Verbinden Sie die roten, grünen und blauen Pins der LED über Widerstände mit P0, P1 und P2.
Verbinden Sie den längsten Pin (GND) der LED mit dem GND-Pin des Raspberry Pi.
Beispiel ausführen
Der gesamte Beispielcode, der in diesem Tutorial verwendet wird, befindet sich im Verzeichnis ai-lab-kit.
Folgen Sie diesen Schritten, um das Beispiel auszuführen:
cd ~/ai-lab-kit/python/
sudo python3 1.2_RGBLED.py
Nach dem Start des Programms leuchtet die RGB-LED zuerst rot, dann grün, dann violett, jeweils für 1 Sekunde, und schaltet sich anschließend aus. Durch Drücken von Ctrl + C wird die LED ebenfalls ausgeschaltet.
Code
Der folgende Python-Code wechselt zwischen verschiedenen Farben der RGB-LED, indem unterschiedliche PWM-Werte für die roten, grünen und blauen Komponenten gesetzt werden:
#!/usr/bin/env python3
from fusion_hat.modules import RGB_LED
from fusion_hat.pwm import PWM
from time import sleep
# Initialize an RGB LED. Connect the red component to P0, green to P1, and blue to P2.
rgb_led = RGB_LED(PWM(0), PWM(1), PWM(2), common=RGB_LED.CATHODE)
try:
# Set the RGB LED to red.
rgb_led.color((255, 0, 0))
sleep(1)
# Set the RGB LED to green.
rgb_led.color("#00FF22")
sleep(1)
# Set the RGB LED to purple.
rgb_led.color(0xFF00FF)
sleep(1)
# Set the RGB LED to black.
rgb_led.color(0x000000)
except KeyboardInterrupt:
# Handle a KeyboardInterrupt (Ctrl+C) to exit.
rgb_led.color(0x000000)
pass
Dieses Skript demonstriert, wie man eine RGB-LED mithilfe der Fusion-Hat-Bibliothek steuert. Es initialisiert die RGB-LED mit bestimmten PWM-Pins und setzt nacheinander verschiedene Farben.
Den Code verstehen
Führen Sie das Skript auf einem kompatiblen Gerät mit angeschlossener RGB-LED aus. Die LED wechselt nacheinander zu Rot, Grün und Violett und wird anschließend ausgeschaltet.
Importieren der Abhängigkeiten
from fusion_hat.modules import RGB_LED from fusion_hat.pwm import PWM from time import sleep
Die erforderlichen Module werden importiert.
RGB_LEDundPWMaus derfusion_hat-Bibliothek steuern die RGB-LED, undsleepwird für Zeitverzögerungen verwendet.Initialisieren der RGB-LED
rgb_led = RGB_LED(PWM(0), PWM(1), PWM(2), common=RGB_LED.CATHODE)
Die RGB-LED wird initialisiert, wobei die roten, grünen und blauen Komponenten mit den PWM-Pins
P0,P1undP2verbunden sind. Die LED verwendet eine gemeinsame Kathoden-Konfiguration.Farben nacheinander setzen
rgb_led.color((255, 0, 0)) # Rot sleep(1) rgb_led.color("#00FF22") # Grün sleep(1) rgb_led.color(0xFF00FF) # Violett sleep(1)
Das Skript setzt die RGB-LED auf verschiedene Farben und verwendet dabei unterschiedliche Formate:
(255, 0, 0): Tupel, das Rot im RGB-Format darstellt."#00FF22": Hexadezimale Zeichenkette für eine grünliche Farbe.0xFF00FF: Hexadezimale Ganzzahl für Violett.
LED ausschalten
rgb_led.color(0x000000)
Das Skript setzt die LED-Farbe auf Schwarz (
0x000000) und schaltet sie damit effektiv aus.Unterbrechungen behandeln
except KeyboardInterrupt: rgb_led.color(0x000000) pass
Wenn der Benutzer das Skript mit
Ctrl+Cunterbricht, wird die Ausnahme abgefangen, und die LED wird ausgeschaltet, bevor das Programm beendet wird.
Fehlerbehebung
LED leuchtet nicht
Ursache: Falsche Verdrahtung oder falsche GPIO-Pin-Zuordnung.
Lösung: Überprüfen Sie, ob die roten, grünen und blauen Pins der RGB-LED mit den richtigen Pins verbunden sind und ob die gemeinsame Kathode oder Anode korrekt angeschlossen ist.
Flackern oder instabile Farben
Ursache: Instabile Stromversorgung oder falsche Widerstandswerte.
Lösung: Verwenden Sie geeignete Widerstände und stellen Sie eine stabile Stromversorgung sicher.
Falsche GPIO-Konfiguration
Ursache: Die
fusion_hat-Bibliothek ist nicht installiert.Lösung: Siehe Installation des fusion-hat-Moduls.
Erweiterungsideen
Benutzerdefinierte Farbsequenzen
Fügen Sie der
COLORS-Liste weitere Farben hinzu, einschließlich gedimmter Varianten wie(125, 50, 200)für einen weicheren Farbton.Benutzerdefinierte Farben
Ermöglichen Sie dem Benutzer, eigene RGB-Werte einzugeben:
while True: user_color = input("RGB-Werte eingeben (z. B. 125,0,0): ") r, g, b = map(int, user_color.split(",")) rgb_led.color = (r, g, b)
Zufällige Farben
Erzeugen Sie zufällige Farben für ein dynamisches und unvorhersehbares Lichtspektakel:
from random import randint while True: rgb_led.color = (randint(1,255) , randint(1,255) , randint(1,255) ) sleep(1)
Fazit
Wenn Sie dieser Anleitung gefolgt sind, haben Sie erfolgreich gelernt, wie man eine RGB-LED mit einem Raspberry Pi und Python steuert. Dieses Projekt zeigt die Grundlagen von PWM und Farbvermischung, die sich zu komplexeren Lichteffekten erweitern lassen oder als Grundlage für interaktive Projekte dienen können.