2.5 Tastenwert auslesen

Diese Pins haben sowohl Eingabe- als auch Ausgabefunktionen, wie es der Name GPIO (General-purpose input/output) bereits andeutet. Bisher haben wir die Ausgabefunktion genutzt; in diesem Kapitel verwenden wir die Eingabefunktion, um den Tastenwert einzulesen.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Ein vollständiges Set zu kaufen ist natürlich bequem, hier ist der Link:

Name

ARTIKEL IN DIESEM SET

LINK

Kepler Kit

450+

Kepler Kit

Alternativ können Sie die Komponenten auch einzeln über die folgenden Links erwerben.

SN

KOMPONENTE

ANZAHL

LINK

1

Raspberry Pi Pico W

1

BUY

2

Micro-USB-Kabel

1

3

Steckbrett

1

BUY

4

Jumperkabel

Mehrere

BUY

5

Widerstand

1(10KΩ)

BUY

6

Taster

1

BUY

Schaltplan

sch_button

Solange eine Seite des Tastenpins mit 3,3 V verbunden ist und der andere Pin mit GP14 verbunden ist, wird GP14 hoch sein, wenn die Taste gedrückt wird. Wenn die Taste jedoch nicht gedrückt ist, befindet sich GP14 in einem unbestimmten Zustand und kann hoch oder niedrig sein. Um ein stabiles niedriges Signalniveau zu erhalten, wenn die Taste nicht gedrückt ist, muss GP14 über einen 10K-Pull-down-Widerstand erneut mit GND verbunden werden.

Verdrahtung

wiring_button

Hinweis

Ein Vierpol-Taster hat die Form eines H. Die beiden linken oder rechten Pins sind miteinander verbunden, sodass er die mittlere Lücke überspannt und somit zwei halbe Reihen mit der gleichen Reihennummer verbindet. (In meiner Schaltung sind beispielsweise E23 und F23 bereits verbunden, ebenso E25 und F25).

Solange die Taste nicht gedrückt ist, sind die linken und rechten Pins voneinander unabhängig, und der Strom kann nicht von einer Seite zur anderen fließen.

Code

Hinweis

  • Öffnen Sie die Datei 2.5_read_button_value.py im Verzeichnis kepler-kit-main/micropython oder kopieren Sie diesen Code in Thonny, und klicken Sie dann auf „Aktuelles Skript ausführen“ oder drücken Sie einfach F5.

  • Vergessen Sie nicht, im unteren rechten Eck den „MicroPython (Raspberry Pi Pico)“-Interpreter auszuwählen.

  • Für detaillierte Anleitungen siehe Code direkt öffnen und ausführen.

import machine
import utime
button = machine.Pin(14, machine.Pin.IN)
while True:
    if button.value() == 1:
        print("You pressed the button!")
        utime.sleep(1)

Sobald der Code ausgeführt wird, wird „Sie haben die Taste gedrückt!“ in der Shell ausgegeben.

Pull-Up-Arbeitsmodus

Der nächste Abschnitt behandelt die Verdrahtung und den Code, wenn Sie den Taster im Pull-Up-Modus verwenden.

sch_button_pullup

wiring_button_pullup

Der einzige Unterschied, den Sie im Vergleich zum Pull-Down-Modus feststellen werden, ist, dass der 10K-Widerstand mit 3,3 V und die Taste mit GND verbunden ist. Dadurch erhält GP14 ein niedriges Signalniveau, wenn die Taste gedrückt wird, was das Gegenteil vom Pull-Down-Modus ist. Ändern Sie also diesen Code einfach zu if button.value() == 0:.

Weitere Referenzen finden Sie hier: