01_atmega328_lauflicht

Stage 1 - Hello World, Assembler:

  • Kompilieren und Flashen via Shell-Skript
  • LED Reihe via Assembler aufleuchten lassen

Stage 2 - Timer Integration:

  • Hardcodiertes Lauflicht L2R Richtung
  • Hardcodiertes Lauflicht R2L Richtung

Stage 3 - Statuswechsel via Hardware Interaktion:

  • Richtungswechsel via Taster Klick
  • Animation läuft unbeirrt weiter bei Taster-Klick
  • Wechsel von L2R auf R2L bei Taster-Links-Klick
  • Wechsel von R2L auf L2R bei Taster-Rechts-Klick

Stage 4 - Erweiterte Status Abhandlung (Anzahl Status > 2):

  • 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
Description
No description provided
Readme 50 KiB
Languages
Assembly 97.2%
Shell 2.8%