JOYSTICK

Was ist ein Joystick?

Ein Joystick ist eine Art Hebel, der sich 360 Grad drehen lässt und mit dem wir eine Vielzahl von Geräten steuern können. Er findet sich in vielen Apparaten, vor allem in der Steuerung von Videokonsolen. Mit ihnen lassen sich unsere Roboter und ihre Projekte auf einfache Art und Weise lenken. Möchtest du wissen, wie sie funktionieren? Na dann nichts wie los!joystickAuch wenn diese Komponente zunächst kompliziert aussehen mag, sie ist es nicht … Machen wir eins: Du nimmst deinen Joystick und entfernst das Plastikteil, also den Hebel mit dem du ihn bewegen kannst. Sieh einmal genau hin:
joysticksincapuchaErinnern dich diese zwei schwarzen Komponenten nicht an etwas? Sie sehen deinem Potentiometer ganz schön ähnlich! Im Grunde ist ein Joystick auch nichts anderes als zwei Potentiometer zusammen, einer für die Steuerung der X-Achse und der andere für die Steuerung der Y-Achse. Außerdem hat dieser Joystick auch einen Taster, so dass beim Drücken des Hebels noch mehr Kommandos gegeben werden können.
Zwei Potentiometer und ein Taster! Noch dazu können wir sie frei nach unseren Vorstellungen programmieren! Lass uns herausfinden wie es geht!

  1. Ein Joystick-Modul
  2. Eine LCD-Anzeige
  3. Eine Steuerplatine ZUM BT 328 oder eine, die mit Arduino UNO kompatibel ist
  4. Ein USB-Kabel

Beispiel 1
Die Werte des Joysticks auf dem Display anzeigen

Wir nutzen die LCD-Anzeige, um sowohl die Werte der X-Achse als auch die der Y-Achse des Joysticks anzugeben. Verbinde hierfür den Joystick und die LCD auf die angegebene Weise:

ZUM-LCD-JoystickAchte gut darauf, wie das Programm in bitbloq realisiert wurde:
joystivklcdWie bei anderen Sensoren, die wir bereits kennen, müssen wir dem Joystick eine Variable zuweisen, die seine Werte enthält. In unserem Beispiel haben wir sie Joystick genannt. Es handelt sich um eine besondere Variable da sie drei Werte enthält! Diese Art von Variablen nennt man Felder oder Vektoren und sie dienen dazu, verschiedene Werte in nur einer Variablen zu speichern. So zum Beispiel die Koordinaten X, Y und Z einer Grafik, die Stunden, Minuten und Sekunden einer Uhr oder wie in unserem Fall, die Koordinaten X und Y und den Taster unseres Joysticks. Wie du sehen kannst bestimmen wir die Variable, weisen sie dem Joystick zu und beginnen anschließend, die Informationen auf die LCD-Anzeige zu schreiben. Um auf die Koordinaten X, Y oder den Wert des Tasters des Joysticks zuzugreifen, müssen wir uns einer der drei Elemente der Variable bedienen. Hierfür kannst du den Block var variable [Index] verwenden, wobei der Index dem Element entspricht, auf das wir zugreifen möchten.

Wenn du mit Vektoren arbeitest gibt es etwas Wichtiges zu beachten. Das erste Element eines Vektors entspricht nicht dem Index 1 sondern dem Index 0. Das heißt, dass du eine 0 statt einer 1 einfügen musst, wenn du auf das erste Element eines Vektors zugreifen willst, eine 1 statt einer 2 für das zweite Element etc. In der folgenden Abbildung wird dies verdeutlicht:

indicesvectorAchte darauf, welchen Wertebereich dein Joystick hat. Im Prinzip gibt dir der Joystick genauso wie das Potentiometer Werte zwischen 0 und 1023 aus, aber in der Praxis ist es sehr schwierig, solche Werte zu erreichen. Dies variiert je nach Joystick und ist auf die jeweilige physische Beschaffenheit zurückzuführen. Behalte die maximalen Werte, die dein Joystick erreichen kann, im Hinterkopf. Es ist nützlich für den Fall, dass du ein Projekt erstellen möchtest, das eine besondere Präzision erfordert, um deine Projekte besser programmieren zu können.

Wir zeigen dir ein zweites Beispiel mit dem Joystick:

Beispiel 2
Die Blinkfrequenz einer LED mit dem Joystick variieren

Weißt du noch, wie wir die Blinkfrequenz mit dem Potentiometer verändert haben? Hier musste die Wartezeit nach dem Einschalten mit dem Blinkintervall der LED übereinstimmen… Mit dem Joystick haben wir nun zwei Potentiometer in nur einem Gerät! Wir wollen daher ein kleines Experiment durchführen und erreichen, dass die Einschaltzeit der LED vom Wert X abhängt und die Ausschaltzeit vom Wert Y. Verbinde den Joystick wie auf dem vorigen Bild angegeben und schließe eine LED an den digitalen Pin 6 an. Versuche es zunächst alleine! Wir raten dir, dass du als Wertebereich des Joysticks 0 bis 500 auswählst, damit die Wirkung deutlicher hervortritt. Allerdings ist dies nicht unbedingt notwendig. Die Lösung findest du weiter unten.

reloj-de-arena-10375Hast du es geschafft? Es müsste bei dir ungefähr so aussehen:ejemplo2joystickWie du sehen kannst verändert sich die Blinkfrequenz je nach Position des Joysticks. Variiere die Positionen und ändere den Wertebereich, damit sie schneller oder langsamer wird. Die Joysticks können für eine Vielzahl von Anwendungen eingesetzt werden. Das reicht von der Motorsteuerung bis zu jedem anderen Element oder Gerät. Probiere es einfach aus, bald wird der Joystick zu deinen Lieblingskomponenten zählen.