4.1 Den Joystick umschalten¶
Wenn du viele Videospiele spielst, solltest du mit dem Joystick bestens vertraut sein. Er wird normalerweise verwendet, um die Spielfigur zu bewegen, den Bildschirm zu drehen usw.
Das Grundprinzip hinter der Fähigkeit des Joysticks, dem Computer unsere Aktionen mitzuteilen, ist sehr einfach. Man kann ihn sich als zwei senkrecht zueinander stehende Potentiometer vorstellen. Diese beiden Potentiometer messen den analogen Wert des Joysticks in vertikaler und horizontaler Richtung, was in einem Wert (x,y) in einem ebenen rechtwinkligen Koordinatensystem resultiert.
Der Joystick dieses Sets hat auch einen digitalen Eingang, der aktiviert wird, wenn der Joystick gedrückt wird.
Benötigte Komponenten
Für dieses Projekt benötigen wir folgende Komponenten.
Es ist definitiv praktisch, ein ganzes Set zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM SET |
LINK |
---|---|---|
Kepler Set |
450+ |
Sie können die Teile auch einzeln über die untenstehenden Links kaufen.
SN |
KOMPONENTE |
MENGE |
LINK |
---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1 (10KΩ) |
||
6 |
1 |
Schaltplan
Der SW-Pin ist mit einem 10K Pull-up-Widerstand verbunden, um ein stabiles High-Level am SW-Pin (Z-Achse) zu erhalten, wenn der Joystick nicht gedrückt ist; sonst wäre der SW in einem unbestimmten Zustand und der Ausgangswert könnte zwischen 0/1 variieren.
Verdrahtung
Code
Bemerkung
Öffnen Sie die Datei
4.1_toggle_the_joystick.py
im Verzeichniskepler-kit-main/micropython
oder kopieren Sie diesen Code in Thonny und klicken dann auf „Aktuelles Skript ausführen“ oder drücken einfach F5.Vergessen Sie nicht, den Interpreter „MicroPython (Raspberry Pi Pico)“ in der unteren rechten Ecke auszuwählen.
Für detaillierte Anleitungen siehe Code direkt öffnen und ausführen.
import machine
import utime
x_joystick = machine.ADC(27)
y_joystick = machine.ADC(26)
z_switch = machine.Pin(22,machine.Pin.IN)
while True:
x_value = x_joystick.read_u16()
y_value = y_joystick.read_u16()
z_value = z_switch.value()
print(x_value,y_value,z_value)
utime.sleep_ms(200)
Nachdem das Programm ausgeführt wurde, gibt die Shell die Werte x, y und z des Joysticks aus.
Die Werte der x- und y-Achse sind analoge Werte, die zwischen 0 und 65535 variieren.
Die Z-Achse ist ein digitaler Wert mit einem Status von 1 oder 0.