Das Kneipenspiel als Handheld. Vier Fragen, dann die Busfahrt – alles auf einem 16×2-Zeichen-LCD, gesteuert mit einem Poti und einem Taster. Unten läuft die echte Spiellogik im Browser.
Poti drehen wählt aus, OK bestätigt. Langes Halten (Ring füllt sich) springt direkt zur Busfahrt. Tastatur: ← → am Poti, Enter am Taster.
Jede richtige Antwort bringt dich eine Frage weiter. Ein Fehler heißt trinken (so viele Schlücke wie die Fragennummer) und zurück auf Anfang. Wer alle vier schafft, muss trotzdem noch den Bus fahren.
Rate die Farbe der ersten Karte. Poti links = Rot, rechts = Schwarz.
Liegt die nächste Karte über oder unter der gezeigten? Gleichstand zählt nicht.
Fällt die dritte Karte in die Spanne der beiden ersten – oder daneben?
Herz, Karo, Kreuz oder Pik? Vier Poti-Bereiche, ein Symbol.
Fünf Mal Höher/Tiefer am Stück. Ein Fehler – und die Fahrt beginnt von vorn.
| Arduino Uno (oder Nano) | Herzstück, 5 V-Logik | 1× |
| LCD 16×2, HD44780 | Standard-Zeichendisplay | 1× |
| Poti 10 kΩ | Spielauswahl → A0 | 1× |
| Poti 10 kΩ | LCD-Kontrast (V0) | 1× |
| Taster / Pushbutton | Bestätigen → A1 | 1× |
| Piezo-Buzzer, passiv | Töne → D13 (für tone()) | 1× |
| Widerstand 220 Ω | LCD-Backlight (Pin A) | 1× |
| OLED SSD1306 128×32 | Lauftext, optional → I²C | 0–1× |
| Steckbrett + Jumper | Verkabelung | — |
| Bauteil | Pin | Arduino |
|---|---|---|
| LCD RS | 4 | D7 |
| LCD E | 6 | D6 |
| LCD D4 | 11 | D5 |
| LCD D5 | 12 | D4 |
| LCD D6 | 13 | D3 |
| LCD D7 | 14 | D2 |
| LCD RW | 5 | GND |
| LCD V0 | 3 | Poti-Schleifer |
| LCD VSS / K | 1 / 16 | GND |
| LCD VDD | 2 | 5V |
| LCD A | 15 | 5V · 220Ω |
| Poti Spiel | Schleifer | A0 |
| Taster | — | A1 → GND |
| Buzzer + | — | D13 |
| OLED SDA / SCL | — | A4 / A5 |
INPUT_PULLUP: ein Bein an A1,
das andere an GND. Kein externer Widerstand nötig.Die Spiellogik ist dieselbe geblieben – nur robuster. Die wichtigsten Änderungen gegenüber der ersten Version:
digitalRead und störten
sich. Jetzt entprellt: Kurzdruck beim Loslassen, Langdruck einmalig.randomSeed kam nach jedem Einschalten dieselbe
Kartenfolge. Jetzt aus offenem Analogpin + micros().delay(50). Jetzt nicht
blockierend und per USE_OLED ganz abschaltbar.Wie etwas gebaut ist, warum es so gebaut ist, ob es sich auf einen anderen Fall übertragen lässt – schreib einfach. Die Nachricht geht als E-Mail an mich, sonst passiert damit nichts.