LEDs mit einem Joystick-Shield schalten



Seite als PDF

Mit einem Joy­stick-Shield sol­len vier LEDs mit den Tas­tern geschal­tet wer­den. Solan­ge der Tas­ter gedrückt wird, soll die LED leuch­ten. Der Joy­stick steu­ert ein Lauf­licht nach links und nach rechts.

So sieht es aus:

Benö­tig­te Bau­tei­le:

  • 4 wei­ße LEDs
  • 4 Wider­stän­de 100 Ω, 220 Ω bei roten, gel­ben oder grü­nen LEDs
  • Joy­stick-Shield
  • Lei­tungs­dräh­te

Das Joy­stick-Shield besitzt ins­ge­samt sechs Tas­ter, die mit den Buch­sta­ben A bis E gekenn­zeich­net sind. Ein Joy­stick ver­voll­stän­digt das Shield. Es wird ein­fach auf den Ardui­no gesteckt.

Das Joy­stick-Shield besitzt ins­ge­samt sechs Tas­ter, die mit den Buch­sta­ben A bis E gekenn­zeich­net sind. Ein Joy­stick ver­voll­stän­digt das Shield. Es wird ein­fach auf den Ardui­no auf­ge­steckt.

Die digi­ta­len Pins D2 bis D8 sind mit den Tas­tern und dem Joy­stick-Knopf belegt. Die LEDs wer­den des­halb an den digi­ta­len Pins D9 bis D12 ange­schlos­sen. Der Joy­stick belegt die ana­lo­gen Anschlüs­se A0 und A1.

A0 liest die Wer­te auf der X-Ach­se, A1 die Wer­te auf der Y-Ach­se. Um die Bewe­gun­gen des Joy­sticks aus­zu­wer­ten, reicht es aus, die Wer­te der jewei­li­gen Ach­sen abzu­fra­gen.

Als Ers­tes sol­len die Tas­ter mit ihrem Namen und die Bewe­gung des Joy­sticks im Seri­el­len Moni­tor ange­zeigt wer­den.

Das dazu­ge­hö­ri­ge Pro­gramm:

Im Pro­gramm wer­den zwei ⇒Arrays ver­wen­det.
Das Array mit int legt die digi­ta­len Anschlüs­se der Tas­ter fest:

int Tas­ter[] = { 2, 3, 4, 5 };

Das String-Array bestimmt die Namen der Tas­ter:

String Name­Tas­ter[] = { „A“, „B“, „C“, „D“ };

Die ⇒ for-Schlei­fe star­tet mit 0 und fragt den Tas­ter im Array an der Posi­ti­on 0 (Tas­ter an D2) ab. Weil der Vor­wi­der­stand ein­ge­schal­tet ist (INPUT_PULLUP) wird gefragt, ob der digi­tal gele­se­ne Wert LOW ist. Ist das der Fall, wird der Name des Tas­ters aus­ge­ge­ben, der sich an der glei­chen Posi­ti­on im Array befin­det:

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

sizeof bestimmt die Grö­ße eines Arrays.

Der gele­se­ne Wert des Tas­ters wird mit einer ⇒ if-Abfra­ge mit den Wer­ten HIGH oder LOW ver­gli­chen.
Wenn er den Wert LOW hat, zeigt der Seri­el­le Moni­tor den Namen des Tas­ters an.
Der Joy­stick wird eben­falls mit einer if-Abfra­ge aus­ge­wer­tet. Bei der Bewe­gung auf der X-Ach­se wird nur der Wert auf der X-Ach­se ver­gli­chen. Ist er klei­ner als 300, wur­de der Joy­stick nach links bewegt. Ist er grö­ßer als 600, wur­de er nach rechts bewegt.
Auch die if-Abfra­ge der Y-Ach­se ver­gleicht nur die gele­se­nen Wer­te der Y-Ach­se.

Im set­up-Teil wird mit einer for-Schlei­fe der pin­Mo­de für die LEDs ergänzt.

Inner­halb der for-Schlei­fe wird jetzt die dem Tas­ter zuge­ord­ne­te LED ein­ge­schal­tet.

  • Taster[0] wird LED[0] am digi­ta­len Pin D9 zuge­ord­net
  • Taster[1] wird LED[1] am digi­ta­len Pin D10 zuge­ord­net
  • Taster[2] wird LED[2] am digi­ta­len Pin D11 zuge­ord­net
  • Taster[3] wird LED[3] am digi­ta­len Pin D12 zuge­ord­net

Die Abfra­ge der Bewe­gung des Joy­sticks wird mit dem Lauf­licht ergänzt.


Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Ähnliche Projekte


Letzte Aktualisierung: Jan. 2, 2026 @ 10:10