Pico-W-gesteuerte viktorianische Bühnenuhr: MicroPython-Firmware, Expo-App für die Bühnentechnik, Verdrahtung als Code (WireViz + Anleitungs-Generator), DMX-Anbindung geplant
- HTML 81.7%
- Python 11.9%
- TypeScript 5.2%
- JavaScript 1.1%
- CSS 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| app | ||
| docs | ||
| firmware | ||
| hardware | ||
| transcripts/session-export-1785680000707 | ||
| .gitignore | ||
| CLAUDE.md | ||
| README.md | ||
Stageclock
Eine viktorianische Requisiten-Uhr, deren Zeiger von einem Raspberry Pi Pico W über einen Schrittmotor gestellt werden — gesteuert von der Bühnentechnik per App, mit Preset-Zeiten für die Szenen des Stücks und normalem Uhrlauf dazwischen.
├── firmware/ MicroPython für den Pico W (Motor, Homing, HTTP-API)
│ └── sim/ Desktop-Simulator derselben API (App-Entwicklung ohne Hardware)
├── app/ Expo-App (React Native) für die Bühnentechnik
├── hardware/ Verdrahtung als Code (WireViz) → stageclock.svg/png + BOM
└── docs/ Stückliste (BOM.md / BOM.pdf), DMX-Brief (DMX.md)
Übergabe / aktueller Stand: siehe CLAUDE.md (Orientierung, offene Punkte) und docs/DMX.md (neue Anforderung: Steuerung aus der Lichtpult-Sequenz über Arduino Mega + DMX-Shield).
Schnellstart ohne Hardware
python3 firmware/sim/simulator.py # API-Simulator auf :8342
cd app && npm install && npm run web # App im Browser, verbindet sich automatisch
Mit Hardware
- Einkaufen nach docs/BOM.md, verdrahten nach hardware/stageclock.svg.
- Firmware flashen: siehe firmware/README.md.
- Handy mit dem WLAN
stageclockverbinden, App starten — fertig.
Verdrahtungsdiagramme neu erzeugen
Harness-Diagramm (WireViz):
brew install graphviz
cd hardware && uv run --with wireviz wireviz stageclock.yml
Schritt-für-Schritt-Anleitung (SVG/PNG + interaktiver Web-Assistent hardware/instructions/index.html — im Browser öffnen):
cd hardware/instructions && DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib uv run generate.py
Kalibrierung (Zeiger ↔ Zifferblatt)
In der App unter Einstellungen: Homing starten, dann mit den Nudge-Tasten die Zeiger exakt auf 12:00 stellen und den Offset dauerhaft speichern. Details in firmware/README.md.