Raspberry Pi Pico: LED-Helligkeit mit einem Potentiometer einstellen
Im Prinzip kennt ein GPIO nur zwei Zustände: „High“ und „Low“. Also „An“ und „Aus“ oder „1“ und „0“. Es handelt sich dabei um die binäre Logik. Werte dazwischen gibt es nicht. Demnach kann man eine LED an einem GPIO-Ausgang auch nur ein- und ausschalten. Die Helligkeit der LED wird mit dem Vorwiderstand festgelegt.
Trotzdem gibt es einen Trick mit dem Du die Helligkeit einer LED steuern kannst. Das geht, in dem Du zwischen den Zuständen „1“ und „0“, also „An“ und „Aus“, so schnell hin- und herschaltest, dass Du den Schaltvorgang mit den Augen nicht sehen kann. Die Helligkeit der LED wird aber durch das Verhältnis der Dauer zwischen „0“ und „1“ eingestellt und dynamisch verändert.
Schaltung
Der schnelle Wechsel zwischen „An“ und „Aus“ lässt sich mit einem PWM-Signal realisieren. Um das Signal einzustellen verwenden wir ein Potentiometer. Das ist ein veränderbarer Widerstand. Er hat drei Anschlüsse und einen Drehknopf. Damit stellen wir das Puls-Pause-Verhältnis des PWM-Signals ein.
Aufbau und Bauteile
- Potentiometer, 10K (103)
Programmcode für MicroPython
Im Programmcode wird die Onboard-LED mit dem PWM-Signal und ein ADC-Eingang initialisiert. Der ADC-Eingang misst den Spannungsabfall am Potentiometer und liefert ein Ganzzahl zurück.
In einer Endlosschleife wird abhängig vom ADC-Eingang das PWM-Signal (Duty-Cycle) gesetzt. Der Wert wird zusätzlich auf der Kommandozeile ausgegeben.
# Bibliotheken laden from machine import Pin, ADC, PWM from utime import sleep # Initialisierung des ADC0-Eingang (GPIO26) adc0 = ADC(0) # Initialisierung Onboard-LED/PWM-Ausgang pwm = PWM(Pin(25, Pin.OUT)) pwm.freq(1000) # Wiederholung (Endlos-Schleife) while True: # ADC0 lesen value = adc0.read_u16() # PWM-Duty-Cycle setzen pwm.duty_u16(value) print(value) sleep(0.5)
Programmcode für MicroPython mit picozero
„picozero“ ist eine Einsteiger-freundliche MicroPython-Bibliothek, um elektronische Bauteile, wie LEDs, Taster und Sensoren einfacher zu programmieren und zu steuern.
from picozero import Pot, PWMLED from utime import sleep pot = Pot(0) led = PWMLED(25) while True: #print(pot.value, pot.voltage) led.on(value=pot.value) sleep(0.1)
Weitere verwandte Themen:
- Raspberry Pi Pico: Grundlagen zu ADC (Analog-Digital-Converter)
- Raspberry Pi Pico: Experimente mit ADC
- Raspberry Pi Pico: LED-Helligkeit einstellen
- Raspberry Pi Pico: Nachtschaltung (Dämmerungsschalter)
- Raspberry Pi Pico: Helligkeit einer LED mit einem Rotary Encoder einstellen (KY-040)
Teilen:
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.
- LED: Einschalten, ausschalten, blinken und Helligkeit steuern
- Taster: Entprellen und Zustände anzeigen
- LED mit Taster einschalten und ausschalten
- Ampel- und Lauflicht-Steuerung
- Elektronischer Würfel
- Eigene Steuerungen programmieren
Online-Workshop
Hardware-nahes Programmieren mit dem Raspberry Pi Pico
Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.
Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)
Elektronik-Set Pico Edition
Raspberry Pi Pico: Hardware-nahes Programmieren mit MicroPython
Leichter Einstieg mit All-in-one-Set zum sofort Loslegen, um eigene Steuerungen programmieren.
Elektronik-Set Pico WLAN Edition
Raspberry Pi Pico W: IoT und Smart Home mit WLAN und MQTT
Betreibe Deinen Raspberry Pi Pico W als drahtloser Sensor in Deinem WLAN, versende E-Mails mit Daten und kommuniziere per MQTT im Internet of Things oder Smart Home.
Elektronik-Set Sensor Edition
Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition
Elektronik-Set mit den beliebtesten Sensoren zum Messen von Temperatur, Helligkeit, Bewegung, Lautstärke und Entfernung.