Sadržaj:

Ručna Arduino pong konzola: 6 koraka (sa slikama)
Ručna Arduino pong konzola: 6 koraka (sa slikama)

Video: Ručna Arduino pong konzola: 6 koraka (sa slikama)

Video: Ručna Arduino pong konzola: 6 koraka (sa slikama)
Video: ARDUINO uno - "ručna" kontrola pozicije Servo Motora 2024, Lipanj
Anonim
Ručna konzola Arduino Pong
Ručna konzola Arduino Pong

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

Image
Image

Korak 2: Dizajniranje igre

Dizajniranje igre
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

Dizajniranje igraćeg uređaja
Dizajniranje igraćeg uređaja
Dizajniranje igraćeg uređaja
Dizajniranje igraćeg uređaja
Dizajniranje igraćeg uređaja
Dizajniranje igraćeg uređaja
Dizajniranje igraćeg uređaja
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

Konstrukcija uređaja
Konstrukcija uređaja
Konstrukcija uređaja
Konstrukcija uređaja
Konstrukcija uređaja
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

Igranje ponga!
Igranje ponga!
Igranje ponga!
Igranje ponga!
Igranje ponga!
Igranje ponga!
Igranje ponga!
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: