Escape Game: Chromatic Lock: Unterschied zwischen den Versionen
| Zeile 83: | Zeile 83: | ||
== Komponentenspezifikation == | == Komponentenspezifikation == | ||
=== Material und Stückliste === | |||
{| class="wikitable" | |||
|+ '''Tabelle: Materialliste für Beschaffung''' | |||
! ID !! Anzahl !! Komponente !! Technische Bezeichnung !! Kosten !! Datenblatt | |||
|- | |||
| 1 || 1 || Mikrocontroller-Board || Arduino UNO R3 || XX,XX€ || [https://docs.arduino.cc/hardware/uno-rev3/ Arduino Uno R3] | |||
|- | |||
| 2 || 3 || Rotary Encoder || KY-040 Drehgeber || XX,XX€ || [https://components101.com/modules/KY-040-rotary-encoder-pinout-datasheet KY-040] | |||
|- | |||
| 3 || 1 || TFT Display || 2.8" SPI TFT 240x320 || XX,XX€ || [https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf ILI9341] | |||
|- | |||
| 4 || 1 || LCD Display || 20x4 I²C LCD HD44780 || XX,XX€ || [https://www.sparkfun.com/datasheets/LCD/HD44780.pdf HD44780] | |||
|- | |||
| 5 || 1 || Piezo Buzzer || Aktiver Buzzer 5V || XX,XX€ || [https://components101.com/misc/buzzer-pinout-working-datasheet Components101 Buzzer] | |||
|- | |||
| 6 || 1 || Power LED || 3mm LED rot || XX,XX€ || [https://www.futurlec.com/LED/LED3mmRed.shtml 3mm Red LED] | |||
|- | |||
| 7 || 1 || Reset LED || 3mm LED blau || XX,XX€ || [https://www.make-it.ca/nodemcu-arduino/3mm-led/ 3mm LED Specs] | |||
|- | |||
| 8 || X || Widerstand || XΩ || XX,XX€ || - | |||
|- | |||
| 9 || 1 || Gehäuse || 3D-Druck PLA || XX,XX€ || - | |||
|- | |||
| 10 || 1 || USB Powerbank || 5V 5000mAh || XX,XX€ || [https://www.adafruit.com/product/4288 Adafruit 5000mAh] | |||
|- | |||
| 11 || 1 || Verkabelung || Jumper Wires, Platine || XX,XX€ || - | |||
|- | |||
| || || '''Gesamtkosten:''' || || '''XX,XX€''' || | |||
|} | |||
=== Technische Komponentenspezifikation === | |||
'''Arduino Uno R3''' | |||
* '''Funktion:''' Zentrale Steuereinheit für alle Komponenten | |||
* '''Mikrocontroller:''' ATmega328P (16 MHz) | |||
* '''Digitale I/O:''' 14 Pins (6 PWM-fähig) | |||
* '''Analoge Inputs:''' 6 Pins | |||
* '''Speicher:''' 32 KB Flash, 2 KB SRAM | |||
* '''Verwendete Schnittstellen:''' Digital I/O, I²C, SPI | |||
'''Rotary Encoder (KY-040)''' | |||
* '''Funktion:''' Farbpalettennavigation durch Drehbewegung | |||
* '''Ausgänge:''' CLK, DT (Quadraturencoder) | |||
* '''Rastung:''' 20 Schritte/Umdrehung | |||
* '''Auswertung:''' Interrupt-basierte Zählung (CLK/DT Flanken) | |||
'''2.8" TFT-Display (ILI9341)''' | |||
* '''Funktion:''' Visuelle Darstellung der Farbmischung und Zielfarbe | |||
* '''Auflösung:''' 240×320 Pixel | |||
* '''Schnittstelle:''' SPI (MOSI, SCK, CS, DC, RST) | |||
* '''Farbtiefe:''' 16-bit RGB (65.536 Farben) | |||
* '''Darstellung:''' Geteilter Bildschirm (50/50 für Ist/Soll-Farbe) | |||
'''20×4 LCD-Display (I²C)''' | |||
* '''Funktion:''' Textausgabe für Hinweise und Code | |||
* '''Schnittstelle:''' I²C (SDA, SCL) | |||
* '''I²C-Adresse:''' 0x27 oder 0x3F (konfigurierbar) | |||
* '''Zeichen:''' 20 Zeichen × 4 Zeilen | |||
'''Piezo-Buzzer''' | |||
* '''Funktion:''' Akustisches Feedback bei erfolgreicher Lösung | |||
* '''Typ:''' Passiver Buzzer | |||
* '''Frequenzbereich:''' 2-4 kHz | |||
* '''Ansteuerung:''' PWM-Signal (Pin 12) | |||
* '''Tonsequenz:''' Erfolgssignal (z.B. C-E-G Akkord) | |||
'''Power LED (Rot)''' | |||
* '''Funktion:''' Anzeige des Betriebszustands (Ein/Aus) | |||
* '''Typ:''' 3mm Standard-LED | |||
* '''Farbe:''' Rot | |||
* '''Vorwiderstand:''' 220Ω | |||
'''Reset LED (Blau)''' | |||
* '''Funktion:''' Anzeige des Reset-Status | |||
* '''Typ:''' 3mm Standard-LED | |||
* '''Farbe:''' Blau | |||
* '''Vorwiderstand:''' 220Ω | |||
== Umsetzung (HW/SW) == | == Umsetzung (HW/SW) == | ||
Version vom 4. Oktober 2025, 10:12 Uhr
| Autoren: | Dominique Kamdem und Tatiana Kouomo Tchengang |
| Betreuer: | Prof. Schneider oder Prof. Göbel oder Marc Ebmeyer |
Einleitung
Das „Chromatic Lock“ ist ein Rätsel für Escape‑Games, das die Spieler mit Farben herausfordert. Ziel ist es, durch geschicktes Drehen an drei Reglern die richtige Farbkombination zu finden. Auf dem Weg dorthin erhalten die Spieler Hinweise, die je nach Schwierigkeitsstufe von einfachen Farbnamen bis zu abstrakten oder historischen Bezügen reichen. Wird die gesuchte Farbe getroffen, erscheint ein Code, der für den weiteren Spielverlauf benötigt wird. Mit einer Spieldauer von etwa fünf Minuten ist das Rätsel kompakt, leicht verständlich und vielseitig einsetzbar von Einstiegsstufe bis zu fordernden Niveau für erfahrene Spieler.
Anforderungen
| ID | Inhalt | Prio | Ersteller | Datum | Geprüft von | Datum |
|---|---|---|---|---|---|---|
| 01 | Die Stromversorgung muss über eine wiederaufladbare Powerbank (5V, 5000mAh+) erfolgen. | high | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 02 | Der Arduino muss drei Rotary Encoder auslesen und deren Drehrichtung sowie Tastendruck erkennen können. | high | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 03 | Das System muss für jeden Farbkanal (R, G, B) eine vordefinierte Palette von 5-6 Farbstufen bereitstellen. | high | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 04 | Das 2.8" TFT-Display muss oben die aktuelle Mischung (AKTUELL) und unten die Zielfarbe (ZIEL) anzeigen. | high | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 05 | Das 20×4 LCD muss kontextabhängige Hinweise basierend auf Schwierigkeitsgraden anzeigen. | high | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 06 | Das System muss die gewählte Farbkombination mit einer vordefinierten Zielfarbe vergleichen und bei Übereinstimmung einen Match erkennen. | high | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 07 | Die Zielfarbe muss zufällig generiert werden und alle Schwierigkeitsgrade müssen gelöst werden. | high | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 08 | Bei erfolgreichem Farbmatch muss ein vierstelliger Code auf dem LCD angezeigt werden, begleitet von einer Glückwunschnachricht. | high | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 09 | Das System muss über einen Reset-Taster auf der Front für die Spielleitung und einen seitlichen Ein-/Aus-Schalter verfügen. | high | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 10 | Das System muss über eine rote LED für Ein-/Aus-Status (Stromversorgung) und eine blaue LED für Reset verfügen. | low | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 11 | Das System muss akustisches Feedback über einen Piezo-Buzzer bei Erfolg und Fehlversuchen geben. | low | D. Kamdem, T. Kouomo | 03. 10. 2025 | ||
| 12 | Das System muss in einem kompakten 3D-gedruckten Gehäuse untergebracht werden. | low | D. Kamdem, T. Kouomo | 03. 10. 2025 |
Funktionaler Systementwurf
Das System ist als Farbcode‑Rätsel aufgebaut, das in mehreren Schritten abläuft:
- Initialisierung: Beim Start werden Zielfarbe und Hinweise geladen und angezeigt.
- Eingabe: Spieler wählen über drei Drehgeber diskrete Werte für Rot, Grün und Blau.
- Anzeige:
- TFT zeigt aktuelle Mischung und Zielfarbe.
- LCD gibt Hinweise abhängig vom Schwierigkeitsgrad und zeigt im Erfolgsfall den vierstelligen Code.
- Vergleich: Die aktuelle Farbmischung wird mit der Zielfarbe innerhalb einer Toleranz verglichen.
- Feedback: Akustisches Signal über Buzzer und visuelles Signal über LED.
- Erfolg: Bei Übereinstimmung erscheint der Code, begleitet von Feedback.
- Reset: Über einen Taster kann das System zurückgesetzt werden; ein Schalter steuert die Stromversorgung.
Die Kernfunktionen sind damit: Eingabe von Farbwerten, Anzeige von Informationen, Vergleich mit der Zielfarbe, Ausgabe von Rückmeldungen und Code sowie Rücksetzung des Systems.
Technischer Systementwurf
Die technische Umsetzung basiert auf einer Hardware‑ und Softwarearchitektur:
Hardwarearchitektur:
Steuereinheit: Arduino Uno R3 als zentrale Logik.
Eingabe: Drei Rotary Encoder (KY‑040) für die RGB‑Werte.
Ausgabe:
- TFT‑Display (2.8″, SPI) für aktuelle Mischung und Zielfarbe.
- LCD (20×4, I²C) für Hinweise und Code.
- Piezo‑Buzzer für akustisches Feedback.
- Status‑LED für visuelle Rückmeldung.
Bedienung: Reset‑Taster auf der Front, seitlicher Ein-/Aus‑Schalter.
Stromversorgung: USB‑Powerbank(5 V, ≥5000 mAh).
Gehäuse: 3D‑gedruckt, ca. 150 × 100 mm, mit Aussparungen für Bedienelemente.
Softwarearchitektur:
- Arduino IDE für Encoder‑Auswertung, Farbpalettenverwaltung, Vergleichslogik, Displaysteuerung und Codegenerierung.
- Simulink zur Modellierung des Signalflusses (Encoder → Farblogik → Vergleich → Ausgabe).
Komponentenspezifikation
Material und Stückliste
| ID | Anzahl | Komponente | Technische Bezeichnung | Kosten | Datenblatt |
|---|---|---|---|---|---|
| 1 | 1 | Mikrocontroller-Board | Arduino UNO R3 | XX,XX€ | Arduino Uno R3 |
| 2 | 3 | Rotary Encoder | KY-040 Drehgeber | XX,XX€ | KY-040 |
| 3 | 1 | TFT Display | 2.8" SPI TFT 240x320 | XX,XX€ | ILI9341 |
| 4 | 1 | LCD Display | 20x4 I²C LCD HD44780 | XX,XX€ | HD44780 |
| 5 | 1 | Piezo Buzzer | Aktiver Buzzer 5V | XX,XX€ | Components101 Buzzer |
| 6 | 1 | Power LED | 3mm LED rot | XX,XX€ | 3mm Red LED |
| 7 | 1 | Reset LED | 3mm LED blau | XX,XX€ | 3mm LED Specs |
| 8 | X | Widerstand | XΩ | XX,XX€ | - |
| 9 | 1 | Gehäuse | 3D-Druck PLA | XX,XX€ | - |
| 10 | 1 | USB Powerbank | 5V 5000mAh | XX,XX€ | Adafruit 5000mAh |
| 11 | 1 | Verkabelung | Jumper Wires, Platine | XX,XX€ | - |
| Gesamtkosten: | XX,XX€ |
Technische Komponentenspezifikation
Arduino Uno R3
- Funktion: Zentrale Steuereinheit für alle Komponenten
- Mikrocontroller: ATmega328P (16 MHz)
- Digitale I/O: 14 Pins (6 PWM-fähig)
- Analoge Inputs: 6 Pins
- Speicher: 32 KB Flash, 2 KB SRAM
- Verwendete Schnittstellen: Digital I/O, I²C, SPI
Rotary Encoder (KY-040)
- Funktion: Farbpalettennavigation durch Drehbewegung
- Ausgänge: CLK, DT (Quadraturencoder)
- Rastung: 20 Schritte/Umdrehung
- Auswertung: Interrupt-basierte Zählung (CLK/DT Flanken)
2.8" TFT-Display (ILI9341)
- Funktion: Visuelle Darstellung der Farbmischung und Zielfarbe
- Auflösung: 240×320 Pixel
- Schnittstelle: SPI (MOSI, SCK, CS, DC, RST)
- Farbtiefe: 16-bit RGB (65.536 Farben)
- Darstellung: Geteilter Bildschirm (50/50 für Ist/Soll-Farbe)
20×4 LCD-Display (I²C)
- Funktion: Textausgabe für Hinweise und Code
- Schnittstelle: I²C (SDA, SCL)
- I²C-Adresse: 0x27 oder 0x3F (konfigurierbar)
- Zeichen: 20 Zeichen × 4 Zeilen
Piezo-Buzzer
- Funktion: Akustisches Feedback bei erfolgreicher Lösung
- Typ: Passiver Buzzer
- Frequenzbereich: 2-4 kHz
- Ansteuerung: PWM-Signal (Pin 12)
- Tonsequenz: Erfolgssignal (z.B. C-E-G Akkord)
Power LED (Rot)
- Funktion: Anzeige des Betriebszustands (Ein/Aus)
- Typ: 3mm Standard-LED
- Farbe: Rot
- Vorwiderstand: 220Ω
Reset LED (Blau)
- Funktion: Anzeige des Reset-Status
- Typ: 3mm Standard-LED
- Farbe: Blau
- Vorwiderstand: 220Ω
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