» elektronika »Minijaturna igraća konzola sa igrom Pong

Minijaturna igraća konzola sa igrom Pong

pozdravi stanovnici naše stranice!
Danas imamo projekt s mikro igraćom konzolom, koji svatko može ponoviti.


Potrebni materijali i komponente:








Ovaj je priručnik preuzet s YouTube kanala AlexGyver. Mikrokontroler za ovaj projekt treba sljedeće:


Ovo je Attiny85 u DIP paketu, bit će nam dovoljno. Da ga ne lemimo, uzimamo tzv.

Potreban nam je i zaslon s Aliexpressom, OLED razlučivosti od 128 do 32 piksela.


Igle su također korisne.

Gumbi koje ćemo ovdje koristiti su:

Naravno, možete uzeti tipkovnice, ali oni će ih morati dovršiti, ali zapravo ne želim rezati i lemiti. Akumulatorski je odjeljak ove vrste:

A mi ćemo sastaviti našu igraću konzolu s pločom (ako želite, možete sami napraviti ploču). Uključit ćemo USBasp programera, ali bilo koji AVR će učiniti.

Dijagram ožičenja Sastavni dijelovi su sljedeći:

Zaslon se povezuje sa I2C sabirnicama mikrokontrolera. Gumbima povezujemo s drugim besplatnim iglicama. Dodajte i prekidač za uključivanje / isključivanje sustava. I u osnovi to je sve, ostaje da povežemo struju.
Alat za programiranje učitava u mikrokontroler sljedeću shemu:
Minijaturna igraća konzola sa igrom Pong

Sada krenimo na montažu i složimo sve elemente na ploči. Pokušajmo se sastaviti i vidjeti kako to sve izgleda.


Ispalo je prilično asketsko. Nije loše. Prekomjerni dio ploče odstranjuje se.


Sada popravljamo sve komponente samo lemljenjem njihovih nogu.



Sada morate povezati zaključke prema shemi. U tu svrhu, autor preporučuje korištenje tanke kineske montažne žice.

A za praktičnost možete koristiti ovaj zrcalni dijagram veze.

Ove žice imaju tako tanku izolaciju da ih možete izravno lemiti. Sama izolacija će se rastopiti i žica će biti lemljena.

Zatim nastavite s brtvljenjem odjeljka za bateriju i prekidača. Odjeljak se također mora dodatno učvrstiti pištoljem za vruće ljepilo.


Eto, to je sve, sustav je sastavljen, ostaje za preuzimanje firmvera. Bljeskat ćemo „kamen“ odvojeno, povezujući ga s programatorom na ploči.


Firmver je, kao i svi autori projekti, u javnoj domeni i može se preuzeti s njega. Također na stranici projekta naći ćete dijagram i sve ostale potrebne informacije o ovom projektu.

Nećemo se detaljno zaustaviti na preuzimanju, ako nešto nije jasno, uvijek možete pogledati detaljne upute za autora.
Za instaliranje upravljačkog softvera jednostavno instalirajte Težak Ide, instalirajte kernel za rad s mikrokontrolerima serije Attiny, odaberite ploču i odaberite programera.


Zatim odaberemo frekvenciju od 8 ili 16 MHz, otvorimo karticu "Alati", pronađemo i odaberemo "Snimanje utovarivača".

Nema utovarivača, ali će mikrokontroler biti podešen na potrebnu frekvenciju. Zatim odaberite karticu "Skica" - "preuzmi preko programera". I čekamo dok se skica učita u mikrokontroler.

Sada izvadimo „kamen“ i umetnemo ga u srce naše mini igraće konzole.


Kao što vidite, djeluje! A sada pogledajmo pobliže što imamo u firmveru. ATtiny85 je mikrokontroler s 512 bajta RAM-a, što je vrlo malo. 99% knjižnica za rad s takvim zaslonom koristi međuspremnik sa strane mikrokontrolera kako bi ispravno crtalo sliku, jer ovaj zaslon ne može čitati podatke iz vlastitog međuspremnika, a tu je i usput.

Spremnik za ovaj prikaz od 128 * 32 piksela zauzet će 512 bajta, ako se želimo sjetiti stanja svakog bita, odnosno piksela.
Osim međuspremnika, trebamo pohraniti i druge podatke, tako da ova opcija zasigurno ne odgovara u memoriju takve veličine.

Stoga je odlučeno sniziti razlučivost zaslona na 64 * 16 piksela puniranjem kvadratova od 4 piksela.

Autor je izravno radio s ovim prikazom i uspio uspješno implementirati svoju ideju. Skica može biti korisna za nekoga tko želi raditi s ovim zaslonom pomoću Attiny.


Što se tiče same igre. Djeluje sasvim jednostavno. Kugla se pomiče na zasebnom odbrojavanju, pokret se sastoji u brisanju točke s istim koordinatama i dodavanju nove točke u nove koordinate.

Izračunavanje koordinata jednostavno je dodavanje vrijednosti brzine koordinatama u prikaznom sustavu.
Kad lopta pređe vodoravne zidove, ona jednostavno odskače od njih, mijenjajući vertikalnu komponentu brzine u suprotnu, to jest, sa znakom minus (-).

Uz to, program provjerava vertikalne granice igrališta, ako lopta pogodi reket (dobro, ili kako god to točno nazvali), tada odskače, a kut nagiba je nasumičan.
Ako lopta razbije zid iza reketa, dakle, igrač je izgubio trenutni krug, a protivnik dobiva bod.

Kretanje reketa igrača odvija se na isti način kao i kretanje lopte, odnosno stari se reket briše i crta novi, već s novim koordinatama. Koordinate se mijenjaju kad kliknete gumb.
Dakle, ispada mnogo brže od čišćenja čitavog zaslona i ponovnog ponašanja svih elemenata.


Sada za protivnički reket. Kontrolira ga AI (umjetna inteligencija).

Dobro, naravno, glasno se govori o umjetnoj inteligenciji, ali svejedno, ova inteligencija čini vrlo jednostavnu stvar, naime, čini da se reket kreće u smjeru u kojem je lopta sada, dok pokušava uskladiti svoje središte duž okomite osi s vertikalnom koordinatom kugle. Da bi stvarno pobijedio takvog protivnika, autor ga je usporio, odnosno, on izračuna svoj sljedeći potez opet tajmerom, i na taj način možda neće imati vremena uhvatiti loptu i na taj način je odbiti.

Također je u igru ​​implementirana mehanika sve veće složenosti. Svakih 10 bodova u korist igrača povećava se brzina lopte. Uz to, raste i brzina reakcije AI (protivnika).

Kao rezultat, evo ovako jednostavnog malog Ponga. Ne za ništa, ova je video igra razvijena najprije jer je čak i početnik programer može napisati. No unatoč prividnoj jednostavnosti projekta, buka s kineskim zaslonom uzela je oko 20 sati čistog vremena od autora. Istovremeno, nije uzeo u obzir vrijeme provedeno za pisanje koda same igre i drugi tijek rada vezan za uklanjanje pogrešaka i postavljanje kruga.



U ovoj stvari, sam zvuk je postupak montaže, a ne aplikacija.Igre u razvoju, čak i one jednostavne, mogu biti zaista zanimljive. Pogotovo kad ih pokušate gurnuti u vrlo maleni mikrokontroler. A kad vas kineski prikaz čeka iza ugla ...

To je sve. Hvala na pažnji. Vidimo se uskoro!

Video zapis autora:
6.5
5.5
5.5

Dodajte komentar

    • osmijehosmjesixaxau redudontknowprostakNea
      gazdaogrebotinabudaladaDa-Daagresivantajna
      oprostiteplesdance2dance3pomilovanjepomoćpića
      zaustavljanjeprijateljidobrogoodgoodzviždaljkapasti u nesvijestjezik
      dimpljeskanjeCrayObjavitepodrugljivdon-t_mentionpreuzimanje
      vrućinaljutitlaugh1MDAsastanakmoskingnegativan
      not_ikokicekaznitičitatiuplašitiplašitraži
      podsmijehthank_youovoto_clueumnikakutansložiti
      lošebeeeblack_eyeblum3rumenilohvalisati sedosada
      cenzuriranizadirkivanjesecret2prijetitipobjedayusun_bespectacled
      shokrespektlolpreveddobrodošlikrutoyya_za
      ya_dobryipomoćnikne_huliganne_othodifludzabranablizu
1 komentar
kečap
umjesto da plagirate, bilo bi bolje da smislite svoje

Savjetujemo vam da pročitate:

Predaj to pametnom telefonu ...