
Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59

„DFRobot“neseniai kreipėsi į mane, norėdamas, kad naudočiau jų specialią „Arduino Nano“plokštę ir OLED. Iš pradžių norėjau sukurti išmanųjį dviratį ir jį sukūriau visą. Bet, deja, „Nano“buvo per silpnas, kad galėtų paleisti ir išsaugoti reikalingą eskizą. Taigi nusprendžiau dar kartą peržiūrėti vieną iš savo ankstesnių projektų - „Neopixel“matricą, kuri vykdė „Pong“žaidimą. Aš norėjau, kad jis būtų nešiojamas, o 1,7 colio OLED būtų puikus ekranas.
Dalių sąrašas:
- Arduino nano
- OLED
- Pranešėjas
1 žingsnis: vaizdo įrašas


2 žingsnis: žaidimo kūrimas

Šiam „Pong“žaidimui norėjau, kad jis būtų gana paprastas, o tai reiškė, kad kompiuteriu valdomas irklas ar išgalvoti rutulio atspindžio algoritmai. Iš esmės yra vienas irklas, kurį vartotojas gali judėti aukštyn arba žemyn, o jei kamuolys susidurs su irklu, jo x ašies vektorius apsivers. Kiekvieną kartą, kai kamuolys pataiko, pasigirsta garsas. Įjungus žaidimo įrenginį, ekrane pasirodo žaidimo pavadinimas ir instrukcijos. Be to, mano mama sukūrė nedidelę teminę dainą, kuri skamba fone, kol paspaudžiamas viršutinis mygtukas.
3 žingsnis: žaidimų įrenginio projektavimas




Mano pasirinkta CAD programa yra „Fusion 360“, todėl nusprendžiau ją panaudoti kurdamas savo pong žaidimų įrenginį. Aš pradėjau kurti kiekvieną naudojamą komponentą: OLED, „Arduino Nano“ir garsiakalbį. Tokiu būdu galiu tiksliai pamatyti, kur ir kaip kiekvienas komponentas turėtų tilpti gaubto viduje. Tada įdėjau „Nano“ir PCB į galinę korpuso dalį, o ant jo - OLED. Kitas buvo klausimas, kur įdėti garsiakalbį ir mygtukus. Nusprendžiau, kad 3 W garsiakalbis gali būti šiek tiek žemiau ekrano (žiūrint į jį iš viršaus), o tam taip pat reikia uždėti „groteles“virš garsiakalbio, kad garsas nebūtų prislopintas. Galiausiai pridėjau du mygtukus kairėje pusėje, kad pridėčiau valdiklius.
4 žingsnis: Įrenginio konstravimas



Aš pradėjau spausdinti 3D kiekvieną dalį, susidedančią iš apatinės pusės, viršutinės pusės ir 2 mygtukų. Tada aš lituosiu moterišką antraštę prie 4x6 cm ir prijungiau ją prie „Nano“. Tai leidžia ne tik lengvai pašalinti OLED, bet ir pakelti jį aukščiau „Arduino Nano“. Informacijos apie laidus ieškokite schemoje. Tada prijungiau du mygtukus ir paprastą mikro USB pertraukos plokštę, kad galėčiau maitinti. Garsiakalbis taip pat buvo pritvirtintas ir padėjo jam teisingą padėtį. Mano „Fusion 360“dizainas leidžia 3 mm mašinos varžtais laikyti nuspaustą OLED, garsiakalbį ir prijungti dvi prietaiso puses. Bet aš turėjau juos tiksliai nustatyti, todėl aš naudoju savo grąžtą 8 skylėms: 2 garsiakalbiui, 2 ekranui ir 4 apačioje. Galite aplankyti failų nuorodą „Thingiverse“.
5 žingsnis: žaidimo programavimas
Paprastos sąsajos naudojimas buvo gyvybiškai svarbus, kad programa būtų maža. Pradėjau pridėdamas kelias bibliotekas: „Adafruit_GFX“, „Adafruit_SSD1351“ir „Arduino Timer“biblioteką. Tada aš apibrėžiau savo kaiščius ir spalvas, pvz., OLED kaiščius ir 16 bitų spalvų apibrėžimus. Mano kode taip pat yra 4 būdai, kaip pakeisti žaidimo eigą, pvz., Irklo matmenų keitimas ir kamuoliuko judėjimo greitis. Tada yra skyrius, kuriame yra apibrėžtas kiekvienas kintamasis, įskaitant rezultatą ir įvairias koordinates. Kai prietaisas įjungiamas įjungus rutulio atvaizdą, ekrane pasirodo tam tikras tekstas ir maža teminė daina, kuri anksčiau buvo apibrėžta kode. Kai žaidimas prasideda, sukuriami du laikmačiai, vienas atnaujina irklą, o kitas - kamuolį. Kiekvieną kartą atnaujinant rutulio padėtį jo koordinatės yra tikrinamos, kad įsitikintumėte, jog jis neperžengia ekrano ribos, ar paliečia irklą. Kiekvieną kartą atšokus jo x arba y ašis apverčiama ir skamba mažas tonas. Žiūrėkite vaizdo įrašą šio rašymo pradžioje, kad pamatytumėte, kaip žaidimas veikia.
6 žingsnis: Žaisti pongą




Žaidimo pavadinimas yra gauti kuo mažesnį balą. Laiko apribojimų nėra, todėl tai labai malonu ir netgi sukelia transą. Viskas, ko reikia, yra paspausti vieną iš dviejų mygtukų, kad irklas judėtų aukštyn arba žemyn. Taip pat galima pridėti būdą išsaugoti aukščiausią balą naudojant „Arduino“EEPROM.
Rekomenduojamas:
„Pasidaryk pats“rankinė žaidimų konsolė naudojant „RetroPie“: 7 žingsniai

„Pasidaryk pats“rankinių žaidimų konsolė naudojant „RetroPie“: žiūrėkite aukščiau pateiktą vaizdo įrašą, kad geriau suprastumėte šį projektą. Puiku. Atėjo laikas pradėti! Pirmiausia mes naudosime „RetroPie“. Tai mums palieka dvi galimybes. Jei jau įdiegėme „Raspbian“savo SD kortelėje, galime įdiegti „RetroP“
„Pasidaryk pats“Raspberry Pi Zero rankinė žaidimų konsolė: 6 žingsniai (su nuotraukomis)

Pasidaryk pats „Raspberry Pi Zero“rankinė žaidimų konsolė: Šiame projekte aš jums parodysiu, kaip aš panaudojau „Raspberry Pi Zero“, NiMH baterijas, naminę apsaugos nuo perkaitimo grandinę, galinio vaizdo LCD ir garso stiprintuvą, kad sukurtumėte rankinę žaidimų konsolę, kurią galima žaisti retro žaidimai. Pradėkime
ESP32 rankinė žaidimų konsolė: 21 žingsnis (su nuotraukomis)

ESP32 rankinė žaidimų konsolė: ši instrukcija parodo, kaip naudoti ESP32 ir ATtiny861, norint sukurti NES emuliatoriaus žaidimų konsolę
Rankinė žaidimų konsolė - „Arduboy Clone“: 6 žingsniai (su nuotraukomis)

Rankinė žaidimų konsolė | „Arduboy Clone“: Prieš keletą mėnesių susidūriau su „Arduboy“, kuri, pasak jos oficialios svetainės, yra miniatiūrinė 8 bitų žaidimų platforma, leidžianti lengvai išmokti, dalytis ir žaisti žaidimus internete. Tai atviro kodo platforma. „Arduboy“žaidimus kuria vartotojas
Namų rankinė konsolė: 12 žingsnių (su nuotraukomis)

Namų rankinė konsolė: Sveiki atvykę į mano žingsnis po žingsnio vadovą, kaip sukurti savo „pasidaryk pats“„GameBoy“su „Raspberry Pi 3“ir „Retropie“emuliacijos programine įranga. Prieš pradėdamas šį projektą neturėjau jokios patirties su aviečių pi, retropie, litavimu, 3D spausdinimu arba elektra