52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
# 01_atmega328_lauflicht
|
|
|
|
## Stage 1 - Hello World, Assembler:
|
|
|
|
- [x] Kompilieren und Flashen via Shell-Skript
|
|
- [x] LED Reihe via Assembler aufleuchten lassen
|
|
|
|
## Stage 2 - Timer Integration:
|
|
|
|
- [x] Hardcodiertes Lauflicht L2R Richtung
|
|
- [x] Hardcodiertes Lauflicht R2L Richtung
|
|
|
|
## Stage 3 - Statuswechsel via Hardware Interaktion:
|
|
|
|
- [x] Richtungswechsel via Taster Klick
|
|
- [x] Animation läuft unbeirrt weiter bei Taster-Klick
|
|
- [x] Wechsel von L2R auf R2L bei Taster-Links-Klick
|
|
- [x] Wechsel von R2L auf L2R bei Taster-Rechts-Klick
|
|
|
|
## Stage 4 - Erweiterte Status Abhandlung (Anzahl Status > 2):
|
|
|
|
- [x] Animation stoppt wenn beide Taster simultan gedrückt sind
|
|
|
|
## Stage 5 - Willkommen in der Analogen MCU-Welt:
|
|
|
|
- [ ] Geschwindigkeit via Poti steuern
|
|
|
|
## Stage 6 - Gray-Code Handling kann auch nicht schaden:
|
|
|
|
- [ ] Modi umschalten via Encoder-Taster
|
|
- [ ] Mode 1: autom. Lauflicht
|
|
- [ ] Mode 2: manuelles Lauflicht gesteuert via Encoder-Drehung
|
|
|
|
## Stage 7 - Pin Reduzierung:
|
|
|
|
- [ ] LEDs via Charlieplexing betreiben um Pin-Anzahl von 8 auf 4 zu reduzieren
|
|
- [ ] Standard-LEDs durch einzel adressierbare RGB-LEDs austauschen um so die Daten-Pin-Anzahl auf 1 zu reduzieren
|
|
|
|
## Stage 8 - Lass uns ein Spiel spielen:
|
|
|
|
- [ ] Mode 3: 1-Dimensionales Pong Spiel
|
|
- [ ] Wenn das Lauflicht (LL) das linke/rechte Ende erreicht, muss der jeweilige Button rechtzeitig gedrückt werden um die Laufrichtung umzukehren.
|
|
- [ ] Wenn das LL durchläuft bekommt der Gegner einen Punkt
|
|
- [ ] Punktestände werden mit zwei einzelnen 7-Segmentanzeigen visualisiert
|
|
- [ ] Wer zuerst 10 Punkte erreicht gewinnt
|
|
- [ ] ToDo: Sieges-Animation bestimmen z.B. Farbenspiel der LL-LEDs oder Kreisanimation der 7-Segmentanzeige
|
|
|
|
## Stage 9 - Mal was für's Auge (SPI & I2C):
|
|
|
|
- [ ] Zeige aktuellen Modus auf LCD an
|
|
- [ ] Zeige aktuellen Modus auf OLED an
|