» Elektronika »Miniaturní herní konzole s hrou Pong

Miniaturní herní konzole s hrou Pong

Zdravím obyvatelům našich stránek!
Dnes máme projekt s mikro herní konzolí, který může kdokoli opakovat.


Potřebné materiály a komponenty:








Tato příručka byla převzata z kanálu AlexGyver YouTube. Mikrokontrolér pro tento projekt potřebuje toto:


Toto je Attiny85 v balíčku DIP, bude nám to stačit. Aby nedošlo k pájení, vezmeme tzv. Zásuvku.

Potřebujeme také displej s Aliexpress, OLED s rozlišením 128 x 32 pixelů.


Špendlíky také přijdou vhod.

Tlačítka, která zde použijeme, jsou:

Můžete si samozřejmě vzít klávesnice, ale budou muset být dokončeny, ale já opravdu nechci řezat a pájet. Prostor pro baterie je tohoto typu:

A my sestavíme naši herní konzoli s prkénkem (pokud si budete přát, můžete si vyrobit desku sami). Blikáme programátor USBasp, ale jakýkoli AVR to udělá.

Schéma zapojení Složky budou následující:

Displej se připojuje na piny sběrnice I2C mikrokontroléru. Připojujeme tlačítka k dalším volným kolíkům. Také přidejte přepínač pro zapnutí / vypnutí systému. A v podstatě je to všechno, zbývá jen připojit napájení.
Firmware nahraje programátor do mikrokontroléru podle následujícího schématu:
Miniaturní herní konzole s hrou Pong

Nyní začneme s montáží a uspořádáme všechny prvky na prkénku. Zkusme se shromáždit a uvidíme, jak to všechno vypadá.


Ukázalo se to docela asketicky. Není to špatné. Přebytečnou část prkénku lze odřezat.


Nyní opravujeme všechny komponenty pouhým pájením jejich nohou.



Nyní musíte spojit závěry podle schématu. Za tímto účelem autor doporučuje použít tenký čínský montážní drát.

A pro větší pohodlí můžete použít tento zrcadlený diagram připojení.

Tyto dráty mají tak tenkou izolaci, že je můžete přímo pájet. Izolace sama se roztaví a drát bude pájen.

Poté pokračujte v utěsňování prostoru pro baterii a spínače. Komora musí být dodatečně upevněna horkou lepicí pistolí.


To je vše, systém je sestavený, zbývá stáhnout firmware. „Kámen“ budeme blikat zvlášť připojením k programátoru na prkénku.


Firmware, stejně jako u všech projektů autora, je veřejně přístupný a lze jej stáhnout z webu. Na stránce projektu najdete také diagram a všechny další potřebné informace o tomto projektu.

Nebudeme se podrobně zabývat stahováním, pokud něco není jasné, pak se vždy můžete podívat na podrobné pokyny pro autora.
Pro firmware stačí nainstalovat Arduino Nainstalujte jádro pro práci s mikrokontroléry řady Attiny, vyberte desku, zvolte programátora.


Poté vybereme kmitočet 8 nebo 16 MHz, otevřete záložku „Tools“, najděte a vyberte „Load Loader“.

Neexistuje žádný zavaděč, ale mikrokontrolér bude naladěn na požadovanou frekvenci. Poté vyberte záložku „Skica“ - „stáhnout pomocí programátoru“. A počkáme, až bude náčrtek načten do mikrokontroléru.

Nyní vyjmeme „kámen“ a vložíme ho do srdce naší mini herní konzole.


Jak vidíte, funguje to! A nyní se blíže podíváme na to, co máme ve firmwaru. ATtiny85 je mikrokontrolér s 512 bajty paměti RAM, což je velmi malé. 99% knihoven pro práci s takovým displejem používá vyrovnávací paměť na straně mikrokontroléru pro správné překreslení obrázku, protože tento displej neumí číst data ze své vlastní vyrovnávací paměti a mimochodem je tam.

Vyrovnávací paměť pro toto zobrazení 128 * 32 pixelů zabere 512 bajtů, pokud si chceme pamatovat stav každého bitu, tj. Pixel.
Kromě vyrovnávací paměti musíme také ukládat další data, takže tato možnost se určitě nevejde do paměti takové velikosti.

Proto bylo rozhodnuto snížit rozlišení displeje na 64 * 16 pixelů pomocí vyrovnávací paměti čtverců 4 pixelů.

Autor s tímto displejem pracoval přímo a podařilo se mu jeho myšlenku úspěšně implementovat. Skica by se mohla hodit pro někoho, kdo chce s tímto displejem pracovat pomocí Attiny.


Nyní, pokud jde o samotnou hru. Funguje to docela jednoduše. Míč se pohybuje na samostatném časovači, pohyb spočívá v vymazání bodu se stejnými souřadnicemi a přidání nového bodu do nových souřadnic.

Výpočet souřadnic je jednoduše přičtením hodnot rychlosti ke souřadnicím v zobrazovacím systému.
Když míč přesáhne vodorovné stěny, jednoduše se od nich odrazí a změní svislou složku rychlosti na opačnou, tj. Se znaménkem minus (-).

Kromě toho program kontroluje svislé hranice hracího pole, pokud míč zasáhne raketu (dobře nebo cokoli, čemu říkáte správně), pak se odrazí a úhel odrazu je náhodný.
Pokud koule zlomí zeď za raketou, hráč ztratil aktuální kolo a soupeř dostane bod.

Pohyb rakety hráče je realizován stejným způsobem jako pohyb míče, to znamená, že stará raketa je vymazána a nová je nakreslena, již s novými souřadnicemi. Po kliknutí na tlačítko se souřadnice změní.
Ukazuje se tedy mnohem rychlejší než čištění celého displeje a opětovné vykreslení všech prvků.


Nyní pro soupeřovu raketu. Je řízen umělou inteligencí.

Umělá inteligence se samozřejmě hlasitě říká, ale přesto tato inteligence dělá velmi jednoduchou věc, konkrétně způsobuje, že se raketa pohybuje ve směru, kde je nyní míč, zatímco se snaží vyrovnat svůj střed podél svislé osy s vertikální souřadnicí míče. Aby opravdu takového soupeře porazil, autor ho zpomalil, to znamená, že vypočítá svůj další tah znovu časovačem, a proto nemusí mít čas chytit míč a tím ho odrazit.

Také ve hře implementována mechanika rostoucí složitosti. Každých 10 bodů ve prospěch hráče zvyšuje rychlost míče. Spolu s tím roste také reakční rychlost AI (soupeře).

Výsledkem je, že je to takový jednoduchý malý tenis. Ne nadarmo, tato videohra byla vyvinuta úplně první, protože ji může napsat i začínající programátor. Ale i přes zjevnou jednoduchost projektu trvalo rozruch s čínským displejem od autora asi 20 hodin čistého času. Zároveň nezohlednil čas, který strávil psaním kódu samotné hry a dalších pracovních postupů souvisejících s laděním a nastavením obvodu.



V této věci je samotný buzz procesem sestavování, nikoli aplikací.Vývoj her, i těch jednoduchých, může být opravdu docela zajímavý. Obzvláště když se je pokusíte strčit do velmi malého mikrokontroléru. A když vás čínský displej čeká za rohem ...

To je vše. Děkuji za pozornost. Uvidíme se brzy!

Video autora:
6.5
5.5
5.5

Přidejte komentář

    • úsměvúsměvyxaxaokdontknowyahoone
      šéfeškrábnutíhlupákanoano-anoagresivnítajemství
      promiňtanecdance2dance3prominoutpomocnápoje
      zastavitpřátelédobředobrá náladapískatlžícejazyk
      kouřtleskánícrayprohlásitvýsměšnýdon-t_mentionstáhnout
      teploirefulsmích1mdasetkánímoskingnegativní
      not_ipopcorntrestatčístvyděsitděsíhledat
      posměchděkujitototo_clueumnikakutnísouhlasím
      špatnévčelablack_eyeblum3červenat sechlubit senuda
      cenzurovánopleasantrysecret2hrozitvítězstvíyusun_bespectacled
      třástrespektlolprovedenívítejtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodibludzákazblízko
1 komentář
kečup
namísto plagiátorství by bylo lepší přijít s vlastním

Doporučujeme si přečíst:

Podejte to pro smartphone ...