ESP32 - LED dimmen

Dieses Tutorial zeigt Ihnen, wie Sie eine LED mit dem ESP32 und MicroPython dimmen. Im Einzelnen lernen wir:

ESP32 MicroPython LED dimmen

Erforderliche Hardware

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow
1×(Alternativ) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativ) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativ) ESP32 Uno-form board
1×(Alternativ) ESP32 S3 Uno-form board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×LED Kit
1×LED (red)
1×LED Module
1×(Alternativ) Button and LED Kit
1×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.

Überblick über LED

Pinbelegung

Eine LED hat zwei Metallpins.

  • Negativer (-) Pin: Verbinden Sie ihn mit Masse (0V).
  • Positiver (+) Pin: Damit steuern Sie den Zustand der LED.
LED Pinbelegung

Funktionsweise

Nachdem Sie die negative Seite, auch Kathode genannt, mit Masse (GND) verbunden haben:

  • Wenn Sie Masse (GND) mit der positiven Seite der LED verbinden, ist die LED aus.
  • Wenn Sie die Stromversorgung (VCC) mit der positiven Seite der LED verbinden, leuchtet die LED.
  • Mit einem Pulsweitenmodulations-Signal (PWM) an der positiven Seite der LED können Sie ihre Helligkeit ändern. Der PWM-Wert kann zwischen 0 und 255 liegen. Die LED leuchtet bei einem höheren PWM-Wert heller und bei einem niedrigeren Wert schwächer.
  • Wenn der PWM-Wert 0 ist, schaltet sich die LED aus, als wäre sie mit GND verbunden.

Wenn der PWM-Wert 255 ist, leuchtet die LED vollständig, als wäre sie direkt mit VCC verbunden.

Funktionsweise einer LED

※ Notiz:

Bei den meisten LEDs müssen Sie einen Widerstand zwischen der positiven Seite (Anode) und der Stromversorgung anschließen. Der Wert des Widerstands hängt von den Anforderungen der LED ab.

ESP32 - LED dimmen

Um die Helligkeit einer LED mit dem ESP32 einzustellen, verwenden Sie Pins, die ein PWM-Signal erzeugen. Verbinden Sie zuerst den positiven Pin (+) der LED mit einem Pin des ESP32. Verbinden Sie dann den negativen Pin (-) der LED mit Masse (GND). Konfigurieren Sie anschließend den gewählten Pin des ESP32 so, dass er ein PWM-Signal ausgibt.

Verdrahtungsdiagramm

ESP32 MicroPython LED Schaltplan

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

ESP32 MicroPython-Code

/* * 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-fade-led */ from machine import Pin, PWM from time import sleep # Define pin LED_PIN = 18 # The ESP32 pin GPIO18 connected to the LED # Initialize PWM on the LED pin led = PWM(Pin(LED_PIN)) led.freq(1000) # Set the PWM frequency to 1kHz # Variables to control the LED brightness brightness = 0 # How bright the LED is fade_step = 5 # How many points to fade the LED by # Main loop while True: # Set the brightness of the LED led.duty_u16(int(brightness * 4095 / 255)) # Convert 0-255 range to 0-4095 # Change the brightness for next time through the loop brightness = brightness + fade_step # Reverse the direction of the fading at the ends of the fade if brightness <= 0 or brightness >= 255: fade_step = -fade_step # Wait for 30 milliseconds to see the dimming effect sleep(0.03)

Schnelle Schritte

So richten Sie Ihren MicroPython-Code auf dem ESP32 mit der Thonny IDE ein und führen ihn aus:

  • Stellen Sie sicher, dass die Thonny IDE auf Ihrem Computer installiert ist.
  • Vergewissern Sie sich, dass die MicroPython-Firmware auf Ihrem ESP32-Board installiert ist.
  • Wenn Sie zum ersten Mal einen ESP32 mit MicroPython verwenden, lesen Sie die Anleitung ESP32 MicroPython Erste Schritte für eine Schritt-für-Schritt-Anleitung.
  • Schließen Sie das ESP32-Board gemäß dem bereitgestellten Schaltplan an die LED an.
  • Verbinden Sie das ESP32-Board über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Thonny IDE auf Ihrem Computer.
  • Gehen Sie in der Thonny IDE zu Tools Options.
  • Wählen Sie im Reiter Interpreter die Option MicroPython (ESP32) aus dem Dropdown-Menü.
  • Stellen Sie sicher, dass der richtige Port ausgewählt ist. Die Thonny IDE erkennt ihn normalerweise automatisch, aber eventuell müssen Sie ihn manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
  • Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
  • Speichern Sie den Code auf Ihrem ESP32:
    • Klicken Sie auf die Schaltfläche Save oder drücken Sie Ctrl+S.
    • Wählen Sie im Speicherdialog MicroPython device.
    • Benennen Sie die Datei main.py.
  • Klicken Sie auf die grüne Schaltfläche Run (oder drücken Sie F5), um das Skript auszuführen.
  • Beobachten Sie, wie die LED reagiert.

Code-Erklärung

Die Erklärung steht in den Kommentaren am Anfang des ESP32 MicroPython-Codes.

※ Notiz:

Im Beispiel haben wir eine Funktion namens sleep() verwendet, um die Helligkeit langsam anzupassen. Diese Funktion macht die Helligkeitsänderung jedoch weniger gleichmäßig und blockiert andere Teile des Programms. Als Nächstes lernen wir, wie man die LED mit der LED-Bibliothek von DIYables sanft dimmt, während der Rest des Programms weiterläuft.

So blenden Sie eine LED ein/aus

Mit der LED-Bibliothek von DIYables ist das Ein- und Ausblenden der LED sehr einfach. Sie können die Helligkeitsstufe und die Dimmgeschwindigkeit einstellen.

/* * 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-fade-led */ from DIYables_MicroPython_LED import LED, CTRL_ANODE, LED_IDLE led = LED(18, CTRL_ANODE) # create an LED object that attaches to pin GPIO18 is_faded_in = False while True: led.loop() # MUST call the led.loop() function in loop() if led.get_state() == LED_IDLE: if not is_faded_in: print("FADING IN") led.fade(0, 255, 3000) # fade in from 0 to 255 in 3000ms, fade immediately # led.fade(0, 255, 3000, 1000) # fade in from 0 to 255 in 3000ms, fade after 1 second is_faded_in = True else: print("FADING OUT") led.fade(255, 0, 3000) # fade out from 255 to 0 in 3000ms, fade immediately # led.fade(255, 0, 3000, 1000) # fade out from 255 to 0 in 3000ms, fade after 1 second is_faded_in = False

Schnelle Schritte

  • Gehen Sie in der Thonny IDE zu Tools Manage packages.
  • Suchen Sie nach “DIYables-MicroPython-LED” und finden Sie die LED-Bibliothek von DIYables.
  • Klicken Sie auf DIYables-MicroPython-LED und dann auf die Schaltfläche Install, um die LED-Bibliothek auf dem ESP32-Board zu installieren.
ESP32 MicroPython LED-Bibliothek
  • Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
  • Speichern Sie den Code auf Ihrem ESP32:
    • Klicken Sie auf die Schaltfläche Save oder drücken Sie Ctrl+S.
    • Wählen Sie im Speicherdialog MicroPython device.
    • Benennen Sie die Datei main.py.
  • Klicken Sie auf die grüne Schaltfläche Run (oder drücken Sie F5), um das Skript auszuführen.
  • Beobachten Sie den Zustand der LED.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

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