Raspberry Pi Pico: Drehschalter / Rotary Encoder ansteuern (KY-040)
Auf den ersten Blick sieht ein Rotary Encoder, Drehwinkelgeber oder auch Drehschalter aus wie ein normales Potentiometer. Aber nein, genau genommen ist er ein kodierter Drehschalter bzw. ein rotierendes Eingabemodul.
Typischerweise eignet sich ein Rotary Encoder bzw. Drehschalter für die Navigation in Menüs, zum Einstellen von Lautstärke oder Geschwindigkeit.
Wir wollen einen Rotary Encoders vom Typ KY-040 einfach mal ausprobieren und herausfinden, wie er sich sinnvoll einsetzen lässt.
Aufbau und Bauteile
Raspberry Pi Pico | KY-040 | |
---|---|---|
Pin 23 | GND | GND |
Pin 36 | VCC +3,3V | + |
Pin 26 | GPIO 20 | SW |
Pin 25 | GPIO 19 | CLK |
Pin 24 | GPIO 18 | DT |
Programmcode
Zur Software-seitigen Ansteuerung bzw. Auswertung des Rotary Encoders ist eine externe Bibliothek erforderlich. Die macht die Verwendung im Programmcode spielend einfach.
Die Datei muss unter dem Namen rotary.py auf dem Raspberry Pi Pico gespeichert werden, damit die Einbindung im folgenden Programmcode funktioniert.
Die Bedienung ist vergleichsweise einfach. Das Programm zeigt in der Kommandozeile (Shell) die Drehrichtung und die aktuelle Wertestufe an. In beide Richtungen kann man hier praktisch unendlich drehen. Außerdem wertet die eingebundene Bibliothek auch noch die Betätigung und das Loslassen der Tasterfunktion aus.
# Bibliotheken laden from rotary import Rotary # GPIOs zum Rotary Encoder pin_dt = 18 pin_clk = 19 pin_sw = 20 # Initialiserung Rotary Encoder rotary = Rotary(pin_dt, pin_clk, pin_sw) value = 0 # Funktion def rotary_changed(change): global value if change == Rotary.ROT_CW: value = value + 1 print('Rechts (', value, ')') elif change == Rotary.ROT_CCW: value = value - 1 print('Links (', value, ')') elif change == Rotary.SW_PRESS: print('Gedrückt') elif change == Rotary.SW_RELEASE: print('Losgelassen') # Wenn der Encoder bedient wird rotary.add_handler(rotary_changed)
Darf es ein bisschen mehr sein?
Jetzt stellt sich noch die Frage, wie man einen Drehschalter sinnvoll einsetzen kann. Machen wir zuerst eine einfache Anwendung. Das Einstellen der Helligkeit einer LED. Los gehts.
Weitere verwandte Themen:
- Raspberry Pi Pico: Blink-Geschwindigkeit einer LED mit einem Rotary Encoder einstellen (KY-040)
- Raspberry Pi Pico: WS2812 als Balkenanzeige mit Rotary Encoder manuell steuern (KY-040)
- Raspberry Pi Pico: WS2812-Lauflicht-Geschwindigkeit mit Rotary Encoder einstellen (KY-040)
- Raspberry Pi Pico: Funktionsauswahl mit WS2812-RGB-LEDs und Rotary Encoder programmieren (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 Mehr Informationen Elektronik-Set jetzt bestellen
Online-Workshop
Programmieren mit dem Raspberry Pi Pico
Online-Workshop mit einer Einführung ins Physical Computing mit Leuchtdioden, Taster und Temperatursensor.
- Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython ohne Vorkenntnisse
- Optimaler Einstieg, um eigene Ideen zu verwirklichen und Steuerungen zu programmieren
- Inklusive Elektronik-Set mit einem Raspberry Pi Pico, Zubehör und elektronischen Bauteilen
Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)
Zum PicoTalk Mehr Informationen Am Online-Workshop teilnehmen
Elektronik-Set Pico Edition
Hardware-nahes Programmieren mit dem Raspberry Pi Pico
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 Mehr Informationen Elektronik-Set jetzt bestellen