In diesem Blog geht es darum, Signale an den Pins des Raspberry Pi Pico einzulesen und in MircoPython auszuwerten.
Die einfachste Form des Einlesens ist der Taster.
Hier wird ein Stromkreis durch den Taster geschlossen. Dabei durchläuft der Strom noch einen sogenannten „Pull“-Widerstand.
Es gibt grundsätzlich zwei verschiedene Verfahren, wie die Pull-Widerstände angewandt werden. Entweder als Pull-Up oder als Pull-Down Widerstand.
Und das ist der Unterschied:

Pull-Up: Der Strom fließt über den Widerstand in den Pin. Bleibt der Taster geöffnet, wird hier ein „High“ Signal (also 1) erkannt. Drückt man den Taster, wird der Stromkreis ‚auf Masse gezogen‘ Dann wird ein „Low“ Signal (also 0) gelesen.

Pull-Down: Bleibt der Taster geöffnet, fließt kein Strom. Es wird ein Low (0) Signal gelesen. Wird der Taster gedrückt, wird ein High (1) Signal gelesen.
Der Raspberry Pi Pico hat an den Pins bereits die Widerstände verbaut und kann die jeweilige Schaltung über den Code definiert bekommen.
Um nun das eingelesene Signal in MicroPython auszuwerten, kann man den Pin in einer Variable speichern und dann die Eigenschaft (value) von ihr auslesen, die entweder eben (1) oder (0) beträgt.
Nehmen wir an, wir wollen am Pin 15 einlesen.
pin = machine.Pin(15, machine.Pin.IN, machine.Pin.PULL_DOWN)
Hier haben wir jetzt also den Pin mit der Nummer 15 als Input (machine.Pin.IN) und der Verwendung als Pull-Down
(machine.Pin.PULL_DOWN) definiert und in der Variable pin gespeichert.
Diese Variable pin besitzt jetzt die Eigenschaft value, die sich je nach Zustand des Tasters (also gedrückt oder nicht gedrückt) in 1 oder 0 ändert.
Und das lässt sich nun beliebig im Programm verwenden:
if pin.value() == 1:
print("Der Taster ist gedrückt")
else:
print("Der Taster ist nicht gedrückt")
Natürlich gibt es auch wieder das komplette Listing des Codes aus dem Video kommentiert auf GitHub herunter zu laden.