Sadržaj:
- Korak 1: Video
- Korak 2: Dizajniranje igre
- Korak 3: Dizajniranje igraćeg uređaja
- Korak 4: Konstrukcija uređaja
- Korak 5: Programiranje igre
- Korak 6: Igranje ponga
Video: Ručna Arduino pong konzola: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
DFRobot mi se nedavno obratio, želeći da koristim njihovu posebnu Arduino Nano ploču i OLED. Isprva sam htio stvoriti pametan bicikl, a sagradio sam ga u cijelosti. No, nažalost, Nano je bio preslab za pokretanje i pohranu potrebne skice. Stoga sam odlučio ponovno posjetiti jedan od svojih prethodnih projekata, Neopixel matricu koja je vodila igru Pong. Umjesto toga htio sam ga učiniti prijenosnim, a OLED od 1,7 inča bio bi savršen zaslon.
Popis dijelova:
- Arduino nano
- OLED
- Zvučnik
Korak 1: Video
Korak 2: Dizajniranje igre
Za ovu igru Pong želio sam je držati relativno jednostavnom, što je značilo da nema računala kontrolirano veslo ili otmjene algoritme refleksije loptice. U osnovi, postoji jedno veslo koje korisnik može pomicati gore ili dolje, a sudaranje loptice s veslom uzrokovalo bi preokret njegovog vektora osi x. Svaki put kad se lopta pogodi, čuje se zvuk. Kad je uređaj za igru uključen, pojavljuje se zaslon s naslovom igre i uputama. Osim toga, moja je majka stvorila malu tematsku pjesmu koja se ponavlja u pozadini dok se ne pritisne gornji gumb.
Korak 3: Dizajniranje igraćeg uređaja
Moj go-to CAD program je Fusion 360, pa sam ga odlučio iskoristiti za dizajn svog pong igraćeg uređaja. Počeo sam s dizajniranjem svake korištene komponente: OLED -a, Arduino Nano -a i zvučnika. Na ovaj način mogu vidjeti točno gdje i kako bi svaka komponenta trebala stati unutar kućišta. Zatim sam Nano i PCB stavio u stražnji dio kućišta, a OLED na njega. Slijedilo je pitanje gdje staviti zvučnik i gumbe. Odlučio sam da zvučnik od 3W može proći odmah ispod zaslona (gledajući ga s vrha), a to je također zahtijevalo stavljanje "roštilja" preko zvučnika kako zvuk ne bi bio prigušen. Na kraju, dodao sam dva gumba s lijeve strane za dodavanje kontrola.
Korak 4: Konstrukcija uređaja
Počeo sam s 3D ispisom svakog dijela, koji se sastoji od donje polovice, gornje polovice i 2 gumba. Zatim sam zalemio žensko zaglavlje na 4x6cm i spojio ga na Nano. To ne samo da omogućuje lako uklanjanje OLED -a, već ga podiže i iznad Arduino Nano. Provjerite shemu za informacije o ožičenju. Zatim sam spojio dva gumba, zajedno s jednostavnom mikro USB pločom za napajanje. Zvučnik je također pričvršćen i postavljen u pravilan položaj. Moj dizajn Fusion 360 omogućuje vijcima od 3 mm za držanje OLED -a, zvučnika i spajanje dviju polovica uređaja. No, morao sam ih precizirati pa sam pomoću svoje bušilice izbušio 8 rupa: 2 za zvučnik, 2 za zaslon i 4 ispod. Za datoteke možete posjetiti vezu Thingiverse.
Korak 5: Programiranje igre
Korištenje jednostavnog sučelja bilo je od vitalnog značaja za održavanje programa malim. Počeo sam dodavanjem nekoliko knjižnica: Adafruit_GFX, Adafruit_SSD1351 i biblioteke Arduino Timer. Zatim sam definirao svoje igle i boje, kao što su OLED -ove igle i 16 -bitne definicije boja. U mom kodu postoje i 4 načina da promijenite način igre, poput promjene dimenzija vesla i brzine kretanja loptice. Tada postoji odjeljak u kojem je definirana svaka varijabla, uključujući rezultat i različite koordinate. Kad god je uređaj uključen na slici loptice i na ekranu se pojavi neki tekst, zajedno s malom pjesmom teme koja je definirana ranije u kodu. Kad igra započne, stvaraju se dva mjerača vremena, jedan koji ažurira veslo, a drugi ažurira loptu. Svaki put kad se ažurira položaj loptice provjeravaju se njene koordinate kako bi se provjerilo da ne prelazi granicu zaslona ili dodiruje veslo. Svaki put kada odskoči ili je njegova x ili y osovina obrnuta i začuje se mali ton. Pogledajte video na početku ovog teksta da vidite kako igra igra.
Korak 6: Igranje ponga
Naziv igre je postići najmanji mogući rezultat. Nema vremenskog ograničenja, pa je vrlo ugodno, pa čak i izaziva trans. Sve što je potrebno je pritisnuti jedan od dva gumba za pomicanje vesla gore ili dolje. Također je moguće dodati način za spremanje najveće ocjene pomoću Arduinovog EEPROM -a.
Preporučeni:
ESP32 ručna igraća konzola: 21 korak (sa slikama)
ESP32 Ručna igraća konzola: Ove upute pokazuju kako koristiti ESP32 i ATtiny861 za izgradnju NES emulacijske igraće konzole
GamePi - ručna konzola emulatora: 17 koraka (sa slikama)
GamePi - ručna konzola emulatora: Uvod: Ova uputa opisuje izradu ručne konzole za emulaciju s Raspberry Pi 3 pogonom - krstila sam je GamePi. Postoji mnogo sličnih uputstava za takve uređaje, ali za moj ukus većina ih je ili prevelika, premala
Ručna igraća konzola - Arduboy Clone: 6 koraka (sa slikama)
Ručna igraća konzola | Arduboy Clone: Prije nekoliko mjeseci naišao sam na Arduboy koji je prema službenoj web stranici minijaturna 8-bitna platforma za igre koja olakšava učenje, dijeljenje i igranje igara na mreži. To je platforma otvorenog koda. Igre za Arduboy je napravio korisnik
Domaća ručna konzola: 12 koraka (sa slikama)
Domaća ručna konzola: Dobro došli u moj korak po korak vodič o tome kako stvoriti vlastiti DIY GameBoy s Raspberry Pi 3 i softverom za emulaciju Retropie.Prije početka ovog projekta nisam imao iskustva s malinom pi, retropijom, lemljenjem, 3D ispisom ili električar
Ručna konzola s bežičnim kontrolerima i senzorima (Arduino MEGA & UNO): 10 koraka (sa slikama)
Ručna konzola s bežičnim kontrolerima i senzorima (Arduino MEGA & UNO): Ono što sam koristio:- Arduino MEGA- 2x Arduino UNO- Adafruit 3.5 " TFT 320x480 Zaslon osjetljiv na dodir HXD8357D- zujalica- 4Ohm 3W zvučnik- 5 mm LED svjetla- pisač Ultimaker 2+ s crnom PLA filamentom- laserski stroj s drvom od MDF-a- crna boja u spreju (za drvo)- 3x nRF24