Raspberry Pi Pico: Onboard-LED blinken lassen (2024)

Elektronik macht immer dann am meisten Spaß, wenn es blinkt und blitzt. Aber bitte nicht zu viel davon. Wenn es zu sehr blitzt, dann ist es meistens kaputt. Deshalb beschränken wir uns sicherheitshalber auf das Blinken einer Leuchtdiode.

Damit eine LED blinkt oder blitzt gibt es in der Elektronik ein paar Grundschaltungen. Die folgenden Programmcodes ersetzen die Funktion dieser elektronischen Schaltungen. Die Leuchtdiode wird per Software gesteuert, was uns viele Möglichkeiten der Steuerung eröffnet, während wir bei einer elektronischen Schaltung auf deren Funktion beschränkt bleiben.
Mit MicroPython lässt sich das Blinken der Onboard-LED mit wenigen Zeilen erledigen.

Dabei gibt es nicht nur einen Weg, wie man die Onboard-LED zum Blinken bringen kann. Es gibt gleich mehrere davon. Und genau das sollst Du ausprobieren. Und es wäre denkbar, dass es noch weitere Lösungen gibt, die hier nicht berücksichtigt wurden.

Im folgenden Aufbau wird der Mikrocontroller Raspberry Pi Pico verwendet. Zum Einstieg und erste Versuche empfehlen sich Erste Schritte mit dem Raspberry Pi Pico und Programmieren mit MicroPython.

Aufbau und Bauteile

Raspberry Pi Pico: Onboard-LED blinken lassen (1)

Der Vorteil dieses Aufbaus ist, dass außer dem Raspberry Pi Pico nichts weiter erforderlich ist.

  • GPIO-Belegung (Pinout)

1. Programmcode: Endlos-Schleife

Nach dem Start der Programme beginnt die Onboard-LED zu blinken. Beim ersten Programm wird die LED nach einer bestimmten Wartezeit eingeschaltet und ausgeschaltet.

# Bibliotheken ladenfrom machine import Pinfrom time import sleep# Initialisierung von GPIO25 als Ausgangled_onboard = Pin(25, Pin.OUT)# Wiederholung (Endlos-Schleife)while True: # LED einschalten led_onboard.on() # halbe Sekunde warten sleep(0.5) # LED ausschalten led_onboard.off() # 1 Sekunde warten sleep(1)
  • Hilfe, die Onboard-LED funktioniert nicht!

Programmcode für CircuitPython

# Bibliotheken ladenimport timeimport boardimport digitalio# Initialisierung der Onboard-LEDled_onboard = digitalio.DigitalInOut(board.LED)led_onboard.direction = digitalio.Direction.OUTPUT# Wiederholung (Endlos-Schleife)while True: # LED einschalten led_onboard.value = True # halbe Sekunde warten time.sleep(0.5) # LED ausschalten led_onboard.value = False # 1 Sekunde warten time.sleep(1)

Programmcode für MMBasic

SETPIN GP25, DOUTDO PIN(GP25) = 1 PAUSE 300 PIN(GP25) = 0 PAUSE 300LOOP

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 pico_led
pico_led.blink()

2. Programmcode: Endlos-Schleife mit Toggle-Funktion

Das zweite Programm nutzt die Toggle-Funktion, die zwischen zwei Zuständen hin- und herwechselt, unabhängig davon, welcher Zustand gerade herrscht.

# Bibliotheken ladenfrom machine import Pinfrom time import sleep# Initialisierung von GPIO25 als Ausgangled_onboard = Pin(25, Pin.OUT)# Wiederholung (Endlos-Schleife)while True: # LED-Zustand wechseln (EIN/AUS) led_onboard.toggle() # 1 Sekunde warten sleep(1)

3. Programmcode: Timer-Steuerung

Die beiden vorherigen Programme sind sicherlich zweckmäßig. Allerdings entspricht die Lösung mit einer Schleife eher dem Stil eines Anfängers. Wir wollen aber etwas lernen und auch unsere Programmierfähigkeiten verbessern. Deshalb nutzen wir hier die Lösung mit einem Timer. Das ist eine interne Funktion des Mikrocontrollers.
Zu beachten ist hier, dass der Wechsel von ein nach aus nicht über die Zeit, sondern die Frequenz in Hertz (Hz) eingestellt wird. Eine Frequenz gibt die Zahl von etwas an, das in einer Sekunde durchlaufen wird. Soll eine Leuchtdiode 2 mal in einer Sekunde blinken, dann gibt man als Wert 2 (Hertz) an.

# Bibliotheken ladenfrom machine import Pin, Timer# Initialisierung von GPIO25 als Ausgangled_onboard = Pin(25, Pin.OUT)# Definition einer Funktion, die der Timer aufruftdef blink(timer): led_onboard.toggle()# Timer initialisierenTimer().init(freq=2.5, mode=Timer.PERIODIC, callback=blink)

Welche Vorteile hat die Timer-Lösung? Die Timer-Lösung hat den Vorteil, dass sie unabhängig von anderen Programmabläufen funktioniert. Bei einer Schleifen-Lösung blinkt die LED nur dann, wenn die Schleife nicht unterbrochen oder gestoppt wird.
Wenn nicht nur eine LED blinken soll, dann ist die Timer-Steuerung sicherlich die bessere Lösung.

4. Programmcode: Minimale Timer-Steuerung

Gehen wir noch einen Schritt weiter. Versuchen wir den Programmcode so kurz wie möglich zuhalten.

Der Timer wird hier auch nicht mit einer Frequenz (freq) initialisiert, sondern mit der Dauer der Periode in Millisekunden (period). Das vereinfacht oft die Einstellung der Blinkgeschwindigkeit.

# Bibliotheken ladenfrom machine import Pin, Timer# Initialisierung von GPIO25 als Ausgangled = Pin(25, Pin.OUT)# Timer initialisierenTimer().init(mode=Timer.PERIODIC, period=100, callback=lambda t: led.value(not led.value()))

Experimente

Auch wenn Du die folgenden Experimente bereits mit einer externen Leuchtdiode durchgeführt hast, mache es mit der Onboard-LED noch einmal. Diese wird sich anders verhalten.

  1. Versuche verschiedene Kombination mit unterschiedlichen Leucht- und Pausezeiten aus. Zum Beispiel 0.5 und 2.
  2. Welche kleinste Zeit kann man als Leuchtdauer angeben, damit man die Leuchtdiode noch leuchten sieht?
  3. Welche kleinste Zeit kann man als Pausedauer angeben, damit die Leuchtdiode noch ausgeht?

Der Programmcode mit der Timer-Lösung hat das Problem, dass der Timer zwar beendet wird, aber die LED dabei anbleibt bzw. leuchtet.

  1. Finde eine Lösung, bei der die LED nach der Timer-Beendigung nicht mehr leuchtet.
  2. Wähle eine andere Timer-Frequenz. Wann blinkt die LED langsamer und schneller?

Darf es ein bisschen mehr sein?

Hurra, das hat gut geklappt. Aber schwer war das wirklich nicht. Steigern wir die Komplexität mit einer externen LED, die wir einschalten und ausschalten. Das Programm bleibt dabei fast gleich. Hinzu kommt eine externe Beschaltung, wodurch die Komplexität durch die Elektronik hinzukommt.

  • Raspberry Pi Pico: Externe LED blinken lassen

Highlights: Elektronik mit dem Raspberry Pi Pico

  • Raspberry Pi Pico: Onboard-LED einschalten und ausschalten
  • Raspberry Pi Pico: Taster-Zustand auswerten und mit einer LED anzeigen
  • Raspberry Pi Pico: Elektronischer Würfel
  • Raspberry Pi Pico: Temperatur-Messung und Temperatur anzeigen

Elektronik mit dem Raspberry Pi

Die Stärken des Raspberry Pi liegen klar in der Computer-Architektur mit typischen Computer-Schnittstellen und Möglichkeit zum Ausführen von Open-Source-Software für Linux.

  • Elektronik mit dem Raspberry Pi

Weitere verwandte Themen:

  • Raspberry Pi Pico
  • Raspberry Pi Pico W: Onboard-LED blinken lassen
  • Raspberry Pi Pico: GPIO-Grundlagen
  • Raspberry Pi Pico: GPIO-Eingang beschalten
  • Raspberry Pi Pico: GPIO-Ausgang beschalten
  • Elektronik mit dem Raspberry Pi Pico

Frag Elektronik-Kompendium.de

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

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: 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.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

Elektronik-Sets für das Hardware-nahe Programmieren

Pico Edition

Pico WLAN Edition

Sensor Edition

Eingabe Ausgabe Edition

Raspberry Pi Pico: Onboard-LED blinken lassen (2024)
Top Articles
Latest Posts
Article information

Author: Zonia Mosciski DO

Last Updated:

Views: 6481

Rating: 4 / 5 (51 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Zonia Mosciski DO

Birthday: 1996-05-16

Address: Suite 228 919 Deana Ford, Lake Meridithberg, NE 60017-4257

Phone: +2613987384138

Job: Chief Retail Officer

Hobby: Tai chi, Dowsing, Poi, Letterboxing, Watching movies, Video gaming, Singing

Introduction: My name is Zonia Mosciski DO, I am a enchanting, joyous, lovely, successful, hilarious, tender, outstanding person who loves writing and wants to share my knowledge and understanding with you.