Labyrinthspiel mit Joystick und TFT



Seite als PDF

Die Bewe­gun­gen eines Joy­sticks bewe­gen einen Ball durch ein Laby­rinth. Beim Druck auf den But­ton wird die Zeit­mes­sung gestar­tet.

So sieht es aus:

Der Joy­stick besteht aus zwei Poten­tio­me­tern, jeweils einer für die X-Ach­se und einer für die Y-Ach­se. Bei­de lesen bei den Bewe­gun­gen die Span­nung und lie­fern dem Ardui­no jeweils einen ana­lo­gen Wert, der zwi­schen 0 und 1023 liegt.

Die Wer­te kön­nen je nach Joy­stick leicht nach oben oder unten abwei­chen. Die Beschrif­tung und die Rei­hen­fol­ge der Pins kön­nen sich je nach Joy­stick unter­schei­den.

Ach­seBezeich­nungAnschluss
X-Ach­seVRx/VERA0
Y-Ach­seVRy/HORA1
But­tonSW/SEL7

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

Pin­be­le­gung Adafruit 1,8 Zoll TFT ST7735

SPI

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

  • Joy­stick
  • Adafruit 1,8 Zoll TFT
  • Lei­tungs­dräh­te

Baue die Schal­tung auf.
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Benö­tig­te Biblio­the­ken:

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

Funktionen der Bibliothek Adafruit ST7735

Schlüs­sel­wortPara­me­terAkti­on
width();Bild­schirm­brei­te fest­stel­len
height();Bild­schirm­hö­he fest­stel­len
begin()TFT star­ten
initR(initR(INITR_*TAB););BLACKTAB
GREENTAB
REDTAB
Farb­sche­ma bestim­men
setRotation(Richtung);Rich­tung = 0 → nicht dre­hen
Rich­tung = 1 → 90° dre­hen
Rich­tung = 2 → 180° dre­hen
Rich­tung = 3 → 270 ° dre­hen
Bild­schirm aus­rich­ten
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­schirm­hin­ter­grund
drawLine(StartX, Star­tY, End­eX, EndeY, Far­be);Linie zeich­nen
drawFastHLine(StartX, Star­tY, Län­ge, Far­be);hori­zon­ta­le Linie zeich­nen
drawFastVLine(StartX, Star­tY, Län­ge, Far­be);ver­ti­ka­le Linie zeich­nen
drawRect(StartX, Star­tY,, Brei­te, Höhe, Far­be);Recht­eck zeich­nen
drawRoundRect(StartX, Star­tY, Brei­te, Höhe, Ecken­ra­di­us, Far­be);abge­run­de­tes Recht­eck zeich­nen
fillRect(StartX, Star­tY, Brei­te, Höhe, Füll­far­be);aus­ge­füll­tes Recht­eck zeich­nen
drawCircle(MittelpunkX, Mit­tel­punk­tY, Radi­us, Far­be);Kreis zeich­nen
fillCircle(MittelpunktX, Mit­tel­punk­tY, Radi­us, Füll­far­be);Aus­ge­füll­ten Kreis zeich­nen
setCursor(x, y);Cur­sor set­zen
setTextSize(Textgröße);Text­grö­ße:
1 - 4
Text­grö­ße bestim­men
setTextColor(Farbe);Text­far­be set­zen
print("Text"); println("Text");Text schrei­ben
setTextWrap(true/false);fal­se → Text fließt über den Rand des TFTs hin­aus
true → Text wird am Ende umge­bro­chen
Zei­len­um­bruch

Bei­spiel mit Gra­fik und Text

So sieht es aus:

Adres­sie­rung der Bild­punk­te

Bin­de die benö­ti­gen Biblio­the­ken ein und defi­nie­re die Varia­blen.

Der set­up-Teil:

Der loop-Teil:

Jetzt feh­len noch die Funk­tio­nen Ergeb­nis­Zei­gen() und Par­cours­Bau­en():


Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Ähnliche Projekte


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