» elektronika »Miniatűr játékkonzol Pong játékkal

Miniatűr játékkonzol Pong játékkal

Üdvözlet webhelyünk lakói!
Ma van egy projektünk egy mikro játékkonzollal, amelyet bárki megismételhet.


Szükséges anyagok és alkatrészek:








Ez a kézikönyv az AlexGyver YouTube csatornájából származik. A projekt mikrokontrollerének ehhez szüksége van:


Ez az Attiny85 a DIP csomagban, elég lesz nekünk. Annak elkerülése érdekében, hogy megforrasztjuk, vesszük az úgynevezett foglalatot.

Szükségünk van egy Aliexpress, OLED kijelzőre is, 128 x 32 pixel felbontással.


A csapok szintén hasznosak.

Az itt használt gombok:

Természetesen elvihet billentyűzeteket, de ezeket véglegesíteni kell, de nem igazán akarom vágni és forrasztani. Az elemtartó ilyen típusú:

És össze fogjuk állítani a játékkonzolunkat egy kenyérdeszkával (ha szeretné, saját maga is elkészítheti a táblát). Az USBasp programozót villogjuk, de minden AVR megteszi.

Kapcsolási rajz Az alkotóelemek a következők:

A kijelző csatlakozik a mikrovezérlő I2C busz csapjaihoz. A gombokat más szabad csapokhoz csatlakoztatjuk. Ehhez adjon még egy kapcsolót a rendszer be- és kikapcsolásához. És alapvetően ennyi, a tápellátás csatlakoztatása továbbra is fennáll.
A firmware a programozó által a következő séma szerint töltődik be a mikrokontrollerbe:
Miniatűr játékkonzol Pong játékkal

Most kezdjük el az összeszereléssel, és rendezzük el az összes elemet a kenyérlapon. Próbáljuk összeszerelni és nézzük meg, hogy néz ki ez az egész.


Meglehetősen aszketikusnak bizonyult. Nem rossz. A kenyérlemez felesleges részét le lehet vágni.


Most minden alkatrészt megjavítunk a lábak forrasztásával.



Most össze kell kapcsolnia a következtetéseket a séma szerint. E célból a szerző vékony kínai rögzítőhuzal használatát javasolja.

És a kényelem érdekében használhatja ezt a tükrözött csatlakozási diagramot.

Ezeknek a huzaloknak olyan vékony szigetelése van, hogy közvetlenül forraszthatja őket. Maga a szigetelés megolvad és a huzal megforrasztható.

Ezután folytassa az elemtartó rekesz és a kapcsoló lezárásával. A rekeszt ezenkívül forró ragasztópisztollyal kell rögzíteni.


Nos, ennyi, a rendszer összeszerelve marad, a firmware letöltése marad. A „kő” külön-külön villog, úgy, hogy csatlakoztatjuk a kenyérlemez programozójához.


A firmware, mint a szerző összes projektje, közkincsben van, és letölthető innen. A projektoldalon diagramot és minden egyéb szükséges információt is megtalál a projektről.

A letöltés részleteiben nem fogunk foglalkozni, ha valami nem egyértelmű, akkor mindig megnézheti a szerző részletes útmutatásait.
A firmware-hez csak telepítse Arduino ide, telepítse a kernelt az Attiny sorozat mikrovezérlőivel való együttműködéshez, válassza ki a táblát, válassza ki a programozót.


Ezután kiválasztjuk a 8 vagy 16 MHz frekvenciát, nyissuk meg az “Eszközök” fület, keressük meg és válasszuk a “Rögzítőt”.

Nincs betöltő, de a mikrovezérlő a kívánt frekvenciára be van állítva. Ezután válassza a „Vázlat” fület - „letöltés a programozón keresztül”. Várunk, amíg a vázlat bekerül a mikrovezérlőbe.

Most kivesszük a „kőből”, és beillesztjük a mini játékkonzolunk szívébe.


Mint láthatja, működik! Most nézzük meg közelebbről azt, amit a firmware tartalmaz. Az ATtiny85 egy mikrokontroller 512 bájt RAM-mal, ami nagyon kicsi. Az ilyen kijelzővel működő könyvtárak 99% -a puffert használ a mikrovezérlő oldalán a kép helyes újrarajzolásához, mivel ez a kijelző nem képes az adatok olvasására a saját pufferéből, és egyébként is ott van.

A 128 * 32 pixel megjelenítésére szolgáló puffer 512 bájtot vesz igénybe, ha emlékezni akarunk az egyes bitek, azaz egy pixel állapotára.
A puffer mellett más adatokat is tárolnunk kell, tehát ez az opció minden bizonnyal nem tartozik az ilyen méretű memóriába.

Ezért úgy döntött, hogy a kijelző felbontását 64 * 16 pixelre csökkenti 4 pixel négyzetek pufferolása révén.

A szerző közvetlenül ezzel a kiállítással dolgozott, és sikerült megvalósítania ötletét. Előfordulhat, hogy egy vázlat hasznos lesz valaki számára, aki Attiny segítségével szeretne dolgozni ezzel a képernyővel.


A játékot illetően. Ez nagyon egyszerűen működik. A labda külön időzítőn mozog, a mozgás egy pont azonos pontokkal történő törlésével és az új koordináták új pontjának hozzáadásával jár.

A koordináták kiszámítása egyszerűen a sebességérték hozzáadása a kijelző rendszer koordinátáinak.
Amikor a golyó túllép a vízszintes falakon, akkor egyszerűen lepattan azokról, a sebesség függőleges összetevőjét ellentétes irányba változtatva, vagyis mínuszjelet (-) használva.

Ezenkívül a program ellenőrzi a játékteret függőleges határait, ha a labda ütőbe ütközik (nos, vagy bármi más, amit helyesen hívsz), akkor visszapattan, és a visszafordulási szög véletlenszerű.
Ha a labda eltöri a falot az ütő mögött, akkor a játékos elvesztette az aktuális fordulót, és az ellenfél pontot kap.

A játékos ütőjének mozgása ugyanúgy valósul meg, mint a labda mozgása, azaz a régi ütő törlődik, és egy új rajzolásra kerül, már új koordinátákkal. A koordináták megváltoznak, ha rákattint a gombra.
Így sokkal gyorsabban fordul elő, mint a teljes kijelző megtisztítása és az összes elem újrahasznosítása.


Most az ellenfél ütőjéhez. Az AI (mesterséges intelligencia) irányítja.

Nos, a mesterséges intelligenciát természetesen hangosan mondják, de ennek ellenére ez az intelligencia nagyon egyszerű dolgot tesz, nevezetesen az, hogy a ütőt a golyó jelenlegi irányába mozdítsa, miközben megpróbálja a középpontját a függőleges tengely mentén a labda függőleges koordinátájához igazítani. Annak érdekében, hogy valóban legyőzze egy ilyen ellenfelet, a szerző lassúvá tette, vagyis az időmérővel újra kiszámítja a következő lépését, és ezért nincs ideje elkapni a labdát, és így visszaszorítani.

A játékban a növekvő bonyolultságú mechanika is megvalósult. Minden 10 pont után a labda sebessége növekszik. Ezzel párhuzamosan az AI (ellenfél) reakciósebessége is növekszik.

Ennek eredményeként itt van egy ilyen egyszerű kis pong. Nem hiába, ezt a videojátékot először fejlesztették ki, mert még egy kezdő programozó is tudja írni. De a projekt látszólagos egyszerűsége ellenére a kínai kiállítással kapcsolatos felébresztés körülbelül 20 órát vett igénybe a szerzőtől. Ugyanakkor nem vette figyelembe a játék kódjának írására fordított időt, valamint a hibakereséssel és az áramkör beállításával kapcsolatos egyéb munkafolyamatokat.



Ebben a dologban a zümmögés az összeszerelési folyamat, nem az alkalmazás.A játékfejlesztés, akár az egyszerű is, valóban nagyon érdekes lehet. Különösen akkor, ha megpróbál egy nagyon apró mikrovezérlőbe tolni őket. És amikor a kínai kiállítás a sarkon hátulról vár rád ...

Ez minden. Köszönöm a figyelmet. Találkozunk hamarosan!

A szerző videója:
6.5
5.5
5.5

Adj hozzá egy megjegyzést

    • smilemosolyogxaxarendbendontknowjehunea
      főnökkarcolásbolondigenigen-igenagresszívtitok
      Bocsánattáncdance2dance3megbocsátássegítségitalok
      megállásbarátokjógoodgoodsípájulásnyelv
      füsttapsolóCrayállapítsagúnyosdon-t_mentionletöltés
      hőségingerültlaugh1MDAtalálkozómoskingnegatív
      not_ipopcornbüntetolvasmegijesztijesztkeresés
      gúnyolódásthank_youeztto_clueumnikakutegyetért
      rosszbeeeblack_eyeblum3pírdicsekvésunalom
      cenzúrázottvidámságsecret2fenyegetgyőzelemyusun_bespectacled
      ShokRespektlolprevedfogadtatáskrutoyya_za
      ya_dobryisegítőne_huliganne_othodiFLUDtilalomközel
1 megjegyzés
ketchup
a plagizálás helyett jobb lenne, ha saját magával járna

Azt javasoljuk, hogy olvassa el:

Adja át az okostelefon számára ...