Raspberry Pi Pico: Taster-Zustand auswerten und mit einer LED anzeigen
Ein Taster kann zwei Zustände haben: „gedrückt“ und „nicht gedrückt“. Entsprechend für „Ein“ und „Aus“. Das entspricht der binären Logik und ist eigentlich ganz einfach. Doch zu allem Überfluss gibt es gleich 4 Möglichkeiten, wie man einen Taster mit dem Raspberry Pi Pico verbindet und wie der GPIO-Eingang initialisiert werden muss.
Zum Anzeigen des Taster-Zustands verwenden wir die Onboard-LED des Picos.
Das folgende Programmbeispiele berücksichtigt völlig wertfrei nur eine Variante. Denkbar wäre es, dass in der Praxis eine andere Variante besser wäre.
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
Der Taster wird auf dem Steckbrett auf der einen Seite mit +3,3V (VCC) und auf der anderen Seite mit dem GPIO verbunden.
Programmcode für MicroPython
Die Funktion des Programms ist denkbar einfach. Ein GPIO wird als Ausgang definiert. Ein GPIO wird als Eingang definiert, an dem der Taster angeschlossen ist. Wird der Taster gedrückt, dann leuchtet die Leuchtdiode auf dem Pico. Wird der Taster losgelassen, dann wird sie wieder ausgeschaltet.
# Bibliotheken laden from machine import Pin # Initialisierung von GPIO25 als Ausgang led_onboard = Pin(25, Pin.OUT) # Initialisierung von GPIO14 als Eingang mit internem PULLDOWN-Widerstand btn = Pin(14, Pin.IN, Pin.PULL_DOWN) # Funktion zur Taster-Auswertung while True: if btn.value() == 1: led_onboard.on() else: led_onboard.off()
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, Button button = Button(15) button.when_pressed = pico_led.on button.when_released = pico_led.off
Taster entprellen
Taster weisen ein seltsames Eigenleben auf. Nur einmal gedrückt und trotzdem lösen sie eine Funktion mehrfach aus. Das liegt daran, dass sie bei Betätigung prellen. Das Prellen bezeichnet einen mechanischen Vorgang, bei dem ein metallischer Kontakt durch Zurückfedern zwei oder sogar mehrfach öffnet und wieder schließt, bis er seine Endstellung erreicht hat. Beispielsweise geschlossen oder offen. Mehrfach mechanisch Öffnen und Schließen bedeutet aber auch, elektrisch Öffnen und Schließen. Wird das ausgewertet, dann wird eine Funktion mehrfach ausgeführt, was meistens nicht Sinn der Sache ist. Eine wichtige Maßnahme ist, den Taster oder Schalter zu entprellen. Das kann man softwareseitig realisieren.
Darf es ein bisschen mehr sein?
Bisher war es so, dass ein Taster-Druck eine LED einschaltet. Das kann aber auch umgekehrt sein. Der Grundzustand ist eine leuchtende Leuchtdiode. Ein Taster-Druck schaltet sie aus.
Wie viele Eingänge brauchst Du, um 3 Taster auszuwerten? 3 Stück! Nein, es reicht ein Eingang. Wenn Du einen ADC-Eingang benutzt, dann kannst Du den Spannungsabfall an unterschiedlichen Widerständen messen und somit mehrere Taster identifizieren. Los, gleich mal ausprobieren.
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
- Raspberry Pi Pico: Reaktionsspiel mit zwei Tastern und LEDs
Weitere verwandte Themen:
- Raspberry Pi Pico
- Raspberry Pi Pico: GPIO-Grundlagen
- Raspberry Pi Pico: GPIO-Eingang beschalten
- Raspberry Pi Pico: GPIO-Ausgang beschalten
- Elektronik mit dem Raspberry Pi Pico
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.
Elektronik-Set Eingabe Ausgabe Edition
Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition
Damit kannst Du MP3-Dateien abspielen, eine Stoppuhr bauen, einen Servo-Motor mit Drehschalter oder Joystick steuern, Lichteffekte mit einem WS2812-LED-Lichtstreifen erzeugen, Schalten mit einem Relais und Signalisieren mit einem Vibrationsmotor.