Escape Game: Rätselbox: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Xiangyao.liu@stud.hshl.de (Diskussion | Beiträge)
Xiangyao.liu@stud.hshl.de (Diskussion | Beiträge)
Zeile 231: Zeile 231:
|[https://cdn-reichelt.de/documents/datenblatt/C700/DIP%20DTS-61K.pdf Datenblatt Taster]  
|[https://cdn-reichelt.de/documents/datenblatt/C700/DIP%20DTS-61K.pdf Datenblatt Taster]  
|
|
[[Datei:taster.png|mini|links|200px| Abb. 9: taster]]
[[Datei:taster_.png|mini|links|200px| Abb. 9: taster]]
|-
|-
|-
|-
Zeile 243: Zeile 243:
|[https://cdn-reichelt.de/documents/datenblatt/A300/DEBO_SENS_3AXISH_DB-DE.pdf Datenblatt MPU6050]  
|[https://cdn-reichelt.de/documents/datenblatt/A300/DEBO_SENS_3AXISH_DB-DE.pdf Datenblatt MPU6050]  
|
|
[[Datei:MPU6050.png|mini|links|200px| Abb. 10: MPU6050]]
[[Datei:MPU6050_.png|mini|links|200px| Abb. 10: MPU6050]]
|-
|-
|-
|-
Zeile 255: Zeile 255:
|[https://asset.conrad.com/media10/add/160267/c1/-/en/001616253ML01/bedienungs-und-sicherheitshinweise-1616253-iduino-se010-rgb-led-modul-1-st.pdf Datenblatt LED]  
|[https://asset.conrad.com/media10/add/160267/c1/-/en/001616253ML01/bedienungs-und-sicherheitshinweise-1616253-iduino-se010-rgb-led-modul-1-st.pdf Datenblatt LED]  
|
|
[[Datei:LED.png|mini|links|200px| Abb. 11: LED]]
[[Datei:LED_.png|mini|links|200px| Abb. 11: LED]]
|-
|-
|-
|-

Version vom 10. Januar 2026, 13:20 Uhr

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

Autoren: xiangyao Liu , yunkai Lin
Betreuer: Marc Ebmeyer


Einleitung

Dieses Projekt basiert auf der Handlung der Kapitel 4 bis 7 des vierten Bandes des Mangas „Detektiv Conan“. In der Geschichte platziert der Täter eine Bombe in einem Shinkansen-Hochgeschwindigkeitszug. Fällt die Geschwindigkeit des Zuges unter 80 km/h, explodiert die Bombe. Conan muss den Fall noch im Zug lösen, um den Täter zu identifizieren und die Krise abzuwenden. Sein Kombinationsprozess stützt sich dabei maßgeblich auf die Schlüsselzahl 80, aus der er weitere Informationen ableitet.

In unserem Projekt erhalten die Spieler durch das erfolgreiche Absolvieren des Labyrinths im ersten Level ebenfalls eine Schlüsselzahl. Anhand verschiedener Hinweise müssen die Spieler von dieser Zahl ausgehend auf die entsprechenden Lösungen schließen. Jede dieser Lösungen stellt ein notwendiges Passwort für das finale Level des Spiels dar. Die Spieler müssen die Passwörter mit den Hinweisen kombinieren, um das letzte Rätsel zu lösen und das Spiel erfolgreich abzuschließen.

Der Schwierigkeitsgrad ist mittel. Das Spiel erfordert grundlegendes logisches Denken und eine gewisse Geschicklichkeit beim Bedienen der Sensoren, ist aber dank visueller Rückmeldungen (LEDs und Display) sowohl für Kinder als auch Erwachsene geeignet. Die Aufgaben sind so gestaltet, dass sie ohne Fachwissen, aber mit Konzentration und Beobachtung lösbar sind.

Der Lerneffekt besteht in der Verbindung von logischem Denken und physikalischer Wahrnehmung. Die Spieler verstehen im Spiel, wie Sensoren funktionieren, wie Zahlenwerte in reale Handlungen umgesetzt werden können und trainieren dabei ihre Problemlösungsfähigkeit sowie ihre Feinmotorik.

Zur Realisierung des Projekts wird die Entwicklungsumgebung MATLAB/Simulink in Verbindung mit dem Arduino Mega 2560 verwendet. Dabei werden alle Systemkomponenten – Sensoren, Aktoren, Steuerlogik und Anzeigeelemente – in Simulink als funktionale Blöcke modelliert. Das Verhalten des Systems kann zunächst im Simulink-Modell simuliert und anschließend über die automatische Codegenerierung direkt auf die Arduino-Hardware übertragen werden . Dadurch wird ein durchgängiger Model-Based Design-Ansatz umgesetzt, wie er im Systems Engineering zentral ist.

Anforderungen

Tabelle 1: Anforderungen an das Escape Game
ID Inhalt Prio Ersteller Datum Geprüft von Datum Umsetzung der Anforderung in %; Prüfer
1 Das Spiel muss in 5 Minuten lösbar sein. Mittel xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
2 Das Labyrinth-Spiel startet beim Drücken von Taste 1. Hoch xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
3 Hinweise und Rückmeldungen für die Spieler*innen werden über das OLED-Display angezeigt. Mittel xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
4 Der Wägezellen-Sensor kann das aufgelegte Gewicht zuverlässig messen. Hoch xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
5 Der Ultraschallsensor kann den Abstand der Hand zum Sensor zuverlässig messen. Mittel xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
6 Der Drehwinkelsensor kann die horizontale Rotation des Kastens zuverlässig erfassen. Hoch xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
7 Die Überprüfung der Bedingungen (Abstand, Winkel, Gewicht) beginnt beim Drücken von Taste 2. Hoch xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
8 Wenn eine Aufgabe (Gewicht, Abstand, Winkel) korrekt ist, leuchtet die entsprechende LED grün, andernfalls rot. Hoch xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
9 Beim Bestehen des Labyrinths leuchtet die entsprechende LED grün und das OLED zeigt „Erfolg“ an, andernfalls wird die LED rot und das OLED zeigt „Fehlgeschlagen“ an. Mittel xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
10 Wenn alle drei Aufgaben korrekt sind und mindestens 3 Sekunden lang erfüllt bleiben, leuchten alle LEDs grün. Mittel xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
11 Das Endergebnis (Zahlencode) wird auf dem OLED-Display angezeigt. Mittel xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
12 Der Drehencoder kann die Spielfigur im Labyrinth korrekt steuern. Niedrig xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
13 Das System muss auch ohne Internet funktionieren. Niedrig xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
14 Das System muss in eine tragbare Box integriert werden. Mittel xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
15 Das Spiel muss benutzerfreundlich und sowohl für Kinder als auch Erwachsene geeignet sein. Hoch xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin
16 Während des Spiels dürfen keine externen Hilfsmittel (z. B. Waage, Lineal) verwendet werden. Hoch xiangyao Liu,yunkai Lin 02.10.2025 Xiangyao Liu, Yunkai Lin

Funktionaler Systementwurf

Abb. Funktionaler Systementwurf

Das Spiel gliedert sich in zwei Abschnitte.
Im ersten Abschnitt muss der Spieler den OLED-Bildschirm auf der Box finden und das darauf dargestellte Labyrinthspiel mithilfe eines Drehgebers lösen. Nach erfolgreichem Abschluss des Labyrinths erhält der Spieler die erste Schlüsselzahl.
Anschließend beginnt der zweite Abschnitt. Hier muss der Spieler anhand von Hinweisen verschiedene Berechnungen mit der ersten Schlüsselzahl durchführen, um drei neue Schlüsselzahlen zu ermitteln. Diese drei Zahlen sind jeweils einem der drei folgenden Rätsel zugeordnet. Das erste Rätsel besteht darin, entsprechend der neuen Zahl passende Gewichtsstücke auszuwählen, die von einem Schwerkraftsensor gemessen werden. Beim zweiten Rätsel muss die Box um einen Winkel gedreht werden, der durch die neue Schlüsselzahl vorgegeben ist. Das dritte Rätsel erfordert das Platzieren eines Hindernisses (hierfür kann auch die Hand dienen), dessen Abstand zum Ultraschallsensor der neuen Schlüsselzahl entsprechen muss.

Jede dieser Aufgaben wird automatisch überprüft. Wenn die Messwerte innerhalb des erlaubten Toleranzbereichs liegen, leuchtet die entsprechende LED grün. Nach dem erfolgreichen Bestehen aller Aufgaben wird auf dem OLED-Display „Erfolg“ angezeigt und ein Zahlencode freigegeben.

Technischer Systementwurf

Die technische Systemarchitektur beschreibt ein mikrocontroller-gesteuertes interaktives Spielsystem mit mehrstufiger Eingabeverarbeitung. Die Stromversorgung liefert die erforderliche Energie für alle Komponenten.

Das System gliedert sich in drei funktionale Ebenen: Eingabe, Verarbeitung und Ausgabe. Auf der Eingabeebene erfassen ein Drehgeber und zwei Tasten die Benutzerbefehle zur Spielsteuerung, während Sensoren (Gewichts-, Winkel- und Abstandssensoren) kontinuierlich physikalische Messdaten sammeln.

Der Mikrocontroller fungiert als zentrale Verarbeitungseinheit, die alle Eingangssignale empfängt, die Spiellogik ausführt und die Bedingungsüberprüfung durchführt. Er verarbeitet die Messdaten der Sensoren in Echtzeit und vergleicht sie mit den vorgegebenen Zielwerten.

Die Ausgabeeinheit besteht aus einem OLED-Display zur visuellen Darstellung des Spielverlaufs und der Systemmeldungen sowie einer LED-Anzeige zur Signalisierung des Erfolgszustands. Das Display zeigt während des Spiels das Labyrinth, Statusinformationen und den generierten Code an, während die LED als binäres Signal für Erfolg oder Misserfolg dient.

Durch diese Systemarchitektur wird ein durchgängiger Datenfluss von der Eingabeerfassung über die intelligente Signalverarbeitung bis zur benutzerfreundlichen Ergebnisdarstellung gewährleistet. Die modulare Struktur ermöglicht eine flexible Anpassung und Erweiterung einzelner Komponenten.

Abb. 03: Technischer Systementwurf des Rätselbox
Abb. 02: Technischer Systementwurf

















Materialliste

Tabelle 2: Materialliste
Nr. Anz. Komponente Beschreibung Link
1 1 Arduino Mega 2560 Microcontroller ARD MEGA2560 R3 Arduino kompatibles Mega 2560 R3 Board
2 1 SSD1306 I²C 128x64 Display SSD1306
3 1 SEN-PRESSURE02 Drucksensor ARD SEN PRESSURE Arduino - Drucksensor, 0 g bis 2 kg
4 1 KY-040 Drehgeber KY-040
5 1 HC-SR04 Ultraschall-Modul HC-SR04
6 2 Taster Taster Taster
7 1 MPU6050(I²C) Beschleunigungs- und Gyroskop-Sensor MPU6050
8 4 LED LED Iduino SE010 RGB LED-Modul

Komponentenspezifikation

Stückliste (BOM)

In der nachfolgenden Tabelle ist die Bill of Materials für das Projekt zu finden.

Tabelle 3: BOM
ID Anzahl Kosten pro Stück € Summe Bezeichnung / Komponente technische Bezeichnung Beschreibung Datenblatt Abbildung
1 1x 19,30€ 19,30€ Arduino Mega ARD MEGA2560 R3 Arduino kompatibles Mega 2560 R3 Board Der Mircocontroller mit dem ATmega2560 verfügt über 54 digitale I/O - Schnittstellen. Des Weiteren sind 16 analoge Eingänge die die Verarbeitung analoger Signale vorhanden. Datenblatt Arduino Mega
Abb. 4: Arduino Mega 2560 R3 Board
2 1x 6,99€ 6,99€ SSD1306 I²C 128x64 SSD1306 Der SSD1306-Controller ermöglicht die Ansteuerung von OLED-Displays mit einer Auflösung von 128x64 Pixeln über I2C- oder SPI-Schnittstellen. Datenblatt SSD1306
Abb. 5: OLED-Display
3 1x 4,03€ 4,03€ Drucksensor ARD SEN PRESSURE Arduino - Drucksensor, 0 g bis 2 kg Der Sensor ist für einen Messbereich von 0 bis 2 kg ausgelegt und liefert ein analoges Signal. Datenblatt Drucksensor
Abb. 6: Drucksensor.
4 1x 2,2€ 2,2€ KY-040 Drehgeber KY-040 Der inkrementale Drehgeber ermöglicht eine endlose 360°-Rotation und verfügt über einen integrierten Drucktaster. Datenblatt KY-040
Abb. 7: KY-040
5 1x 3,80€ 3,80€ Ultraschall-Modul HC-SR04 Der Ultraschallsensor misst berührungslos Entfernungen von 2 cm bis 400 cm mittels Schallwellen. Datenblatt Ultraschall
Abb. 8: HC-SR04
6 2x 0,33€ 0,66€ Taster Taster Dieses Bauteil dient als taktiles Eingabeelement auf Leiterplatten und kehrt nach dem Loslassen automatisch in die Ausgangsposition zurück. Datenblatt Taster
Abb. 9: taster
7 1x 5,50€ 5,50€ MPU6050 MPU6050 Der MPU6050 vereint ein 3-Achsen-Gyroskop und einen 3-Achsen-Beschleunigungssensor zu einer 6-Achsen-Motion-Tracking-Einheit. Datenblatt MPU6050
Abb. 10: MPU6050
8 4x 2,49€ 9,96€ LED Iduino SE010 RGB LED-Modul Das RGB-LED-Modul ermöglicht durch die separate Ansteuerung der Kanäle Rot, Grün und Blau die Darstellung beliebiger Mischfarben. Datenblatt LED
Abb. 11: LED

Umsetzung (HW/SW)

Technische Daten der Sensoren

Hardware-Modul: Ultraschallsensor HC-SR04

Der HC-SR04 ist ein weit verbreitetes Modul zur berührungslosen Entfernungsmessung. Er nutzt das Sonar-Prinzip , um den Abstand zu Objekten zu erkennen.

Funktionsprinzip:

Das Modul sendet nach Erhalt eines Triggersignals automatisch Ultraschallwellen aus und misst die Zeitspanne bis zum Eintreffen des vom Objekt reflektierten Echos, um daraus unter Berücksichtigung der Schallgeschwindigkeit die Entfernung zum Objekt zu berechnen.

Berechnungsformel

Die Distanz wird berechnet, indem die gemessene Zeitdauer des Echos mit der Schallgeschwindigkeit multipliziert und durch 2 geteilt wird .

Distanz (cm)=Echo-Dauer(μs)×0,03432

In diesem Projekt dient das Modul als Kernkomponente für das "Level 2: Sensor-Herausforderung" (Sensor Challenge). Der Spieler muss seine Hand in einer bestimmten Höhe (9 cm - 11 cm) über den Sensor halten, um einen Teil des Rätsels zu lösen.

Tabelle 4: Technische Daten der HC-SR04 Sensoren
HC-SR04
Messbereich 3 - 400 cm
Versorgungsspannung 5 V
Versorgungsstrom 15 mA
Arbeitsfrequenz 40 kHz
Messwinkel 15 Grad
Genauigkeit ca. 3mm

Die Verbindung zwischen dem Ultraschallsensor HC-SR04 und dem Arduino Mega 2560 erfolgt über vier Pins. Die genaue Belegung in diesem Projekt ist wie folgt:

Tabelle 5: Hardware-Anschluss: HC-SR04
HC-SR04 Pin Arduino Mega Pin Beschreibung
VCC 5V Stromversorgung
GND GND Ground
Trig D7 Trigger-Signal (Ausgang vom Arduino)
Echo D6 Echo-Signal (Eingang zum Arduino)

Hardware-Modul: Ultraschallsensor KY-040

Der KY-040 ist ein inkrementaler Drehgeber, der Drehbewegungen in elektrische Signale umwandelt. In diesem Projekt fungiert der KY-040 als Hauptsteuergerät für das Labyrinth-Spiel (Level 1).

Drehen: Steuert die Bewegung des Spielers (hoch/runter oder links/rechts).

Drücken: Der integrierte Taster wechselt die Bewegungsachse (horizontal/vertikal).

Funktionsprinzip

Der KY-040 Inkrementalgeber wandelt mechanische Drehbewegungen in elektrische Impulse um. Das Kernprinzip beruht auf der Auswertung der Phasenverschiebung zwischen zwei Signalen, um die Drehrichtung zu bestimmen.

Abb. 12: Interner Aufbau und Signalerzeugung
Abb. 13: Signalverlauf und Richtungserkennung









Interner Aufbau und Signalerzeugung

Wie in der Abbildung12 zu sehen ist, befindet sich im Inneren des Encoders eine Scheibe mit gleichmäßig verteilten Kontaktstellen, die mit dem gemeinsamen Pin C (Ground) verbunden sind.

Erzeugung der Rechtecksignale: Wenn der Knopf gedreht wird, rotiert diese Scheibe. Die Ausgänge A (CLK) und B (DT) berühren abwechselnd die Kontaktflächen der Scheibe.

Das Ergebnis: Durch diesen ständigen Wechsel zwischen Kontakt (Low) und keinem Kontakt (High) entstehen auf beiden Leitungen digitale Rechtecksignale.

Richtungserkennung

Um zwischen Rechts- und Linksdrehung zu unterscheiden, sind die Abnehmer für Signal A und Signal B phasenversetzt angeordnet. Das bedeutet, die Signale ändern sich nicht gleichzeitig, sondern nacheinander (um 90° versetzt). Der Mikrocontroller erkennt die Richtung, indem er prüft, welches Signal sich zuerst ändert.

Laut dem Abbildung13 gilt folgende Logik:

Im Uhrzeigersinn

Bei einer Rechtsdrehung eilt das Signal A dem Signal B voraus.

Signalverlauf: Der Zustand von Ausgang A ändert sich zuerst. Wenn Signal A seine Flanke wechselt (z. B. von High auf Low), hat Signal B seinen Zustand noch nicht geändert.

Erkennung: Der Mikrocontroller registriert eine Änderung an A. Da B zu diesem Zeitpunkt noch unverändert (statisch) ist, wird dies als Rechtsdrehung interpretiert.

Gegen den Uhrzeigersinn

Bei einer Linksdrehung kehrt sich die Reihenfolge um. Signal B eilt nun voraus.

Signalverlauf: Hier ändert sich der Zustand von Ausgang B zuerst.

Erkennung: Wenn der Mikrocontroller nun eine Änderung an A registriert, stellt er fest, dass B seinen Zustand bereits geändert hat . Dies wird als Linksdrehung interpretiert.

Tabelle 6: Technische Daten der KY-040 Sensoren
KY-040
Betriebsspannung 5V
Drehwinkel 360°
Ausgang 2-Bit-Grau-Code
Taster Integrierter Push-Button
Tabelle 7: Hardware-Anschluss: KY-040
KY-040 Pin Arduino Mega Pin Beschreibung
VCC 5V Stromversorgung
GND GND Ground
SW D5 Taster-Signal
DT D3 Datensignal
CLK D2 Taktsignal

Komponententest

Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

Projektplan

Projektdurchführung

YouTube Video

Weblinks

Literatur


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