Escape Game: JoyCode: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Jens.potthoff@stud.hshl.de (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 5: Zeile 5:
{| class="wikitable"
{| class="wikitable"
|-
|-
|'''Autoren:''' || [[Benutzer: jens.potthoff@stud.hshl.de|Jens Potthoff]] [[Benutzer: Lauraine.tsamo-tazanou2@stud.hshl.de | Lauraine Tsamo-Tazanou]]'''
|'''Autoren:''' || [[Benutzer: jens.potthoff@stud.hshl.de|Jens Potthoff]] [[Benutzer: Mohammed-Yassine.Houari@stud.hshl.de| Mohammed Yassine Houari]]'''
|-
|-
|'''Betreuer:'''|| [[Benutzer:Marc Ebmeyer| Marc Ebmeyer]]'''
|'''Betreuer:'''|| [[Benutzer:Marc Ebmeyer| Marc Ebmeyer]]'''
Zeile 39: Zeile 39:
| 2  || Für jeden Joystick muss eine LED-Statusanzeige den Abstand zur jeweiligen Zielposition in Echtzeit anzeigen. || Hoch || Potthoff || 02.10.2025 || ||
| 2  || Für jeden Joystick muss eine LED-Statusanzeige den Abstand zur jeweiligen Zielposition in Echtzeit anzeigen. || Hoch || Potthoff || 02.10.2025 || ||
|-
|-
| 3  || Beide Joysticks müssen gleichzeitig für mindestens 3 Sekunden an der Zielposition gehalten werden, damit eine Ziffer freigeschaltet wird. || Hoch || Tsamo-Tazanou || 02.10.2025 || ||
| 3  || Beide Joysticks müssen gleichzeitig für mindestens 3 Sekunden an der Zielposition gehalten werden, damit eine Ziffer freigeschaltet wird. || Hoch || Houari || 02.10.2025 || ||
|-
|-
| 4  || Das Rätsel muss aus drei aufeinanderfolgenden Runden bestehen, wobei in jeder Runde eine Ziffer der dreistelligen PIN freigeschaltet wird. || Hoch || Tsamo-Tazanou || 02.10.2025 || ||
| 4  || Das Rätsel muss aus drei aufeinanderfolgenden Runden bestehen, wobei in jeder Runde eine Ziffer der dreistelligen PIN freigeschaltet wird. || Hoch || Houari || 02.10.2025 || ||
|-
|-
| 5  || Die RGB-LEDs müssen den Abstand zur Zielposition farblich darstellen: Rot = weit entfernt, Gelb = Annäherung, Grün = nahe, blinkendes Grün = Zielposition erreicht. || Hoch || Potthoff || 02.10.2025 || ||
| 5  || Die RGB-LEDs müssen den Abstand zur Zielposition farblich darstellen: Rot = weit entfernt, Gelb = Annäherung, Grün = nahe, blinkendes Grün = Zielposition erreicht. || Hoch || Potthoff || 02.10.2025 || ||
Zeile 47: Zeile 47:
| 6  || Das LC-Display muss die freigeschalteten Ziffern sowie optionale Startinformationen anzeigen. || Hoch || Potthoff || 02.10.2025 || ||
| 6  || Das LC-Display muss die freigeschalteten Ziffern sowie optionale Startinformationen anzeigen. || Hoch || Potthoff || 02.10.2025 || ||
|-
|-
| 7  || Ein Start-Button muss das Rätsel initialisieren und alle Werte zurücksetzen. || Hoch || Tsamo-Tazanou || 02.10.2025 || ||
| 7  || Ein Start-Button muss das Rätsel initialisieren und alle Werte zurücksetzen. || Hoch || Houari || 02.10.2025 || ||
|-
|-
| 8  || Ein Reset-Button muss den aktuellen Spielstand löschen und das Rätsel in den Ausgangszustand versetzen. || Mittel || Tsamo-Tazanou || 02.10.2025 || ||
| 8  || Ein Reset-Button muss den aktuellen Spielstand löschen und das Rätsel in den Ausgangszustand versetzen. || Mittel || Houari || 02.10.2025 || ||
|-
|-
| 9  || Ein Lösungs-Button muss auf dem LC-Display den korrekten Zahlencode anzeigen, falls das Rätsel nicht gelöst wurde. || Hoch || Tsamo-Tazanou || 02.10.2025 || ||
| 9  || Ein Lösungs-Button muss auf dem LC-Display den korrekten Zahlencode anzeigen, falls das Rätsel nicht gelöst wurde. || Hoch || Houari || 02.10.2025 || ||
|-
|-
| 10 || Die Zielpositionen müssen zu Beginn jeder Runde zufällig generiert werden. || Hoch || Potthoff || 02.10.2025 || ||
| 10 || Die Zielpositionen müssen zu Beginn jeder Runde zufällig generiert werden. || Hoch || Potthoff || 02.10.2025 || ||
Zeile 57: Zeile 57:
| 11 || Der Toleranzbereich der Zielpositionen muss so eingestellt sein, dass das Rätsel lösbar, aber herausfordernd bleibt. || Hoch || Potthoff || 02.10.2025 || ||
| 11 || Der Toleranzbereich der Zielpositionen muss so eingestellt sein, dass das Rätsel lösbar, aber herausfordernd bleibt. || Hoch || Potthoff || 02.10.2025 || ||
|-
|-
| 12 || Das Gehäuse muss aus 3D-gedrucktem Material bestehen und die Elektronik sicher und stabil aufnehmen. || Mittel || Tsamo-Tazanou || 02.10.2025 || ||
| 12 || Das Gehäuse muss aus 3D-gedrucktem Material bestehen und die Elektronik sicher und stabil aufnehmen. || Mittel || Houari || 02.10.2025 || ||
|-
|-
| 13 || Die maximale Außenabmessung des Gehäuses darf die Größe eines Standard-Schuhkartons nicht überschreiten. || Hoch || Potthoff || 02.10.2025 || ||
| 13 || Die maximale Außenabmessung des Gehäuses darf die Größe eines Standard-Schuhkartons nicht überschreiten. || Hoch || Potthoff || 02.10.2025 || ||

Version vom 19. Oktober 2025, 18:23 Uhr

Autoren: Jens Potthoff Mohammed Yassine Houari
Betreuer: Marc Ebmeyer


Einleitung

Im Rahmen des Fachpraktikums im Modul Angewandte Mechatronik des Studiengangs Business and Systems Engineering werden Rätsel entwickelt, die in etwa fünf Minuten lösbar sind und in ein übergeordnetes Escape-Game integriert werden. Das Projekt „JoyCode“ ist ein solches Escape-Rätsel, das über zwei Joysticks gesteuert wird. Ziel ist es, beide Joysticks in zufällig generierte Zielpositionen zu bewegen, wobei jeder Joystick eine eigene Zielposition hat. Neben den Joysticks befindet sich eine LED-Statusanzeige, die den Abstand zur jeweiligen Zielposition in Echtzeit visualisiert. In drei aufeinanderfolgenden Runden müssen die Joysticks korrekt positioniert und die jeweilige Zielstellung für drei Sekunden gehalten werden. Nach jeder erfolgreich abgeschlossenen Runde wird eine Ziffer auf dem LC-Display freigeschaltet. Nach drei Runden ergibt sich so ein vollständiger Zahlencode, der für den Zugang zum nächsten Rätsel benötigt wird. Die Rückmeldung erfolgt über RGB-LEDs: Rot signalisiert eine große Abweichung, Gelb zeigt Annäherung, Grün steht für fast korrekt, und blinkendes Grün markiert die exakte Zielposition, die dann für drei Sekunden gehalten werden muss. Das Rätsel besteht aus den Joysticks, den RGB-LEDs zur visuellen Rückmeldung, dem LC-Display zur Anzeige der freigeschalteten Ziffern sowie den drei aufeinanderfolgenden Runden, deren erfolgreiche Bewältigung den Zahlencode freischaltet.


Schwierigkeitslevel
Fortgeschritten. Das Rätsel erfordert eine gute Hand-Auge-Koordination, da beide Joysticks gleichzeitig und präzise bewegt werden müssen. Je nach eingestelltem Toleranzbereich und den angezeigten Hinweisen auf dem Display kann der Schwierigkeitsgrad leicht angepasst werden.


Lernziele
Das Lernziel des Rätsels besteht darin, zwei Steuerungen gleichzeitig präzise zu bedienen und ihre Bewegungen gezielt zu koordinieren. Durch die farbliche Rückmeldung der LEDs wird das Verständnis für Positionsänderungen und deren Auswirkungen geschult. Das Rätsel fördert somit die Hand-Auge-Koordination, Feinmotorik sowie die Fähigkeit, Rückmeldungen richtig zu interpretieren und entsprechend darauf zu reagieren.


Bezug zum BSE Studium
Für die Umsetzung des Projekts werden mechatronische Kenntnisse praktisch angewendet, insbesondere im Bereich Sensorik, Softwareintegration und Systemsteuerung. Das Projekt erfordert zudem die Verknüpfung der Hardware- und Softwarekomponenten sowie die Umsetzung von Echtzeit-Rückmeldungen über die LEDs. Dabei wird die Fähigkeit gefördert, von einer Idee über die Planung und Konzeption ein funktionierendes Hardware-/Software-System zu entwickeln, das praktisch innerhalb des übergeordneten Escape-Game genutzt werden kann. Die Planung, Programmierung und Steuerung mechatronischer Systeme wird erlernt, die Zusammenhänge zwischen Hardware und Software erlernt.

Anforderungen

Tabelle 1: Anforderungen an das Escape Game
ID Inhalt Prio Ersteller Datum Geprüft von Datum
1 Das System muss die gleichzeitige Bedienung von zwei Joysticks ermöglichen. Hoch Potthoff 02.10.2025
2 Für jeden Joystick muss eine LED-Statusanzeige den Abstand zur jeweiligen Zielposition in Echtzeit anzeigen. Hoch Potthoff 02.10.2025
3 Beide Joysticks müssen gleichzeitig für mindestens 3 Sekunden an der Zielposition gehalten werden, damit eine Ziffer freigeschaltet wird. Hoch Houari 02.10.2025
4 Das Rätsel muss aus drei aufeinanderfolgenden Runden bestehen, wobei in jeder Runde eine Ziffer der dreistelligen PIN freigeschaltet wird. Hoch Houari 02.10.2025
5 Die RGB-LEDs müssen den Abstand zur Zielposition farblich darstellen: Rot = weit entfernt, Gelb = Annäherung, Grün = nahe, blinkendes Grün = Zielposition erreicht. Hoch Potthoff 02.10.2025
6 Das LC-Display muss die freigeschalteten Ziffern sowie optionale Startinformationen anzeigen. Hoch Potthoff 02.10.2025
7 Ein Start-Button muss das Rätsel initialisieren und alle Werte zurücksetzen. Hoch Houari 02.10.2025
8 Ein Reset-Button muss den aktuellen Spielstand löschen und das Rätsel in den Ausgangszustand versetzen. Mittel Houari 02.10.2025
9 Ein Lösungs-Button muss auf dem LC-Display den korrekten Zahlencode anzeigen, falls das Rätsel nicht gelöst wurde. Hoch Houari 02.10.2025
10 Die Zielpositionen müssen zu Beginn jeder Runde zufällig generiert werden. Hoch Potthoff 02.10.2025
11 Der Toleranzbereich der Zielpositionen muss so eingestellt sein, dass das Rätsel lösbar, aber herausfordernd bleibt. Hoch Potthoff 02.10.2025
12 Das Gehäuse muss aus 3D-gedrucktem Material bestehen und die Elektronik sicher und stabil aufnehmen. Mittel Houari 02.10.2025
13 Die maximale Außenabmessung des Gehäuses darf die Größe eines Standard-Schuhkartons nicht überschreiten. Hoch Potthoff 02.10.2025
14 Die Spieldauer pro Rätsel darf 5 Minuten nicht überschreiten. Hoch Potthoff 02.10.2025
15 Das Rätsel ist ohne zusätzliche digitale Geräte vollständig spielbar. Mittel Potthoff 02.10.2025
16 Die zufällige Initialisierung der Zielposition darf nicht der Standardposition des Joysticks entsprechen. Hoch Potthoff 02.10.2025

Funktionaler Systementwurf

Die beiden Joysticks dienen dazu, vordefinierte Zielpositionen zu erreichen. Jeder Joystick hat eine eigene Zielposition für X- und Y-Achse, die zu Beginn jeder Runde zufällig festgelegt wird. Die Joysticks müssen so bewegt werden, dass die Zielpositionen innerhalb eines definierten Toleranzbereichs erreicht und für drei Sekunden gehalten werden. Sobald beide Joysticks korrekt positioniert sind, wird eine Ziffer auf dem LC-Display freigeschaltet. Die RGB-LEDs liefern dabei zusätzlich Echtzeit-Feedback über die aktuelle Abweichung von der Zielposition.

Der Aufbau des Projekts JoyCode erfolgt in einem kompakten, rechteckigen Gehäuse, dessen Frontplatte alle Bedienelemente übersichtlich anordnet, wie Abbildung 2 zeigt. Im oberen mittleren Bereich befindet sich das LC-Display, das als zentrale Anzeige dient. Es zeigt den jeweils aktuellen Fortschritt, freigeschaltete Ziffern des Zahlencodes sowie Statusmeldungen während des Rätzels an. Direkt unterhalb des Displays sind drei Taster angeordnet: links der Start-Button (gelb) zum Initialisieren des Rätzels, in der Mitte der Reset-Button (grau) zum Zurücksetzen des aktuellen Fortschritts und rechts der Lösungs-Button (blau), der bei Bedarf den korrekten Zahlencode auf dem Display anzeigt.

Im unteren Bereich der Frontplatte sollen die beiden Joysticks symmetrisch angeordnet – einer links, einer rechts. Diese dienen als Haupteingabegeräte, über die die Zielpositionen gesteuert werden. Oberhalb jedes Joysticks wird eine RGB-LED positioniert, die den aktuellen Abstand zur jeweiligen Zielposition farblich visualisiert: Rot signalisiert eine große Abweichung, Gelb zeigt eine Annäherung und Grün markiert eine nahezu korrekte Position. Wenn die Zielposition exakt erreicht wurde, beginnt die LED grün zu blinken.

Links neben dem Display soll sich der Anschlussbereich für die Stromversorgung bzw. den PD-Port befinden, über den das System mit Energie versorgt wird.

Im Inneren des Gehäuses ist die gesamte Elektronik auf einer Trägerplatte montiert. Der Arduino Uno R3 fungiert als zentrale Steuereinheit und ist so platziert, dass alle Verbindungskabel zu den Joysticks, LEDs, Tastern und dem Display möglichst kurz gehalten werden.

Das Gehäuse selbst soll so konstruiert werden, dass alle Komponenten bündig in die Frontplatte eingelassen sind. Die Bedienelemente ragen leicht hervor, während die RGB-LEDs durch Öffnungen sichtbar bleiben. Im Inneren sollen Abstandshalter und Podeste dafür sorgen, dass alle Bauteile auf derselben Höhe liegen und mechanisch stabil montiert sind.


Abb. 01: Technischer Systementwurf

Abb. 02: Konzeptzeichnung JoyCode



Abb. 01: Technischer Systementwurf

Abb. 01: Programmablaufplan JoyCode

Technischer Systementwurf

Für das Projekt zeigt die folgende Abbildung den technischen Systementwurf. In diesem sind alle elektronischen Bauteile des sowie deren Verdrahtung mit dem Arduino dargestellt.


Abb. 03: Technischer Systementwurf

Abb. 03: Technischer Systementwurf

Komponentenspezifikation

Mikrocontroller-Board – Arduino Uno R3
Der Arduino Uno R3 dient als zentrale Steuereinheit und ist mit dem ATmega328P ausgestattet. Es bietet ausreichend Anschlussmöglichkeiten, um alle für das Rätsel benötigten Komponenten unterzubringen.

LC-Display – Joy-it SBC-LCD16x2 Display-Modul
Das LC-Display zeigt die freigeschalteten Ziffern des Zahlencodes an. Dank des integrierten I²C-Moduls kann es direkt über die SDA- und SCL-Pins (A4 und A5) des Arduino Uno R3 angeschlossen werden. Zusätzlich benötigt das Display eine Spannungsversorgung (VCC) und Masse (GND).

Joystick – KY-023 Joystick-Modul (2 Stück)
Die Joysticks dienen zur Eingabe von X/Y-Koordinaten. Die Anschlüsse für die vertikale und horizontale Achse werden an zwei analoge Eingänge des Arduino angeschlossen. Die integrierte Tasterfunktion wird nicht verwendet.

RGB-LED – Iduino SE010 RGB-LED-Modul (2 Stück)
Die RGB-LEDs geben visuelles Feedback über die Abweichung von der Zielposition. Die Vorwiderstände sind bereits integriert. Jede LED wird über drei digitale PWM-Pins des Arduino für die Farben Rot, Grün und Blau angesteuert.

Taster (3 Stück)
Die Taster dienen als Bedienelemente (Starten, Zurücksetzen, Lösung). Sie werden jeweils zwischen Masse (GND) und einen digitalen Eingang des Arduino angeschlossen, um deren Zustand (0 oder 1) abzufragen.

Gehäuse und Montage
Alle Komponenten werden auf ein 3D-gedrucktes Gehäuse montiert, wobei die Kabelverbindungen verborgen werden. Um sicherzustellen, dass alle Bauteile die richtige Höhe im Gehäuse haben, werden zusätzliche Podeste für die einzelnen Komponenten gedruckt. Die sichtbaren Teile der Komponenten ragen dabei durch passgenaue Ausschnitte des Gehäuses nach außen.

Materialliste

Für die Realisierung des Projekts werden verschiedene Hardwarekomponenten benötigt, die in Tabelle 2 aufgeführt sind. Die Kernkomponenten sind das Mikrocontroller-Board Arduino Uno R3 als zentrale Steuereinheit, zwei Joystick-Module als Eingabegeräte, RGB-LEDs für die visuelle Rückmeldung sowie ein LC-Display zur Anzeige des Zahlencodes. Ergänzt wird die Schaltung durch Taster zur Steuerung und ein Netzteil zur Stromversorgung.

Tabelle 2: Stückliste
ID Anzahl Kosten pro Stück € Summe Bezeichnung / Komponente technische Bezeichnung Beschreibung Datenblatt Abbildung
1 1x 13,90€ 13,90€ Mikrocontroller-Board Arduino Uno R3 Zentrale Steuereinheit mit ATmega328P. Datenblatt Arduino Uno
Abb. 03: Arduino Uno
2 2x 1,29€ 2,58€ Joystick KY-023-Joystick Modul Dient zur Eingabe (X/Y-Koordinaten). Benutzung Joystick-Modul
3 2x 2,49€ 4,98€ RGB LED Iduino SE010 RGB LED-Modul Visuelles Feedback über Abweichung von der Zielposition. Die Widerstände sind bereits montiert. Datenblatt RGB-LED-Modul
4 1x 9,88€ 9,88€ LC-Display Joy-it SBC-LCD16x2 Display-Modul Anzeige der freigeschalteten Ziffern des Zahlencodes. Das LC-Display kann direkt an die SDA- und SCL-Pins (A4 und A5) des Arduino Uno R3 angeschlossen werden. LCD16x2 Display-Modul
5 3x 1,65€ 4,95€ Taster Taster Bedienelemente zur Steuerung des Rätzels (starten, zurücksetzen, Lösung). Taster-Modul
6 1x 3,90€ 3,90€ 9V Netzteil 9V Netzteil Stromversorgung des Mikrocontrollers.
40,19 €

Umsetzung (HW/SW)

Komponententest

Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

Projektplan

Projektdurchführung

YouTube Video

Weblinks

Literatur


→ zurück zur Übersicht: WS 25/26: Escape Game