» Elektronika »Miniatiūrinė žaidimų konsolė su žaidimu„ Pong “

Miniatiūrinė žaidimų pultas su žaidimu „Pong“

Sveikinimai mūsų svetainės gyventojų!
Šiandien turime projektą su mikro žaidimų pultu, kurį bet kas gali pakartoti.


Būtinos medžiagos ir komponentai:








Šis vadovas paimtas iš „AlexGyver“ „YouTube“ kanalo. Šio projekto mikrovaldikliui reikia:


Tai yra Attiny85 DIP pakete, mums to užteks. Kad nebūtų lituoti, mes paimame vadinamąjį lizdą.

Mums taip pat reikia ekrano su „Aliexpress“, OLED, kurio skiriamoji geba yra 128 x 32 pikseliai.


Smeigtukai taip pat naudingi.

Čia bus naudojami mygtukai:

Žinoma, galite pasiimti klaviatūras, bet jos turės būti baigtos, bet aš tikrai nenoriu pjaustyti ir lituoti. Šio tipo baterijų skyrius:

Ir mes surinksime savo žaidimų konsolę su duonkepe (jei norite, galite patys pasidaryti lentą). Mes užsidegsime USBasp programuotoją, bet bet kuris AVR tai padarys.

Elektros schema Komponentai bus šie:

Ekranas jungiamas prie mikrovaldiklio I2C magistralės kaiščių. Mes jungiame mygtukus prie kitų laisvų kaiščių. Taip pat pridėkite jungiklį, kad įjungtumėte / išjungtumėte sistemą. Ir iš esmės viskas, belieka prijungti maitinimą.
Į mikrovaldiklį programinė įranga įkelia programinę-aparatinę įrangą pagal šią schemą:
Miniatiūrinė žaidimų pultas su žaidimu „Pong“

Dabar pradėkime nuo surinkimo ir sutvarkykime visus elementus ant duonos lentos. Pabandykime surinkti ir pažiūrėti, kaip viskas atrodo.


Tai pasirodė gana asketiška. Neblogai. Perteklinę duonos lentos dalį galima nupjauti.


Dabar mes pritvirtiname visus komponentus, tiesiog litaudami jų kojas.



Dabar jums reikia sujungti išvadas pagal schemą. Šiuo tikslu autorius rekomenduoja naudoti ploną kinišką tvirtinimo laidą.

Ir patogumui galite naudoti šią veidrodinę ryšio schemą.

Šie laidai turi tokią ploną izoliaciją, kad galite juos tiesiogiai lituoti. Pati izoliacija ištirps, o viela bus lituojama.

Tada uždarykite akumuliatoriaus skyrių ir jungiklį. Skyrius taip pat turi būti papildomai pritvirtintas karštu klijų pistoletu.


Na, viskas, sistema surinkta, belieka atsisiųsti programinę-aparatinę įrangą. „Akmenį“ mirksėsime atskirai, prijungdami jį prie programuotojo ant duonos lentos.


Programinė įranga, kaip ir visi autoriaus projektai, yra viešoji nuosavybė ir ją galima atsisiųsti iš. Taip pat projekto puslapyje rasite diagramą ir visą kitą reikalingą informaciją apie šį projektą.

Mes nesigilinsime į atsisiuntimą išsamiai, jei kažkas neaišku, tada visada galite ieškoti autoriaus, norėdami gauti išsamias instrukcijas.
Norėdami įsigyti programinę-aparatinę įrangą, tiesiog įdiekite Arduino ide, įdiekite branduolį darbui su „Attiny“ serijos mikrovaldikliais, pasirinkite plokštę, pasirinkite programuotoją.


Tada pasirinkite 8 arba 16 MHz dažnį, atidarykite skirtuką "Įrankiai", suraskite ir pasirinkite "Įrašų įkrovos tvarkyklė".

Čia nėra krautuvo, tačiau mikrovaldiklis bus sureguliuotas reikiamu dažniu. Tada pasirinkite skirtuką „Eskizas“ - „atsisiųsti per programuotoją“. Ir mes laukiame, kol eskizas bus įkeltas į mikrovaldiklį.

Dabar mes išimame „akmenį“ ir įstatome jį į savo mini žaidimų pulto širdį.


Kaip matote, jis veikia! O dabar atidžiau pažvelkime į tai, ką turime programinėje programinėje įrangoje. „ATtiny85“ yra labai mažas mikrovaldiklis, turintis 512 baitų RAM. 99% bibliotekų, skirtų darbui su tokiu ekranu, naudoja buferį, esantį mikrovaldiklio šone, kad teisingai nubrėžtų paveikslėlį, nes šis ekranas negali nuskaityti duomenų iš savo buferio, ir jis yra beje.

Šio 128 * 32 pikselių ekrano buferis užtruks 512 baitų, jei norėsime atsiminti kiekvieno bito, ty pikselio, būseną.
Be buferio, mes taip pat turime saugoti kitus duomenis, todėl ši parinktis tikrai netelpa tokio dydžio atmintyje.

Todėl buvo nuspręsta sumažinti ekrano skiriamąją gebą iki 64 * 16 pikselių, buferinant 4 pikselių kvadratus.

Autorius tiesiogiai dirbo su šia ekspozicija ir sugebėjo sėkmingai įgyvendinti savo idėją. Eskizas gali būti naudingas tiems, kurie nori dirbti su šiuo ekranu naudodami Attiny.


Kalbant apie patį žaidimą. Tai veikia gana paprastai. Rutulys juda atskiru laikmačiu, judesį sudaro taško ištrynimas tomis pačiomis koordinatėmis ir pridedant naują tašką naujose koordinatėse.

Koordinačių skaičiavimas yra greičio verčių pridėjimas prie koordinačių ekrano sistemoje.
Kai rutulys eina už horizontalių sienų, jis tiesiog atšoka nuo jų, pakeisdamas vertikalų greičio komponentą į priešingą pusę, tai yra, minuso ženklu (-).

Be to, programa patikrina vertikalias žaidimo lauko ribas, jei kamuolys pataikė į raketę (gerai, ar kaip kitaip vadinate teisingai), tada jis atšoka, o atšokimo kampas yra atsitiktinis.
Jei kamuolys pramuša sieną už raketės, žaidėjas praranda dabartinį raundą, o priešininkas gauna tašką.

Žaidėjo raketės judėjimas įgyvendinamas taip pat, kaip ir kamuolio judėjimas, tai yra, senoji raketė yra ištrinama ir nupiešta nauja, jau turint naujas koordinates. Koordinatės keičiasi spustelėjus mygtuką.
Taigi, tai paaiškėja daug greičiau, nei išvalius visą ekraną ir vėl paverčiant visus elementus.


Dabar priešininko raketė. Tai kontroliuoja AI (dirbtinis intelektas).

Na, žinoma, garsiai pasakytas dirbtinis intelektas, tačiau nepaisant to, šis intelektas daro labai paprastą dalyką, būtent, jis verčia raketę judėti ta kryptimi, kur dabar yra rutulys, bandant suderinti jos centrą išilgai vertikalios ašies su vertikalia rutulio koordinatė. Norėdamas iš tikrųjų įveikti tokį priešininką, autorius privertė jį sulėtinti tempą, tai yra, jis vėl apskaičiuoja kitą savo judesį pagal laikmatį, todėl gali neturėti laiko pagauti kamuolį ir tokiu būdu jį atstumti.

Taip pat žaidime įdiegta vis sudėtingesnė mechanika. Kas 10 taškų žaidėjo naudai padidėja kamuolio greitis. Kartu auga ir AI (priešininko) reakcijos greitis.

Dėl to čia yra toks paprastas mažas tenisas. Ne veltui šis vaizdo žaidimas buvo sukurtas labai pirmasis, nes net pradedantysis programuotojas gali jį parašyti. Tačiau nepaisant akivaizdaus projekto paprastumo, nerimas su kinų ekranu iš autoriaus pareikalavo maždaug 20 valandų gryno laiko. Tuo pačiu metu jis neatsižvelgė į laiką, praleistą rašant paties žaidimo kodą ir kitą darbo eigą derinimo ir grandinės nustatymo metu.



Šiuo atveju pats „buzz“ yra surinkimo procesas, o ne programa.Kurti žaidimus, net ir tuos paprastus, gali būti tikrai gana įdomu. Ypač bandant juos pastumti į labai mažą mikrovaldiklį. Kai Kinijos ekranas jūsų laukia už kampo ...

Tai viskas. Ačiū už dėmesį. Greitai pasimatysime!

Autoriaus vaizdo įrašas:
6.5
5.5
5.5

Pridėti komentarą

    • šypsotisšypsosixaxagerainežiniaYahoonea
      viršininkassubraižytikvailystaiptaip-taipagresyvusslapta
      atsiprašaušoktišokis2šokis3atleiskpadėtigėrimai
      sustotidraugaigeraigerašvilpukassupyktiliežuvis
      rūkytiplojimaiklastingaspareikštiniokojantisdon-t_mentionatsisiųsti
      šilumanedrąsusjuoktis1mdasusitikimasmoskingneigiamas
      not_ipopkornasnubaustiskaitytigąsdintigąsdinapaieška
      gundytiačiūtaito_clueumnikūmussusitarti
      blogaibičiųjuoda akisblum3skaistalaipasigirtinuobodulys
      cenzūruotamalonumasslapta2grasintipergalėju„sun_bespectacled“
      šoktipagarbalolišlenktaslaukiamekrutojusya_za
      ya_dobryipagalbininkasne_huliganne_othodifludisuždraustiarti
1 komentaras
kečupas
užuot plagiavęs, geriau būtų sugalvoti savo

Mes patariame perskaityti:

Perduokite jį išmaniajam telefonui ...