Labyrinthspiel mit Joystick und TFT

Lesezeit: 5 Minuten

Seite als PDF

Die Bewe­gun­gen eines Joy­sticks bewe­gen einen Ball durch ein Labyrinth. Beim Druck auf den But­ton wird die Zeitmes­sung ges­tartet.

So sieht es aus:

Der Joy­stick beste­ht aus zwei Poten­tiome­tern, jew­eils ein­er für die X‑Achse und ein­er für die Y‑Achse. Bei­de lesen bei den Bewe­gun­gen die Span­nung und liefern dem Arduino jew­eils einen analo­gen Wert, der zwis­chen 0 und 1023 liegt.

Die Werte kön­nen je nach Joy­stick leicht nach oben oder unten abwe­ichen. Die Beschrif­tung und die Rei­hen­folge der Pins kön­nen sich je nach Joy­stick unter­schei­den.

AchseBeze­ich­nungAnschluss
X‑AchseVRx/VERA0
Y‑AchseVRy/HORA1
But­tonSW/SEL7

1 -> Gnd -> GND
2 -> VCC -> 5V
3 -> RESET -> D9
4 -> D/C -> D8
5 -> CARD_CS (nicht angeschlossen)
6 -> TFT_CS -> D10
7 -> SDO -> D11
8 -> SCK -> D13
9 -> SDI (nicht angeschlossen)
10 -> LITE ->5V

Pin­bele­gung Adafruit 1,8 Zoll TFT ST7735

SPI

Benötigte Bauteile:

  • Joy­stick
  • Adafruit 1,8 Zoll TFT
  • Leitungs­drähte

Baue die Schal­tung auf.
(Fahre mit der Maus über das Bild, um die Beze­ich­nun­gen der Bauteile zu sehen)

Benötigte Bib­lio­theken:

oder: Sketch -> Biblio­thek ein­bin­den -> Biblio­the­ken ver­wal­ten

Funktionen der Bibliothek Adafruit ST7735

Schlüs­sel­wortPara­me­terAktion
width();Bild­schirm­bre­ite fest­stellen
height();Bild­schirmhöhe fest­stellen
begin()TFT starten
initR(initR(INITR_*TAB););BLACKTAB
GREENTAB
REDTAB
Farb­schema bes­tim­men
setRotation(Richtung);Rich­tung = 0 → nicht drehen
Rich­tung = 1 → 90° drehen
Rich­tung = 2 → 180° drehen
Rich­tung = 3 → 270 ° drehen
Bild­schirm aus­richt­en
fillScreen(Farbe);Stan­dard­far­ben:
ST7735_BLACK
ST7735_WHITE
ST7735_GREEN
ST7735_RED
ST7735_BLUE
ST7735_YELLOW
ST7735_ORANGE
ST7735_MAGENTA
ST7735_CYAN
Bild­schirmhin­ter­grund
drawLine(StartX, Star­tY, EndeX, EndeY, Farbe);Lin­ie zeich­nen
drawFastHLine(StartX, Star­tY, Länge, Farbe);hor­i­zon­tale Lin­ie zeich­nen
drawFastVLine(StartX, Star­tY, Länge, Farbe);ver­tikale Lin­ie zeich­nen
drawRect(StartX, Star­tY„ Bre­ite, Höhe, Farbe);Rechteck zeich­nen
drawRoundRect(StartX, Star­tY, Bre­ite, Höhe, Eck­en­ra­dius, Farbe);abgerun­detes Rechteck zeich­nen
fillRect(StartX, Star­tY, Bre­ite, Höhe, Füll­farbe);aus­ge­fülltes Rechteck zeich­nen
drawCircle(MittelpunkX, Mit­telpunk­tY, Radius, Farbe);Kreis zeich­nen
fillCircle(MittelpunktX, Mit­telpunk­tY, Radius, Füll­farbe);Aus­ge­füll­ten Kreis zeich­nen
setCursor(x, y);Cur­sor set­zen
setTextSize(Textgröße);Textgröße:
1 — 4
Textgröße bes­tim­men
setTextColor(Farbe);Text­farbe set­zen
print(“Text”); println(“Text”);Text schreiben
setTextWrap(true/false);false → Text fließt über den Rand des TFTs hin­aus
true → Text wird am Ende umge­brochen
Zeilenum­bruch

Beispiel mit Grafik und Text

So sieht es aus:

Adressierung der Bild­punk­te

Binde die benöti­gen Bib­lio­theken ein und definiere die Vari­ablen. Beachte die Kom­mentare.

Der set­up-Teil:

Der loop-Teil. Beachte die Kom­mentare.

Jet­zt fehlen noch die Funk­tio­nen Ergeb­nisZeigen() und Par­cours­Bauen():


Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Verwandte Anleitungen:


    Letzte Aktualisierung: Okt. 23, 2025 @ 13:12