Joysticks werden bekanntermaßen für Spielecontroller oder auch zur Steuerung von Maschinen genutzt. Mit dem Calliope lassen sich einfache Versionen davon nachbauen.

Die Signalkabel der Potentiometer(VRx und VRy, in der Schaltskizze grün und blau eingezeichnet) müssen mit einem Pin verbunden werden, der ein analoges Signal lesen kann. Dafür kommen folgende Pins in Frage: P0, P1, P2, C4, C10, C16, C18. Achtung: Die Pins können schon an anderer Stelle verwendet worden sein, z. B. über die Ringpads (P0, P1, P2) oder den Grove-Anschluss A1 (betrifft C16).
Das Signalkabel des Tasters (SW, in der Schaltskizze orange eingezeichnet) muss mit einem Pin verbunden werden, der digital lesen kann. Das können alle Pins.
Weitere Informationen finden sich in der Pin-Übersicht des Calliope.
Zum Auslesen des Joysticks lässt man sich aus der Kategorie "Pins" die analogen Werte bzw. den digitalen Wert der entsprechenden Pins (hier P0, P1, P2) anzeigen.
Für das Auslesen der Werte bietet es sich an, den analogen Wert über die serielle Schnittstelle (USB-Kabel) an den Computer schicken zu lassen und dort visualisieren zu lassen. Der Befehl dazu findet sich in der Kategorie "Seriell". Nach dem Übertragen des Programms kann man im linken Fensterbereich auf "Daten anzeigen Calliope mini" auswählen und bekommt die unten abgebildete Ansicht.
Zum Auslesen des Potentiometers muss man zunächst die Konfiguration der Signalpins der Potentiometer (VRx und VRy) als analoger Sensor vornehmen. Der SW-Pin des Tasters wird als digitaler Sensor konfiguriert und zusätzlich wird hier der Pullup-Widerstand aktiviert.

Bei der Konfiguration als analoger Sensor stehen nicht alle oben aufgezählten Pins zur Auswahl. Dies ist ein Bug im Open Roberta Lab (Stand: 01.04.26). Insbesondere ist auch der Pin P0 nicht als analoger Sensor auswählbar, weshalb anders als in oben dargestellten Schaltskizze der Pin P1 als analoger Sensor ausgewählt wird. Stattdessen wird Pin P0 als digitaler Sensor für den Taster konfiguriert. Dementsprechend muss auch die Verkabelung geändert werden.
Für das Auslesen der Werte bietet es sich an, die Werte über die serielle Schnittstelle (USB-Kabel) an den Computer schicken zu lassen, um den Verlauf besser nachzuvollziehen. Nach dem Übertragen des Programms kann man im Open Roberta Connector die Verbindung mit dem Calliope herstellen und den Seriellen Monitor starten (siehe Abbildung). Um die Werte zu visualisieren, kann man sie optional in eine Tabellenkalkulation kopieren und dort ein Diagramm erstellen.


Zum Auslesen der Potentiometer und des Tasters lässt man sich aus die analogen Werte bzw. digitalen Werte des entsprechenden Pins anzeigen. Dabei bietet es sich an, die Wert über die serielle Schnittstelle (USB-Kabel) an den Computer schicken zu lassen, um den Verlauf besser nachzuvollziehen. Nach dem Übertragen des Programms kann man direkt im Python Editor den Seriellen Monitor öffnen. Um die Werte zu visualisieren, kann man sie optional in eine Tabellenkalkulation kopieren (alles markieren und STRG + UMSCHALT + C drücken) und dort ein Diagramm erstellen.
# Imports go at the top
from calliopemini import *
# Pin 1 mit einem Pullup-Widerstand versehen
# dadurch ist der Zustand im Fall "nicht gedrückt" 1 (HIGH)
pin1.set_pull(pin1.PULL_UP)
# Code in a 'while True:' loop repeats forever
while True:
# Pin P0 analog auslesen, Ergebnis in String umwandeln und Ausgabe auf dem seriellen Monitor
print("x: " + str(pin0.read_analog()) )
# Pin P2 analog auslesen, Ergebnis in String umwandeln und Ausgabe auf dem seriellen Monitor
print("y: " + str(pin2.read_analog()) )
# Pin P1 digital auslesen, Ergebnis in String umwandeln und Ausgabe auf dem seriellen Monitor
print("sw: " + str(pin1.read_digital()) )
print("--------------------")
sleep(500)
Ausgabe des Analogwerts des Potentiometers auf dem seriellen Monitor.
Entwickle eine Steuerung der drei RGB-LEDs des Calliope mit Hilfe des Joysticks.
Steuere mit dem Joystick-Modul einen Motor!