LEDs mit einem Joystick-Shield schalten

Lesezeit: 5 Minuten

Seite als PDF

Mit einem Joy­stick-Shield sollen vier LEDs mit den Tastern geschal­tet wer­den. Solange der Taster gedrückt wird, soll die LED leucht­en. Der Joy­stick steuert ein Lau­flicht nach links und nach rechts.

So sieht es aus:

Benötigte Bauteile:

  • 4 weiße LEDs
  • 4 Wider­stände 100 Ω, 220 Ω bei roten, gel­ben oder grü­nen LEDs
  • Joy­stick-Shield
  • Leitungs­drähte

Das Joy­stick-Shield besitzt ins­ge­samt sechs Taster, die mit den Buch­staben A bis E gekennze­ich­net sind. Ein Joy­stick ver­voll­ständigt das Shield. Es wird ein­fach auf den Arduino gesteckt.

Das Joy­stick-Shield besitzt ins­ge­samt sechs Taster, die mit den Buch­staben A bis E gekennze­ich­net sind. Ein Joy­stick ver­voll­ständigt das Shield. Es wird ein­fach auf den Arduino aufgesteckt.

Die dig­i­tal­en Pins D2 bis D8 sind mit den Tastern und dem Joy­stick-Knopf belegt. Die LEDs wer­den deshalb an den dig­i­tal­en Pins D9 bis D12 angeschlossen. Der Joy­stick belegt die analo­gen Anschlüsse A0 und A1.

A0 liest die Werte auf der X‑Achse, A1 die Werte auf der Y‑Achse. Um die Bewe­gun­gen des Joy­sticks auszuw­erten, reicht es aus, die Werte der jew­eili­gen Achsen abzufra­gen.

Als Erstes sollen die Taster mit ihrem Namen und die Bewe­gung des Joy­sticks im Seriellen Mon­i­tor angezeigt wer­den.

Das dazuge­hörige Pro­gramm:

Im Pro­gramm wer­den zwei ⇒Arrays ver­wen­det.
Das Array mit int legt die dig­i­tal­en Anschlüsse der Taster fest:

int Taster[] = { 2, 3, 4, 5 };

Das String-Array bes­timmt die Namen der Taster:

String NameTaster[] = { “A”, “B”, “C”, “D” };

Die ⇒ for-Schleife startet mit 0 und fragt den Taster im Array an der Posi­tion 0 (Taster an D2) ab. Weil der Vor­wider­stand eingeschal­tet ist (INPUT_PULLUP) wird gefragt, ob der dig­i­tal gele­sene Wert LOW ist. Ist das der Fall, wird der Name des Tasters aus­gegeben, der sich an der gle­ichen Posi­tion im Array befind­et:

  • Taster[0] wird NameTaster[0] zuge­ord­net: dig­i­taler Pin D2 ⇒ A
  • Taster[1] wird NameTaster[1] zuge­ord­net: dig­i­taler Pin D3 ⇒ B
  • Taster[2] wird NameTaster[2] zuge­ord­net: dig­i­taler Pin D4 ⇒ C
  • Taster[3] wird NameTaster[0] zuge­ord­net: dig­i­taler Pin D5 ⇒ D

size­of bes­timmt die Größe eines Arrays.

Der gele­sene Wert des Tasters wird mit ein­er ⇒ if-Abfrage mit den Werten HIGH oder LOW ver­glichen.
Wenn er den Wert LOW hat, zeigt der Serielle Mon­i­tor den Namen des Tasters an.
Der Joy­stick wird eben­falls mit ein­er if-Abfrage aus­gew­ertet. Bei der Bewe­gung auf der X‑Achse wird nur der Wert auf der X‑Achse ver­glichen. Ist er klein­er als 300, wurde der Joy­stick nach links bewegt. Ist er größer als 600, wurde er nach rechts bewegt.
Auch die if-Abfrage der Y‑Achse ver­gle­icht nur die gele­se­nen Werte der Y‑Achse.

Im set­up-Teil wird mit ein­er for-Schleife der pin­Mode für die LEDs ergänzt.

Inner­halb der for-Schleife wird jet­zt die dem Taster zuge­ord­nete LED eingeschal­tet.

  • Taster[0] wird LED[0] am dig­i­tal­en Pin D9 zuge­ord­net
  • Taster[1] wird LED[1] am dig­i­tal­en Pin D10 zuge­ord­net
  • Taster[2] wird LED[2] am dig­i­tal­en Pin D11 zuge­ord­net
  • Taster[3] wird LED[3] am dig­i­tal­en Pin D12 zuge­ord­net

Die Abfrage der Bewe­gung des Joy­sticks wird mit dem Lau­flicht ergänzt.


Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Verwandte Anleitungen:


    Letzte Aktualisierung: Okt. 23, 2025 @ 17:55