Zpět na domů

Reakční hra na ATmega32 pro dva hráče

Druhá verze reakčního gadžetu na ATmega32 přidává tři LED na hráče, počítání do tří a animaci. Popsáno schéma, pájení, firmware logika a srovnání s prototypem na ATmega328P. Vhodné pro middle/senior embedded vývojáře.

DIY reakční hra na ATmega32: vylepšení a schéma
Advertisement 728x90

Vylepšený dvouhráčský reaktor na ATmega32: od prototypu k sériové výrobě

Vývojáři vestavěných systémů často začínají s jednoduchými prototypy na ATmega328P, ale pro škálování přecházejí k výkonnějším mikrokontrolérům jako ATmega32. Druhá iterace reakčního trenažéru pro dva hráče využívá právě tento čip: zvýšen počet indikátorů, přidána animace a počítání do tří vítězství. Pájení je provedeno pastou s tavidlem, deska vyžaduje dodatečné čištění pro čistotu – optimální metody zahrnují izopropylalkohol s ultrazvukovou lázní nebo specializované čističe tavidla.

Geometrie přívěsku zůstala kompaktní pro nošení v kapse. Na přední straně je potisk se srdíčky jako indikátory bodů, na zadní straně logo projektu.

Vizualizace a hardwarová část

Každý hráč dostal tři LED diody pod tlačítkem: modré pro prvního, červené pro druhého. Centrální zelená LED signalizuje start. Schéma je dostupné v Gerber souborech projektu, 3D vizualizace potvrzuje ergonomii.

Google AdInline article slot

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

![3D-render přední strany](./images/image-5.PNG)

![3D-render zadní strany](./images/image-6.PNG)

Google AdInline article slot

![Úplné schéma](./images/image-7.png)

Herní logika a firmware

Hra implementuje reakci na vizuální podnět s náhodným zpožděním. Firmware na ATmega32 řídí:

  • Blikající zelenou LED pro přípravu.
  • Zachycení prvního stisku tlačítka.
  • Animaci blikajících LED po skončení kola.
  • Počítadlo vítězství do tří.

Pravidla v pseudokódu:

Google AdInline article slot
  • while (hra_nezačala) { blikat(zelená_LED, náhodné_zpoždění); }
  • zpoždění(náhodné(100-500ms)); rozsvítit(zelená_LED);
  • if (tlačítko1_stisk < tlačítko2_stisk) { bod1++; animace(modré_LED); } else { bod2++; animace(červené_LED); }
  • if (body1 == 3 || body2 == 3) { finální_animace(); reset(); }

Firmware je optimalizován pro nízkou spotřebu energie, časovače AVR zajišťují přesnost zpoždění bez blokování.

Porovnání verzí

| Parametr | Verze 1 (ATmega328P) | Verze 2 (ATmega32) |

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

| LED na hráče | 1 | 3 |

| Počítání | Do 1 | Do 3 |

| Animace | Ne | Blikající efekty |

| Potisk | Ne | Úplný (srdíčka, logo) |

| Pájení | Základní | Pasta + tavidlo |

Přechod na ATmega32 poskytl více pinů pro rozšíření, 32 KB Flash oproti 32 KB u 328P, ale s lepší periferií.

Doporučení pro montáž

  • Použijte pájecí pastu 0,5 mm pro SMD součástky.
  • Po pájení: čištění v ultrazvukové lázni s 99% izopropylalkoholem 5–10 min.
  • Testujte časování osciloskopem: zpoždění by mělo být rovnoměrně náhodné.
  • Pro firmware: avrdude s USBasp, fuse-bity pro 16 MHz interní oscilátor.

Rozšíření: přidat bzučák pro audio zpětnou vazbu nebo Bluetooth pro skóre v aplikaci.

Co je důležité

  • Škálování prototypu: Od jedné LED ke třem s animací zvyšuje zapojení bez komplikování schématu.
  • Výhody ATmega32: Více GPIO, UART pro ladění, vhodné pro více hráčů.
  • Pájení SMD: Čištění tavidla je klíčové pro životnost; vyhněte se no-clean bez dodatečného čištění.
  • Časování reakce: Náhodné zpoždění 100–500 ms napodobuje reálné scénáře.
  • Struktura firmware: Non-blocking smyčky na časovačích pro rychlou odezvu.

— Editorial Team

Advertisement 728x90

Číst dál