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, Jun
Anonim
Ručna Arduino pong konzola
Ručna Arduino pong konzola

DFRobot mi se nedavno obratio, želeći da koristim njihovu posebnu Arduino Nano ploču i OLED. U početku sam htio stvoriti pametan bicikl, a sagradio sam ga u cijelosti. Nažalost, Nano je bio preslab za pokretanje i skladištenje potrebne skice. Zato sam odlučio ponovno posjetiti jedan od svojih prethodnih projekata, Neopixel matricu koja je vodila igru Pong. Htio sam umjesto toga učiniti ga prijenosnim, a OLED od 1,7 inča bio bi savršen zaslon.

Lista dijelova:

  • Arduino nano
  • OLED
  • Zvučnik

Korak 1: Video zapis

Image
Image

Korak 2: Dizajniranje igre

Dizajniranje igre
Dizajniranje igre

Za ovu igru Pong želio sam je održati relativno jednostavnom, što je značilo da nema kompjuterski kontroliranih lopatica ili otmjenih algoritama za refleksiju 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 kada lopta pogodi zvuk koji svira. Kada se uređaj za igru uključi, pojavljuje se ekran s naslovom igre i uputama. Osim toga, moja majka je stvorila malu tematsku pjesmu koja se ponavlja u pozadini dok se ne pritisne gornje dugme.

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 odlučio koristiti ga za dizajn svog pong uređaja za igre. Počeo sam s dizajniranjem svake korištene komponente: OLED -a, Arduino Nano -a i zvučnika. Na ovaj način mogu vidjeti gdje i kako bi svaka komponenta trebala stati unutar kućišta. Zatim sam stavio Nano i PCB u zadnji dio kućišta, a OLED na njega. Slijedilo je pitanje gdje staviti zvučnik i dugmad. Odlučio sam da zvučnik od 3W može proći odmah ispod ekrana (gledajući ga odozgo), a to je također zahtijevalo postavljanje "roštilja" preko zvučnika kako zvuk ne bi bio prigušen. Na kraju, dodao sam dva dugmeta 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 sa 3D štampanjem svakog dijela, koji se sastoji od donje polovine, gornje polovine i 2 dugmeta. Zatim sam zalemio žensko zaglavlje na 4x6cm i spojio ga na Nano. Ovo ne samo da omogućava lako uklanjanje OLED -a, već ga podiže i iznad Arduino Nano -a. 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đe pričvršćen i postavljen u pravilan položaj. Moj dizajn Fusion 360 omogućava da mašinski vijci od 3 mm drže OLED, zvučnik i povežu dvije polovice uređaja. Ali, morao sam ih precizirati, pa sam pomoću svoje bušilice izbušio 8 rupa: 2 za zvučnik, 2 za ekran 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 biblioteka: Adafruit_GFX, Adafruit_SSD1351 i biblioteka Arduino Timer. Zatim sam definirao svoje igle i boje, kao što su OLED -ovi 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 svaka varijabla definirana, uključujući rezultat i različite koordinate. Kad god se uređaj napaja na slici loptice i na ekranu se pojavljuje neki tekst, zajedno s malom pjesmom koja je definirana ranije u kodu. Kada igra započne, kreiraju se dva mjerača vremena, jedan koji ažurira veslo, a drugi ažurira loptu. Svaki put kada se položaj loptice ažurira, provjeravaju se njene koordinate kako bi se provjerilo da ne prelazi granicu ekrana 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. Ne postoji vremensko ograničenje, pa je vrlo ugodno, pa čak i izaziva trans. Sve što je potrebno je pritisnuti jedno od dva dugmeta za pomicanje vesla gore ili dolje. Također je moguće dodati način za spremanje najvećeg rezultata pomoću Arduinovog EEPROM -a.

Preporučuje se: