Der Zahnputztimer ist ein interaktives Gerät, das Kindern und Erwachsenen dabei hilft, die empfohlene Putzzeit von 3 Minuten einzuhalten. Basierend auf einem ESP32-Mikrocontroller steuert das Gerät einen WS2812B LED-Ring mit 35 LEDs, der die Zeit in vier Quadranten (je 45 Sekunden) visualisiert. Ein grüner Taster startet den Timer, ein roter Taster bricht ihn ab. Ein passiver Summer gibt akustisches Feedback, und am Ende wird eine Super-Mario-Melodie als Belohnung abgespielt. Das Gehäuse wird 3D-gedruckt und bietet Platz für alle Komponenten.
Hardware-Komponenten
- Mikrocontroller: ESP32-basierter Mikrocontroller. ESP32 auf Amazon
- WS2812B LED-Ring: 35 LEDs für visuelles Feedback. LED-Ring auf Amazon
- Taster: Grüner Taster (Start) und roter Taster (Abbruch). Taster auf Amazon
- Summer: Passiver Summer für Töne und Melodien. Summer auf Amazon
- 3D-gedrucktes Gehäuse: Maßgeschneidertes Gehäuse für LED-Ring, Taster, Summer und ESP32 (STL-Datei separat verfügbar).
- Zusätzliche Materialien: Verbindungskabel, Batteriegehäuse (z.B. 3x AAA). Batteriegehäuse auf Amazon
Anschlussplan
| Komponente | Anschluss am ESP32 | Beschreibung |
|---|---|---|
| WS2812B LED-Ring | GPIO 15 | Datenleitung für die Steuerung des LED-Rings (35 LEDs). |
| 5V | Stromversorgung für den LED-Ring. | |
| GND | Masseverbindung für den LED-Ring. | |
| Grüner Taster | GPIO 4 | Eingangs-Pin mit internem Pull-up-Widerstand (startet Timer). |
| GND | Masseverbindung für den Taster. | |
| Roter Taster | GPIO 5 | Eingangs-Pin mit internem Pull-up-Widerstand (bricht Timer ab). |
| GND | Masseverbindung für den Taster. | |
| Summer | GPIO 12 | Ausgang für Töne und Melodien. |
| GND | Masseverbindung für den Summer. | |
| ESP32 Stromversorgung | VIN / 5V | Stromversorgung für den Mikrocontroller (z.B. über Batteriegehäuse). |
| GND | Masseverbindung für den Mikrocontroller. |
Hinweise
- Pull-up-Widerstände: Interne Pull-up-Widerstände des ESP32 für Taster verwendet (INPUT_PULLUP).
- Stromversorgung: Externe 5V-Stromquelle für den LED-Ring bei hohem Strombedarf empfohlen.
- Summer: Passiver Summer, kompatibel mit 3.3V oder 5V, für Töne und Melodien.
Software
Die Software wurde in C++ für die Arduino-Plattform geschrieben und nutzt folgende Bibliotheken:
- Adafruit_NeoPixel: Steuerung des WS2812B LED-Rings.
Funktionen
- Timer-Logik: 3-Minuten-Timer, aufgeteilt in 4 Quadranten (je 45 Sekunden), visualisiert durch LED-Ring.
- Visuelles Feedback: LED-Ring zeigt Fortschritt in vier Farben (Rot, Grün, Blau, Gelb) für die Quadranten.
- Akustisches Feedback: Piepton bei Quadrantenwechsel, Super-Mario-Melodie bei Abschluss.
- Startanimation: Grünes Lauflicht im Uhrzeigersinn bei Systemstart.
- Abschlussanimation: Grünes Blinken und Super-Mario-Melodie als Belohnung.
- Abbruch-Funktion: Roter Taster zeigt Abbruch durch roten LED-Ring und 1-Sekunden-Ton.
Aufbau und Verkabelung
Die Komponenten sind wie im Anschlussplan verkabelt. Das 3D-gedruckte Gehäuse bietet Platz für:
- LED-Ring an der Oberseite für Sichtbarkeit.
- Grüner und roter Taster zugänglich für die Bedienung.
- Summer und ESP32 sicher im Inneren.
Installation und Inbetriebnahme
- 3D-Druck: STL-Datei für das Gehäuse drucken (0.2 mm Schichthöhe, PLA).
- Hardware-Montage: Komponenten im Gehäuse befestigen und gemäß Anschlussplan verkabeln.
- Software-Installation:
- Arduino IDE und ESP32-Board-Unterstützung installieren.
- Bibliothek (Adafruit_NeoPixel) herunterladen.
- Code in die Arduino IDE kopieren und auf den ESP32 laden.
- Testen:
- Gerät einschalten; Startanimation (grünes Lauflicht) und Piepton sollten ablaufen.
- Timer starten (grüner Taster): LED-Ring zeigt Fortschritt, Piepton bei Quadrantenwechsel.
- Timer abbrechen (roter Taster): Roter Ring und 1-Sekunden-Ton.
- Abschluss testen: Grünes Blinken und Super-Mario-Melodie nach 3 Minuten.
Herausforderungen und Lösungen
- Energieverbrauch: Helligkeit des LED-Rings auf 8% reduziert (strip.setBrightness(20)).
- Taster-Entprellung: Software-Debouncing durch 200ms-Verzögerung.
- Melodie: Vereinfachtes Super-Mario-Theme für Belohnung implementiert.
- Benutzerfreundlichkeit: Klare visuelle und akustische Signale für Timerstart, -fortschritt und -ende.
Fazit
Der Zahnputztimer ist ein motivierendes und interaktives Gerät, das das Zähneputzen durch visuelles und akustisches Feedback spannender macht. Die Kombination aus LED-Ring, Tastern und Summer in einem 3D-gedruckten Gehäuse bietet eine einfache und effektive Lösung, um die empfohlene Putzzeit einzuhalten. Das Projekt ist anpassbar und erweiterbar durch Open-Source-Bibliotheken und 3D-Druck.
3D-Druck-Datei: 3MF Projekt siehe Links