INHOUDSOPGAWE:
- Stap 1: Video
- Stap 2: Ontwerp die spel
- Stap 3: Ontwerp die speelapparaat
- Stap 4: Bou die toestel
- Stap 5: Die programmering van die spel
- Stap 6: Speel Pong
Video: Handheld Arduino Pong -konsole: 6 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
DFRobot het onlangs na my uitgekom en wou hê ek moes hul spesiale Arduino Nano -bord en OLED gebruik. Ek wou eers 'n slim fiets skep, en ek het dit in sy geheel gebou. Maar ongelukkig was die Nano te swak om die massiewe skets wat nodig was, te hardloop en op te slaan. Daarom het ek besluit om weer een van my vorige projekte te besoek, 'n Neopixel -matriks wat 'n Pong -speletjie uitgevoer het. Ek wou dit eerder draagbaar maak, en 'n 1.7 OLED sou 'n perfekte vertoning wees.
Lys van onderdele:
- Arduino nano
- OLED
- Spreker
Stap 1: Video
Stap 2: Ontwerp die spel
Vir hierdie Pong -speletjie wou ek dit relatief eenvoudig hou, wat beteken dat dit nie deur 'n rekenaar beheer word nie, of 'n fyn balweerkaatsingsalgoritme beteken. Eintlik is daar 'n enkele paddle wat 'n gebruiker op of af kan beweeg, en as die bal met die paddle bots, kan die x -as -vektor draai. Elke keer as die bal getref word, is daar 'n geluid wat speel. As die speltoestel aangeskakel is, verskyn 'n skerm met die titel van die speletjie en instruksies. Boonop het my ma 'n klein temaliedjie gemaak wat in die agtergrond loop totdat die boonste knoppie ingedruk word.
Stap 3: Ontwerp die speelapparaat
My CAD-program is Fusion 360, en ek het besluit om dit te gebruik om my pong-speelapparaat te ontwerp. Ek het begin met die ontwerp van elke komponent wat gebruik word: 'n OLED, Arduino Nano en 'n luidspreker. Op hierdie manier kan ek presies sien waar en hoe elke komponent in die omhulsel moet pas. Ek sit dan die Nano en PCB in die agterkant van die omhulsel, en die OLED daarop. Die volgende was die vraag waar om die luidspreker en knoppies te plaas. Ek het besluit dat die 3W -luidspreker net onder die skerm kan gaan (van bo af na dit gekyk), en dit het ook 'n "rooster" oor die luidspreker geplaas, sodat die geluid nie gedemp word nie. Laastens het ek twee knoppies aan die linkerkant bygevoeg om kontroles by te voeg.
Stap 4: Bou die toestel
Ek het begin deur elke deel in 3D te druk, bestaande uit die onderste helfte, die boonste helfte en 2 knoppies. Daarna het ek 'n vroulike kopstuk tot die 4x6cm gesoldeer en aan die Nano gekoppel. Hierdeur kan die OLED nie net maklik verwyder word nie, maar dit verhef dit ook bo die Arduino Nano. Gaan die skema na vir bedradinginligting. Daarna het ek die twee knoppies saam met 'n eenvoudige mikro -USB -uitbreidingskaart vir krag aangesluit. Die spreker is ook aangeheg en het dit in die regte posisie geplaas. My Fusion 360 -ontwerp laat 3 mm -masjienskroewe toe om die OLED, luidspreker vas te hou en die twee helftes van die toestel aan te sluit. Maar ek moes dit presies maak, so ek gebruik my boorpers om 8 gate uit te boor: 2 vir die luidspreker, 2 vir die skerm en 4 daaronder. U kan die Thingiverse -skakel vir die lêers besoek.
Stap 5: Die programmering van die spel
Die gebruik van 'n eenvoudige koppelvlak was noodsaaklik om die program klein te hou. Ek het begin deur verskeie biblioteke by te voeg: Adafruit_GFX, Adafruit_SSD1351 en die Arduino Timer -biblioteek. Vervolgens het ek my penne en kleure gedefinieer, soos die OLED -penne en 16 -bis -kleurdefinisies. In my kode is daar ook vier maniere om die spel te verander, soos om die afmetings van die paddle te verander en hoe vinnig die bal beweeg. 'N Gedeelte bestaan dan waar elke veranderlike gedefinieer word, insluitend die telling en verskillende koördinate. Elke keer as die toestel 'n beeld van 'n bal aanskakel en teks op die skerm verskyn, tesame met 'n klein temaliedjie wat vroeër in die kode gedefinieer is. Sodra die spel begin, word twee timers geskep, een wat die spaan bywerk en die ander die bal opdateer. Elke keer as die posisie van die bal opgedateer word, word die koördinate daarvan nagegaan om seker te maak dat dit nie verby die skermgrens gaan of as dit aan 'n spaan raak nie. Elke keer as dit weerkaats, word sy x- of y -as omgekeerd en 'n klein toon speel. Kyk na die video aan die begin van hierdie skrywe om te sien hoe die spel speel.
Stap 6: Speel Pong
Die naam van die spel is om die laagste moontlike telling te kry. Daar is geen tydsbeperking nie, so dit is baie aangenaam en selfs trance-inducerend. Al wat nodig is, is om op een van die twee knoppies te druk om die spaan op of af te beweeg. Dit is ook moontlik om 'n manier by te voeg om die hoogste telling te bewaar met die Arduino's EEPROM.
Aanbeveel:
MutantC_v2 - 'n Maklik om te bou Raspberry Pi Handheld/UMPC: 8 stappe (met foto's)
MutantC_v2 - 'n Maklik om te bou Raspberry Pi Handheld/UMPC: 'n Raspberry -pi -draagbare platform met 'n fisiese sleutelbord, 'n skerm en 'n uitbreidingskop vir pasgemaakte borde (soos Arduino Shield) .mutantC_V2 is die opvolger van mutantC_V1. Kyk hier na mutantC_V1.https: //mutantc.gitlab.io/https: //gitlab.com/mutant
DIY Raspberry Pi Zero Handheld -spelkonsole: 6 stappe (met foto's)
DIY Raspberry Pi Zero Handheld Game Console: In hierdie projek sal ek jou wys hoe ek 'n Raspberry Pi Zero, NiMH-batterye, 'n tuisgemaakte beskerming teen oorontlading, 'n agteruitkyk-lcd en 'n klankversterker gebruik het om 'n handkonsole te skep wat kan speel retro speletjies. Laat ons begin
ESP32 Handheld -spelkonsole: 21 stappe (met foto's)
ESP32 Handheld Game Console: Hierdie instruksies wys hoe u 'n ESP32 en ATtiny861 kan gebruik om 'n NES -emulator -spelkonsole te bou
Handheld -spelkonsole - Arduboy -kloon: 6 stappe (met foto's)
Handheld -spelkonsole | Arduboy-kloon: 'n Paar maande gelede het ek op Arduboy afgekom, wat volgens sy amptelike webwerf 'n miniatuur-8-bis-spelplatform is wat dit maklik maak om aanlyn speletjies te leer, te deel en te speel. Dit is 'n open source platform. Die speletjies vir die Arduboy word deur die gebruiker gemaak
Handheld 6 noot musiekboks / instrument (maklik om te maak en te verbeter!): 5 stappe (met foto's)
Handheld 6 note musiekboks / instrument (maklik om te maak en te verbeter!): Hallo daar! Geïnspireer deur Martin Molin, lid van 'n Sweedse orkes genaamd Wintergatan, het ek onlangs verlief geraak op musiekkaste en alles daaroor. Mense wat liedjies vir musiekbakke maak, gebruik nog steeds die outydse manier om die liedjie nie te slaan nie