Zurück zur Startseite

Reaktionsspiel auf ATmega32 für zwei Spieler

Zweite Version des Reaktions-Gadgets auf ATmega32 fügt drei LEDs pro Spieler, Zählen bis drei und Animation hinzu. Beschreibt Schaltplan, Löten, Firmware-Logik und Vergleich mit Prototyp auf ATmega328P. Geeignet für mittlere/senior Embedded-Entwickler.

DIY-Reaktor auf ATmega32: Verbesserungen und Schaltplan
Advertisement 728x90

Verbessertes Zwei-Spieler-Reaktionsspiel auf ATmega32: Vom Prototyp zur Serienfertigung

Entwickler eingebetteter Systeme beginnen oft mit einfachen Prototypen auf dem ATmega328P, aber für die Skalierung wechseln sie zu leistungsstärkeren Mikrocontrollern wie dem ATmega32. Die zweite Version dieses Zwei-Spieler-Reaktionstrainers nutzt genau das: Sie erhöht die Anzahl der Anzeigen, fügt Animationen hinzu und zählt bis zu drei Siege. Das Löten erfolgt mit Flussmittelpaste, und die Platine erfordert eine Nachbearbeitung für Sauberkeit – optimale Methoden umfassen Isopropylalkohol mit Ultraschallbad oder spezielle Flussmittelreiniger.

Die Schlüsselanhänger-Geometrie bleibt kompakt für die Hosentasche. Auf der Vorderseite gibt es eine Seidenschicht mit Herzen als Punkteanzeige; auf der Rückseite das Projektlogo.

Visualisierung und Hardware

Jeder Spieler erhält drei LEDs unter seinem Knopf: blau für den ersten, rot für den zweiten. Eine zentrale grüne LED signalisiert den Start. Das Schaltbild ist in den Gerber-Dateien des Projekts verfügbar, und die 3D-Visualisierung bestätigt die Ergonomie.

Google AdInline article slot

![PCB-Projekt](./images/image-4.jpg)

![3D-Render Vorderseite](./images/image-5.PNG)

![3D-Render Rückseite](./images/image-6.PNG)

Google AdInline article slot

![Vollständiges Schaltbild](./images/image-7.png)

Spiel-Logik und Firmware

Das Spiel implementiert eine Reaktion auf einen visuellen Reiz mit zufälliger Verzögerung. Die Firmware auf dem ATmega32 steuert:

  • Eine blinkende grüne LED zur Vorbereitung.
  • Erkennung des ersten Knopfdrucks.
  • Animation blinkender LEDs am Ende einer Runde.
  • Eine Sieg-Zählung bis zu drei.

Regeln in Pseudocode:

Google AdInline article slot
  • while (game_not_started) { blink(green_LED, random_delay); }
  • delay(random(100-500ms)); light(green_LED);
  • if (button1_press < button2_press) { score1++; animation(blue_LEDs); } else { score2++; animation(red_LEDs); }
  • if (score1 == 3 || score2 == 3) { final_animation(); reset(); }

Die Firmware ist für niedrigen Stromverbrauch optimiert, wobei AVR-Timer genaue Verzögerungen ohne Blockierung gewährleisten.

Versionsvergleich

| Parameter | Version 1 (ATmega328P) | Version 2 (ATmega32) |

|-----------|------------------------|----------------------|

| LEDs pro Spieler | 1 | 3 |

| Punktezählung | Bis zu 1 | Bis zu 3 |

| Animation | Keine | Blinkeffekte |

| Seidenschicht | Keine | Vollständig (Herzen, Logo) |

| Löten | Einfach | Paste + Flussmittel |

Der Wechsel zum ATmega32 bot mehr Pins für Erweiterungen, 32 KB Flash im Vergleich zu 32 KB beim 328P, aber mit besseren Peripheriegeräten.

Montageempfehlungen

  • Verwenden Sie 0,5 mm Lötpaste für SMD-Bauteile.
  • Nach dem Löten: Reinigen Sie in einem Ultraschallbad mit 99% Isopropylalkohol für 5–10 Minuten.
  • Testen Sie die Zeiten mit einem Oszilloskop: Die Verzögerung sollte gleichmäßig zufällig sein.
  • Für die Firmware: avrdude mit USBasp, Fuse-Bits für 16 MHz interner Oszillator.

Erweiterung: Fügen Sie einen Summer für Audio-Feedback oder Bluetooth für Punkte in einer App hinzu.

Wichtige Erkenntnisse

  • Skalierung des Prototyps: Der Wechsel von einer LED zu drei mit Animation steigert das Engagement, ohne die Schaltung zu komplizieren.
  • Vorteile des ATmega32: Mehr GPIO, UART zum Debuggen, geeignet für Mehrspieler.
  • SMD-Löten: Flussmittelreinigung ist entscheidend für die Langlebigkeit; vermeiden Sie no-clean ohne Nachbearbeitung.
  • Reaktionszeiten: Zufällige Verzögerung von 100–500 ms ahmt reale Szenarien nach.
  • Firmware-Struktur: Nicht-blockierende Schleifen auf Timern für Reaktionsfähigkeit.

— Editorial Team

Advertisement 728x90

Weiterlesen