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: Drehschalter / Rotary Encoder ansteuern (KY-040)

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:

Teilen:

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

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

Programmieren mit dem Raspberry Pi Pico
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
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