ESP32 - RGB-LED

Diese Anleitung zeigt Ihnen, wie Sie eine RGB-LED mit einem ESP32 und MicroPython steuern. Wir behandeln:

ESP32 MicroPython RGB-LED

Überblick über RGB LED

Die RGB-LED kann jede Farbe erzeugen, indem sie Rot, Grün und Blau, die drei Grundfarben, kombiniert. Sie enthält drei verschiedene LEDs - eine rote, eine grüne und eine blaue - alle in einem einzigen Gehäuse.

Pinbelegung

Eine RGB-LED hat vier Pins.

  • Verbinden Sie den gemeinsamen Pin (Kathode-) mit GND (0V).
  • Der R-Pin (Rot) steuert die rote Farbe.
  • Der G-Pin (Grün) steuert die grüne Farbe.
  • Der B-Pin (Blau) steuert die blaue Farbe.
RGB-LED Pinbelegung

Um eine RGB-LED an einen ESP32 anzuschließen, sollten Sie strombegrenzende Widerstände verwenden, was den Aufbau aufwendiger macht. Sie können aber auch das RGB-LED-Modul verwenden, das diese Widerstände bereits enthält.

Das RGB-LED-Modul hat ebenfalls vier Pins.

  • Verbinden Sie den gemeinsamen Pin (Kathode-) mit GND (0V).
  • Der R-Pin (Rot) steuert die rote Farbe.
  • Der G-Pin (Grün) steuert die grüne Farbe.
  • Der B-Pin (Blau) steuert die blaue Farbe.
RGB-LED-Modul Pinbelegung

※ Notiz:

Diese Anleitung zeigt die Verwendung einer RGB-LED mit gemeinsamer Kathode. Das bedeutet, dass die Kathode der gemeinsame Pin ist. Bei manchen RGB-LEDs ist die Anode der gemeinsame Pin.

Funktionsweise

In der Physik besteht eine Farbe aus drei Werten: Rot (R), Grün (G) und Blau (B). Diese Werte reichen von 0 bis 255.

Durch Mischen der drei Werte entstehen 16.777.216 Farben.

Indem wir PWM-Signale (mit einem Tastverhältnis von 0 bis 255) an die Pins R, G und B senden, können wir die RGB-LED jede beliebige Farbe anzeigen lassen. Das PWM-Tastverhältnis an den Pins R, G und B entspricht den jeweiligen Farbwerten für Rot (R), Grün (G) und Blau (B).

Verdrahtungsdiagramm

  • So verbinden Sie ESP32 und RGB-LED mithilfe eines Steckbretts
ESP32 MicroPython RGB-LED Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Schließen Sie nicht nur einen Widerstand an den gemeinsamen Pin einer RGB-LED an. Sie sollten drei separate Widerstände anschließen, jeweils einen an jeden der anderen Pins, wie im Schaltplan gezeigt. Die LEDs im RGB-Gehäuse haben unterschiedliche Eigenschaften und ziehen daher nicht denselben Strom. Dieser Unterschied kann dazu führen, dass die LEDs ungleichmäßig hell leuchten, und sie könnten sogar beschädigt werden, wenn nur ein Widerstand am gemeinsamen Pin verwendet wird.

ESP32 MicroPython RGB-LED-Modul Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

So steuern Sie eine RGB-LED

Lernen wir Schritt für Schritt, wie man die RGB-LED auf eine bestimmte Farbe wie #00979D einstellt.

  • Wählen Sie Ihre gewünschte Farbe und ermitteln Sie ihren Farbcode.
  • Wandeln Sie den Farbcode mit diesem Konverter in das RGB-Format um: RGB converter. Notieren Sie diese Zahlen: R = 0, G = 151, B = 157.
RGB-LED Farbwähler
  • Definieren Sie die ESP32-Pins, die mit den Pins R (Rot), G (Grün) und B (Blau) verbunden sind. Zum Beispiel:
PIN_RED = 23 # ESP32 pin GPIO23 connected to the LED's red pin PIN_GREEN = 22 # ESP32 pin GPIO22 connected to the LED's green pin PIN_BLUE = 21 # ESP32 pin GPIO21 connected to the LED's blue pin
  • Setzen Sie diese ESP32-Pins in den Ausgangsmodus.
red = PWM(Pin(PIN_RED)) green = PWM(Pin(PIN_GREEN)) blue = PWM(Pin(PIN_BLUE))
  • Setzen Sie die PWM-Frequenz auf 1000 Hz
red.freq(1000) green.freq(1000) blue.freq(1000)
  • Setzen Sie das PWM-Tastverhältnis
red.duty_u16(int(0 * 65535 / 255)) # RED: 0 green.duty_u16(int(151 * 65535 / 255)) # GREEN: 151 blue.duty_u16(int(157 * 65535 / 255)) # BLUE: 157

ESP32 - RGB-LED Beispielcode

Der folgende Code ändert die Farbe der LED in dieser Reihenfolge:

  • #00C9CC (Rot = 0, Grün = 201, Blau = 204)
  • #F7788A (Rot = 247, Grün = 120, Blau = 138)
  • #34A853 (Rot = 52, Grün = 168, Blau = 83)
/* * Dieser ESP32 MicroPython Code wurde von newbiely.de entwickelt * Dieser ESP32 MicroPython Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-micropython/esp32-micropython-rgb-led */ from machine import Pin, PWM from time import sleep # Define the GPIO pins for the RGB LED PIN_RED = 23 # ESP32 pin GPIO23 connected to the LED's red pin PIN_GREEN = 22 # ESP32 pin GPIO22 connected to the LED's green pin PIN_BLUE = 21 # ESP32 pin GPIO21 connected to the LED's blue pin # Initialize the pins as PWM outputs red = PWM(Pin(PIN_RED)) green = PWM(Pin(PIN_GREEN)) blue = PWM(Pin(PIN_BLUE)) # Set the PWM frequency to 1000 Hz (you can adjust this as needed) red.freq(1000) green.freq(1000) blue.freq(1000) def setColor(r, g, b): # Set the duty cycle for each color channel red.duty_u16(int(r * 65535 / 255)) green.duty_u16(int(g * 65535 / 255)) blue.duty_u16(int(b * 65535 / 255)) while True: # Set RGB color to teal setColor(0, 201, 204) sleep(1) # Wait for 1 second # Set RGB color to soft red setColor(247, 120, 138) sleep(1) # Wait for 1 second # Set RGB color to green setColor(52, 168, 83) sleep(1) # Wait for 1 second

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!