» Elektronika »Miniatūra spēļu konsole ar spēli Pong

Miniatūra spēles konsole ar spēli Pong

Sveicieni mūsu vietnes iedzīvotāji!
Šodien mums ir projekts ar mikro spēļu konsoli, kuru ikviens var atkārtot.


Nepieciešamie materiāli un komponenti:








Šī rokasgrāmata tika ņemta no AlexGyver YouTube kanāla. Mikrokontrolleram šim projektam ir nepieciešams:


Tas ir Attiny85 DIP paketē, ar to mums pietiks. Lai to nepielodētu, mēs ņemam tā saukto kontaktligzdu.

Mums ir nepieciešams arī displejs ar Aliexpress, OLED ar izšķirtspēju 128x32 pikseļi.


Arī tapas noder.

Pogas, kuras mēs šeit izmantosim, ir:

Protams, jūs varat ņemt klaviatūras, taču tās būs jāpabeidz, bet es patiešām nevēlos griezt un lodēt. Akumulatora nodalījums ir šāda veida:

Un mēs saliksim savu spēļu konsoli ar maizes dēli (ja vēlaties, varat pats izgatavot dēli). Mēs mirgosim USBasp programmētāju, bet jebkurš AVR to darīs.

Elektroinstalācijas shēma Komponenti būs šādi:

Displejs tiek savienots ar mikrokontrollera I2C kopnes tapām. Mēs savienojam pogas ar citām bezmaksas tapām. Pievienojiet arī slēdzi, lai ieslēgtu / izslēgtu sistēmu. Un būtībā tas viss, atliek tikai pieslēgt strāvu.
Programmētājs mikroprogrammā ielādē programmaparatūru saskaņā ar šādu shēmu:
Miniatūra spēles konsole ar spēli Pong

Tagad sāksim montāžu un sakārtosim visus elementus uz maizes tāfeles. Mēģināsim salikt un redzēt, kā tas viss izskatās.


Tas izrādījās diezgan askētisks. Nav slikti. Maizes dēļa lieko daļu var nozāģēt.


Tagad mēs salabojam visas sastāvdaļas, tikai pielodējot kājas.



Tagad jums jāsavieno secinājumi saskaņā ar shēmu. Šim nolūkam autore iesaka izmantot plānu ķīniešu montāžas stiepli.

Ērtības labad varat izmantot šo spoguļattēlu savienojuma shēmu.

Šiem vadiem ir tik plāna izolācija, ka tos varat tieši lodēt. Pati izolācija izkausēsies, un stieple tiks pielodēta.

Pēc tam turpiniet noslēgt akumulatora nodalījumu un slēdzi. Nodalījums papildus jānostiprina arī ar karstu līmes pistoli.


Tas ir viss, sistēma ir samontēta, paliek tikai lejupielādēt programmaparatūru. Mēs “mirgosim” akmeni atsevišķi, pievienojot to programmētājam uz maizes tāfeles.


Programmaparatūra, tāpat kā visi autora projekti, ir publiskajā domēnā un to var lejupielādēt no. Arī projekta lapā jūs atradīsit diagrammu un visu citu nepieciešamo informāciju par šo projektu.

Mēs nekavēsimies lejupielādēt detalizēti, ja kaut kas nav skaidrs, tad vienmēr varat ielūkoties detalizētos norādījumos autoram.
Lai iegūtu programmaparatūru, vienkārši instalējiet Arduino ide, instalējiet kodolu darbam ar Attiny sērijas mikrokontrolleriem, atlasiet plati, izvēlieties programmētāju.


Tad mēs izvēlamies frekvenci 8 vai 16 MHz, atveriet cilni “Rīki”, atrodiet un atlasiet “Record Loader”.

Iekrāvēja tur nav, bet mikrokontrollers tiks noregulēts vajadzīgajā frekvencē. Pēc tam atlasiet cilni Skice - “lejupielādēt caur programmētāju”. Un mēs gaidām, kamēr skice tiek ielādēta mikrokontrollerā.

Tagad mēs izņemam “akmeni” un ievietojam to mūsu mini spēļu konsoles centrā.


Kā redzat, tas darbojas! Un tagad sīkāk apskatīsim, kas mums ir programmaparatūrā. ATtiny85 ir mikrokontrollers ar 512 baitu operatīvo atmiņu, kas ir ļoti mazs. 99% bibliotēku, kas paredzētas darbam ar šādu displeju, izmanto buferi mikrokontrollera sānos, lai pareizi pārzīmētu attēlu, jo šis displejs nevar nolasīt datus no sava bufera, un tas ir starp citu.

Buferis šim 128 * 32 pikseļu displejam aizņems 512 baitus, ja mēs vēlamies atcerēties katra bita stāvokli, tas ir, pikseļu.
Papildus buferim mums ir jāuzglabā arī citi dati, tāpēc šī opcija noteikti neiederas šāda lieluma atmiņā.

Tāpēc tika nolemts samazināt displeja izšķirtspēju līdz 64 * 16 pikseļiem, buferizējot 4 pikseļu kvadrātus.

Autore tieši strādāja ar šo displeju un spēja veiksmīgi īstenot savu ideju. Skice varētu būt noderīga kādam, kurš vēlas strādāt ar šo displeju, izmantojot Attiny.


Tagad attiecībā uz pašu spēli. Tas darbojas diezgan vienkārši. Bumba pārvietojas pa atsevišķu taimeri, kustība ir tāda, ka tiek izdzēsts punkts ar tām pašām koordinātām un pievienots jauns punkts jaunajās koordinātās.

Koordinātu aprēķināšana ir vienkārši ātruma vērtību pievienošana koordinātām displeja sistēmā.
Kad bumba pārsniedz horizontālās sienas, tā vienkārši atlec no tām, mainot ātruma vertikālo komponentu uz pretējo, tas ir, ar mīnusa zīmi (-).

Turklāt programma pārbauda spēles laukuma vertikālās robežas, ja bumba atsitās pret raketi (labi, vai kā jūs to pareizi saucat), tad tā atlec, un atlēciena leņķis ir nejaušs.
Ja bumba salauž sienu aiz raketes, spēlētājs ir zaudējis pašreizējo kārtu un pretinieks saņem punktu.

Spēlētāja raketes kustība tiek realizēta tāpat kā bumbas kustība, tas ir, vecā rakete tiek izdzēsta un tiek uzzīmēta jauna, jau ar jaunām koordinātām. Noklikšķinot uz pogas, koordinātas mainās.
Tādējādi tas izrādās daudz ātrāk nekā visa displeja tīrīšana un visu elementu atveidošana no jauna.


Tagad par pretinieka raketi. To kontrolē AI (mākslīgais intelekts).

Protams, mākslīgais intelekts, protams, tiek skaļi teikts, taču, neskatoties uz to, šis intelekts izdara ļoti vienkāršu lietu, proti, tas liek raketei virzīties tajā virzienā, kur tagad ir bumba, mēģinot izlīdzināt tās centru pa vertikālo asi ar bumbiņas vertikālo koordinātu. Lai patiešām pārspētu šādu pretinieku, autors lika viņam lēnām darboties, tas ir, viņš atkal aprēķina savu nākamo gājienu pēc taimera, un tādējādi viņam, iespējams, nav laika noķert bumbu un tādējādi viņu atvairīt.

Arī spēlē ieviestā pieaugošās sarežģītības mehānika. Ik pēc 10 punktiem par labu spēlētājam palielinās bumbas ātrums. Līdztekus tam pieaug arī AI (pretinieka) reakcijas ātrums.

Tā rezultātā šeit ir tik vienkāršs mazais teniss. Ne velti šī videospēle tika izstrādāta ļoti pirmā, jo pat iesācējs programmētājs to var uzrakstīt. Bet, neskatoties uz šķietamo projekta vienkāršību, satraukums ar ķīniešu displeju no autora prasīja apmēram 20 stundas tīra laika. Tajā pašā laikā viņš neņēma vērā laiku, kas pavadīts, rakstot pašas spēles kodu, un citu darbplūsmu saistībā ar atkļūdošanu un shēmas iestatīšanu.



Šajā lietā pats buzz ir montāžas process, nevis lietojumprogramma.Attīstīt spēles, pat tās vienkāršās, var būt patiešām diezgan interesantas. It īpaši, kad jūs mēģināt tos iespiest ļoti niecīgā mikrokontrollerā. Un, kad ķīniešu displejs jūs sagaida ap stūri ...

Tas arī viss. Paldies par uzmanību. Tiekamies drīz!

Autora video:
6.5
5.5
5.5

Pievienojiet komentāru

    • smaidismaidaxaxalabinezinuYahoonea
      priekšniekssaskrāpētmuļķisjājā-jāagresīvsslepeni
      žēldejotdeja2deja3apžēlošanapalīdzētdzērieni
      apstātiesdraugilabilabsirdīgssvilpegulbismēle
      smēķētaplaudēkrauklispaziņodrausmīgsdon-t_mentionlejupielādēt
      karstumsdrausmīgssmieties1mdasapulceņirgāšanāsnegatīvs
      not_ipopkornssodītlasītnobiedētbiedēmeklēt
      ņurdētpaldiesšoto_clueumņikakūtapiekrītu
      sliktibēmelnā acsblum3sarktlielītiesgarlaicība
      cenzētspleasantryslepens2draudētuzvarajusun_bespectacled
      šoksrespektlolprevedlaipni gaidītikrutojsya_za
      ya_dobryipalīgsne_huliganne_othodifludsaizliegumstuvu
1 komentārs
kečups
tā vietā, lai plaģiātu, labāk nākt klajā ar savējiem

Mēs iesakām izlasīt:

Nododiet to viedtālrunim ...