Escape Game: Lichtlabyrinth: Unterschied zwischen den Versionen
Link geändert |
Testen der Tabelle |
||
| Zeile 87: | Zeile 87: | ||
|- | |- | ||
|1 | |1 | ||
|| 1 || 19,90 € || [https://www.reichelt.de/arduino-uno-rev-3-smd-variante-atmega328-usb-arduino-uno-p119045.html?&trstct=pos_0&nbc=1 Arduino UNO R3] || | || 1 | ||
|| 19,90 € | |||
|| [https://www.reichelt.de/arduino-uno-rev-3-smd-variante-atmega328-usb-arduino-uno-p119045.html?&trstct=pos_0&nbc=1 Arduino UNO R3] | |||
|| | |||
|- | |- | ||
|2 || 1 || 12,99 € || [https://www.amazon.com/dp/B0CY2MPGJW?ref=cm_sw_r_cso_em_apin_dp_AETM4KNBVY9PRZZQVTB1&ref_=cm_sw_r_cso_em_apin_dp_AETM4KNBVY9PRZZQVTB1&social_share=cm_sw_r_cso_em_apin_dp_AETM4KNBVY9PRZZQVTB1&th=1 WS2812B RGB LED Digital Individually Addressable Panel Light LED Module Matrix Screen DC5V Controllers Image Video Text Display (2pcs 8x8 Pixels)] || | |2 || 1 || 12,99 € || [https://www.amazon.com/dp/B0CY2MPGJW?ref=cm_sw_r_cso_em_apin_dp_AETM4KNBVY9PRZZQVTB1&ref_=cm_sw_r_cso_em_apin_dp_AETM4KNBVY9PRZZQVTB1&social_share=cm_sw_r_cso_em_apin_dp_AETM4KNBVY9PRZZQVTB1&th=1 WS2812B RGB LED Digital Individually Addressable Panel Light LED Module Matrix Screen DC5V Controllers Image Video Text Display (2pcs 8x8 Pixels)] || | ||
Version vom 10. Januar 2026, 18:58 Uhr
| Autoren: | Jonas von Döllen & Julius von Agris |
| Betreuer: | Prof. Schneider |
Einleitung
Das Escape-Game „Lichtlabyrinth“ basiert auf einer RGB-8x8-LED-Matrix. Ziel des Spiels ist es, von einem Bewegungs-Lichtpunkt (z. B. Farbe x) zu einem Ziel-Lichtpunkt (z. B. Farbe y)zu gelangen. Der Anwender kann sich mit einem Steuerkreuz in Form von Tastern bewegen, um zur Ziel-LED zu gelangen. Die Schwierigkeit dabei liegt darin, dass der Anwender nicht einen beliebigen Weg einschlagen kann, sondern aus verschiedenen Labyrinth-Weg-Karten, die richtige herausfinden muss. Der Spieler erkennt somit auf der Matrix nicht direkt die möglichen Wege. Um die richtige Labyrinth-Weg-Karte zu finden, werden auf dem Spielfeld neben der Start-/ und der Ziel-LED, auch zwei weitere LEDs (z. B. Farbe z) leuchten, die auf den Labyrinth-Weg-Karten an unterschiedlichen Stellen mit einem Kreis gekennzeichnet sind. Diese LEDs muss der Anwender mit seinen Labyrinth-Weg-Karten abgleichen und die richtige auswählen. Hat der Anwender die richtige Karte ausgewählt, muss er dem Weg der Karte folgen, um das Rätsel zu lösen. Wählt der Anwender allerdings eine falsche Karte aus, macht einen Fehler (z. B. Betätigung eines falschen Tasters) auf dem Weg ins Ziel oder läuft die vorgegebene Zeit (wird durch eine immer schneller blinkende LED, welche nicht zu dem Spielfeld gehört, angezeigt) ab, verändern sich die LEDs auf dem Spielfeld und der Anwender muss von neu starten.
Schwierigkeitslevel: Mittel
Lernziele: Schüler schaffen es, räumlich und abstrakt zu denken. Die Informationen von der zweidimensionalen Karte müssen auf das Gerät (die Lichtmatrix) eigenständig projiziert werden.
Bezug zum MTR Studium: Die Vorstellungen von Räumen und äußerlichen Gegebenheiten sind grundlegend für CAD-Programme und zum Konstruieren. Das Gerät mit der Lichtmatrix bildet auch eigenständig ein mechatronisches System, welches Sensoren (Taster), Aktoren (die Lichtmatrix) und eine zentrale Prozesseinheit (Arduino) umfasst.
Anforderungen
| Nr | Inhalt | Prüfbarkeit | Prio | Ersteller | Datum | Geprüft von | Datum |
|---|---|---|---|---|---|---|---|
| 1 | Die LEDs auf der Matrix müssen einzeln mit dem Arduino Controller angesteuert werden. | Sichtkontrolle auf der Matrix | 1 | Jonas von Döllen | 3.10.2025 | ||
| 2 | Taster müssen einzeln über einen Tastendruck per Hand ansteuerbar sein und nur einzeln ein Signal zulassen | Auswertung der Tastersignale über Seriellenmonitor | 1 | Julius von Agris | 3.10.2025 | ||
| 3 | Countdown LED muss immer schneller blinken und nach 40 Sekunden mit der Anfangsblinkgeschwindigkeit wieder beginnen | Sichtkontrolle auf dem Breadboard | 1 | Jonas von Döllen | 3.10.2025 | ||
| 4 | LED Matrix muss die Zahlen für das nächste Schloss in Form einer Segmentanzeige nacheinander anzeigen können | Sichtkontrolle auf der Matrix | 1 | Jonas von Döllen | 3.10.2025 | ||
| 5 | Die vier Spielfelder-LEDs müssen auf dem Bildschrim angezeigt werden | Sichtkontrolle auf der Matrix | 1 | Julius von Agris | 3.10.2025 | ||
| 6 | Bewegungs-LED muss mit den Tastern auf der Matrix bewegbar sein | Sichtkontrolle auf der Matrix | 1 | Julius von Agris | 3.10.2025 | ||
| 7 | Unzulässige Bewegungen von der Wegkarte müssen das Spiel neu starten und das Feld soll rot aufleuchten | Sichtkontrolle auf der Matrix und der Countdown-LED | 1 | Julius von Agris | 3.10.2025 | ||
| 9 | Bei Erreichen des Ziel-Lichtpunktes müssen die Zahlen auf der LED Matrix ausgegeben werden | Sichtkontrolle auf der Matrix | 1 | Jonas von Döllen | 3.10.2025 |
Funktionaler Systementwurf
Das Gehäuse beinhaltet eine Seite, in der 4 Taster eingebaut werden. Mittig davon ist die LED Matrix gut ersichtlich, welche einen Blick auf die 4 LED in 3 unterschiedlichen Farben (1 Rote für das Ziel, 1 blaue für den Bewegungspunkt und 2 grüne für Orientierungspunkte) anzeigen. Zusätzlich muss die Countdown-LED ersichtlich sein, welche die noch verbliebene Zeit durch ein immer schnelleres blinken anzeigt.
-
Abb. 13: Escape Game Lichtlabyrinth
Um das Spiel durchführen zu können, muss der Spieler Informationen über den Topologie des Labyrinthes haben. Daher werden zwei Zettel mit jeweils 2 Labyrinthwegen aufgezeichnet. Zu Unterscheidung der Labyrinthe werden die Orientierungspunkte markiert. Dies kann entweder mit einem Kreis, wie die Abbildung: zeigt
-
Abb. xx: Wegkarten des Lichtlabyrrinthes
Das Escape Game soll anhand dieses Programmablaufsplan erfolgen. (siehe abbildung)
-
Abb. xx: PAP Lichtlabyrinth
Technischer Systementwurf
Der Arduino diese Schaltung wird mit einem Netzteil über die DC Jack Buchse am Arduino versorgt. Die LED-Matrix wird mit den 5V des Arduinos versorgt. Eine weitere Leitung zur Ansteuerung der LED führt in die Digitalen I/O Pins des Arduinos. Hiermit wird per PWM Signalen, die LED-Matrix angesteuert. Des Weiteren wurden 4 Taster aufgebaut. Vom Ground-Potential der Taster führt jeweils eine grüne Leitung in den Arduino. Die Taster selber besitzen ein Pull-Up Widerstand. Der Ausgang des Tasters gehen jeweils an einem digitalem I/O Pin des Arduinos. Die Countdown LED wird dann noch mittels einem Vorwiderstandes auch wieder über einen digitalem I/O Pin angesteuert. Die digitalen I/O Ausgänge können bis auf die der LED-Matrix, da diesen ein digitalen I/O Pin mit PWM signal braucht, frei auswählen. Für die wirkliche Verdrahtung der einzelnen Bauelementen wird eine Leiterplatte designt, welche die Bauelemente untereinander verbindet und fixiert. (siehe Kapitel: Hardware)
-
Abb. xx: PAP Lichtlabyrinth
Materialliste / Komponentenspezifikationen
| Nr. | Anz. | Preis | Beschreibung / Link | Spezifikationen |
|---|---|---|---|---|
| 1 | 1 | 19,90 € | Arduino UNO R3 | |
| 2 | 1 | 12,99 € | WS2812B RGB LED Digital Individually Addressable Panel Light LED Module Matrix Screen DC5V Controllers Image Video Text Display (2pcs 8x8 Pixels) | |
| 3 | 1 | 0,26 € | LED, 10 mm, THT, rot, Diffus, 900 mcd, 30° | |
| 4 | 10 | 2,40 € | Blechschrauben, PAN Head, PZD, 2,9 x 6,5 mm | |
| 5 | 1 | 3,99 € | Experimentier-Steckboard, 830 Kontakte | |
| 6 | 4 | 4,33 € | Drucktaster, Chrom - 3V/5V, LED beleuchtet | |
| 7 | 1 | 3,90 € | Netzteil für Mikrocontroller 9V 1A | |
| 8 | 1 | - | 3D-Druck Gehäuse (von HSHL) | |
| 9 | 1 | - | 150 Ohm Widerstand für die Countdown-LED (von HSHL) | |
| 10 | div. | - | Leitungen (von HSHL) | |
| 11 | div. | - | Lötzinn (von HSHL) |
Bei Verwendung der Lochrasterplatte:
Werkzeugliste
| Nr. | Beschreibung | Größe |
|---|---|---|
| 1 | Lötkolben | |
| 2 | Abisolierzange | |
| 3 | Kreuzschlitz-Schraubendreher | 2mm |
| 4 | Schlitz-Schraubendreher | 1mm |
| 5 | Schraubenschlüssel | S22 |
Komponentenspezifikation
Umsetzung (HW/SW)
Hardware
Zur Verbindung der einzelnen Taster, der LED-Matrix und der Countdown-LED wurde eine Leiterplatte entworfen, die später dann mit einfach als Arduino Shield auf dem Arduino Uno R3 aufgesteckt werden kann. Diese Leiterplatte wird dann auch über die 4 Bohrungen der mit dem Gehäuse über die Schrauben verbunden. Die Leiterplatte wurde von Hand verlötet. Die Taster wurden mit flexibler Leitung verlötet und dann in die Schraubklemmen der Leiterplatte eingefügt. Zusätzlich wurde der Vorwiderstand der LED mit angelötet.
-
Abb. xx: Leiterplatten-Layout
-
Abb. xx : Leiterplatte beschrfitet
Für das Gehäuse wurde eine CAD Modell in Solid Works erstellt, welche die Taster, Arduino, Schrauben, Leiterplatte und die LED-Matrix beinhalten (Siehe Abbildung: )Die Montage erfolgt dann anhand der Explosionsansicht. Das Gehäuse sowie der Deckel wurden per 3D Druck angefertigt.
-
Abb. yy: CADExplosionsansicht
Die Taster sind beleuchtet und besitzen daher zwei GND Anschlüsse. Um eine Buchse auf der Leiterplatte zu sparen werden diese zusammengelötet.
Aufgrund von schlechter Lötstellen an der selbst designten Leiterplatte, war keine zuversichtlicher Kontakt gegeben. Aus zeitlichen Gründen konnte keine neue Leiterplatte gefräßt werden. Daher ist man dann auf eine vorhandene lochrasterplatte gewechselt. Hierbei ist zu beachten, dass durch den Versatz der der Female-Headerpins beim Arduino bei dem digitalem I/O Pins nur die digitalen I/O Pins von 0 - 7 verwendet werden können. Daher muss man die digitalen Ein- und Ausgänge anhand der Abbildung: in dem Simulink Programm abgeändert werden. Mehr dazu in Kapitel Software.
-
Abb: xx Lochrasterplatte
Software

Das Programm wurde wie in der PAP in ein Simulink Programm realisiert (siehe Funktionaler Systementwurf). Die einzelnen Labyrinthe wurden über die obigen Konstanten in einer Matrix [8][8] mit dem Datentyp uint8 abgespeichert. Hierfür wurde in Matlab ein script geschrieben, welches die entsprechende Labyrinth zufällig über ein Backtracking-Algorithmus ausgibt. Bei dem Datentyp uint0 werden die ersten 4 bits verantwortlich für die möglichen zugänglichen Bewegungsrichtungen, wobei die Bitsstelle 0 die Richtung nach oben beschreibt, 1 nach rechts, 2 nach unten und 3 nach links. Die Dimensionen der Matirx gibt an, welche Lichtpunkt gemeint ist. Man kann es sich wie eine Tabelle mit Zeilen und Spalten vorstellen. Somit wäre für die für das Feld, welches die 10 beinhaltet, der dazugehörige Matrixausschnitt und das dahinterstehende Bitmuster für den uint8 Wert so sein:
Labyrinth1(2,3) = 0b0000 1001
Bitstelle 0 ist eine 1 daher ist der Weg nach oben erlaubt
Bitstelle 1 ist eine 0 daher ist der Weg nach rechts blockiert
Bitstelle 2 ist eine 0 daher ist der Weg nach rechts blockiert
Bitstelle 3 ist eine 1 daher ist der Weg nach rechts erlaubt
Diese Konstanten kann man in diesem Programmen an den weißen Konstanten-Blöcken in dem folgendem Simulinkprogramm wiederfinden.
-
Abb: xx Simulink Programm vom Lichtlabyrinth
Die blauen Blocke werden zur Erfassung der Tastereingänge genutzt. Hierbei werden die Signale von Arduino an den digitalen Inputs der Taster eingelesen und in der C Funktion ausgewertet. Ein Taster-Signal wird hier nur weitergeleitet, wenn ausschließlich einer der Taster gedrückt wurde. Für den jeweilen Taster wird dann eine Zahl von 1 bis 4 entsprechend der Taster weitergegeben.
Die eigentliche Spielmechanik wird in dem gelben C-Funtion-Block realisiert. Und erfolgt nach der PAP. Der Timer, welcher die vergangene Zeit des aktuellen Spiels anzeigt und ein Ereignis bei Ablauf der Zeit auslöst, wurde ebenfalls mit einer C-Funkton-Block realisiert und ist an der orangen Farbe zu erkennen. Die aktuelle Zeit wird dann noch in eine separten, türkisen C-Funktion-Block weitergeleitet, der dann das gewünschte PWM Signal an die Countdown LED über den digitalen Output des Arduinos sendet.
Für die LED-Matrix wurde über den I/o Builder ein eigenen Block realisiert, welcher dann die aktuellen Felder der LEDs anzeigt und die beim Erreichen des Zielpunktes den Zahlencode auf der RGB Matrix anzeigt.
Komponententest
Ergebnis
Zusammenfassung
Lessons Learned
Projektunterlagen
Projektplan

Projektdurchführung
Weblinks
[1] https://www.bombmanual.com/web/index.html (Seite 15)
Literatur
→ zurück zur Übersicht: WS 25/26: Escape Game

