# 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