Escape Game: Chromatic Lock: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
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

Tabelle 1: Anforderungen an das Chromatic Lock System
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

Tabelle: Materialliste für Beschaffung
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 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