Talaan ng mga Nilalaman:

Handhand Arduino Pong Console: 6 Hakbang (na may Mga Larawan)
Handhand Arduino Pong Console: 6 Hakbang (na may Mga Larawan)

Video: Handhand Arduino Pong Console: 6 Hakbang (na may Mga Larawan)

Video: Handhand Arduino Pong Console: 6 Hakbang (na may Mga Larawan)
Video: Игра на Arduino 2024, Hunyo
Anonim
Kamay ng Arduino Pong Console
Kamay ng Arduino Pong Console

Naabot ako ng DFRobot kamakailan, nais akong gamitin ang kanilang espesyal na Arduino Nano board at OLED. Sa una nais kong lumikha ng isang matalinong bisikleta, at itinayo ko ito sa kabuuan. Ngunit sa kasamaang palad ang Nano ay masyadong mahina upang tumakbo at maiimbak ang napakalaking sketch na kinakailangan. Kaya't napagpasyahan kong bisitahin muli ang isa sa aking naunang mga proyekto, isang Neopixel matrix na nagpapatakbo ng larong Pong. Nais kong gawin itong portable sa halip, at isang 1.7 OLED ang gagawa ng isang perpektong display.

Listahan ng Mga Bahagi:

  • Arduino nano
  • OLED
  • Tagapagsalita

Hakbang 1: Video

Image
Image

Hakbang 2: Pagdidisenyo ng Laro

Pagdidisenyo ng Laro
Pagdidisenyo ng Laro

Para sa larong Pong na ito ay nais kong panatilihin itong medyo simple, na nangangahulugang kontrolado ng nocomputer sagwan o magarbong mga algorithm ng pagsasalamin ng bola. Karaniwan, mayroong isang solong sagwan na maaaring ilipat ng isang gumagamit pataas o pababa, at ang paggawa ng bola na sumalpok sa sagwan ay magiging sanhi ng pag-flip ng vector ng x axis. Sa tuwing tama ang bola, may tunog na tumutugtog. Kapag pinapagana ang aparato ng laro, lalabas ang isang screen na may pamagat ng laro at mga tagubilin. Bilang karagdagan, lumikha ang aking ina ng isang maliit na kanta ng tema na nag-loop sa background hanggang sa pinindot ang tuktok na pindutan.

Hakbang 3: Pagdidisenyo ng Device ng Gaming

Pagdidisenyo ng Device ng Gaming
Pagdidisenyo ng Device ng Gaming
Pagdidisenyo ng Device ng Gaming
Pagdidisenyo ng Device ng Gaming
Pagdidisenyo ng Device ng Gaming
Pagdidisenyo ng Device ng Gaming
Pagdidisenyo ng Device ng Gaming
Pagdidisenyo ng Device ng Gaming

Ang aking go-to CAD program ay Fusion 360, kaya't nagpasya akong gamitin ito upang idisenyo ang aking aparato sa paglalaro ng pong. Nagsimula ako sa pamamagitan ng pagdidisenyo ng bawat sangkap na ginamit: isang OLED, Arduino Nano, at isang speaker. Sa ganitong paraan nakikita ko nang eksakto kung saan at paano dapat magkasya ang bawat sangkap sa loob ng enclosure. Inilagay ko ang Nano at PCB sa likurang bahagi ng kaso, at ang OLED sa itaas nito. Susunod ay ang tanong kung saan ilalagay ang speaker at mga pindutan. Napagpasyahan kong ang 3W speaker ay maaaring pumunta sa ibaba lamang ng screen (pagtingin dito mula sa itaas), at kinakailangan din ng paglalagay ng isang "grill" sa speaker upang ang tunog ay hindi mambabaan. Panghuli, nagdagdag ako ng dalawang mga pindutan sa kaliwang bahagi upang magdagdag ng mga kontrol.

Hakbang 4: Pagbubuo ng Device

Pagbuo ng Device
Pagbuo ng Device
Pagbuo ng Device
Pagbuo ng Device
Pagbuo ng Device
Pagbuo ng Device

Nagsimula ako sa pamamagitan ng pag-print ng 3D sa bawat bahagi, na binubuo ng mas mababang kalahati, sa itaas na kalahati, at 2 mga pindutan. Sumunod ay hinihinang ko ang isang babaeng header sa 4x6cm at isinakay ito sa Nano. Hindi lamang nito pinapayagan ang OLED na madaling alisin, ngunit dinitaas din ito sa itaas ng Arduino Nano. Suriin ang eskematiko para sa impormasyon ng mga kable. Pagkatapos ay i-wire ko ang dalawang mga pindutan, kasama ang isang simpleng micro USB breakout board para sa lakas. Ang nagsasalita ay naka-attach din at inilagay ang tamang posisyon nito. Pinapayagan ng aking disenyo ng Fusion 360 para sa mga 3mm machine turnilyo na i-hold ang OLED, speaker, at ikonekta ang dalawang halves ng aparato. Ngunit, kailangan kong gawin silang eksakto, kaya ginamit ko ang aking drill press upang maglabas ng 8 butas: 2 para sa speaker, 2 para sa screen, at 4 sa ilalim. Maaari mong bisitahin ang link ng Thingiverse para sa mga file.

Hakbang 5: Pag-program ng Laro

Ang paggamit ng isang simpleng interface ay mahalaga sa pagpapanatiling maliit ng programa. Nagsimula ako sa pamamagitan ng pagdaragdag ng maraming mga aklatan: Adafruit_GFX, Adafruit_SSD1351, at ang Arduino Timer library. Susunod na tinukoy ko ang aking mga pin at kulay, tulad ng mga pin ng OLED at 16 na kahulugan ng kulay. Sa aking code mayroon ding 4 na paraan upang baguhin kung paano naglalaro ang laro, tulad ng pagbabago ng mga sukat ng sagwan at kung gaano kabilis gumalaw ang bola. Ang isang seksyon ay mayroon nang kung saan ang bawat variable ay tinukoy, kabilang ang iskor at iba't ibang mga coordinate. Tuwing ang aparato ay pinalakas sa isang imahe ng isang bola at ang ilang mga teksto ay lilitaw sa screen, kasama ang isang maliit na tema ng tema na tinukoy nang mas maaga sa code. Kapag nagsimula ang laro ay nilikha ang dalawang timer, isa na nag-a-update ng sagwan, at ang iba pa ay ina-update ang bola. Sa tuwing ina-update ng posisyon ng bola ang mga coordinate nito ay naka-check upang matiyak na hindi ito pumasa sa border ng screen o kung ito ay hawakan ng isang sagwan. Sa tuwing tumatalbog ito alinman sa x o y axis nito ay baligtad at isang maliit na tono ang tumutugtog. Panoorin ang video sa simula ng pagsulat na ito upang makita kung paano gumaganap ang laro.

Hakbang 6: Paglalaro ng Pong

Naglalaro ng Pong!
Naglalaro ng Pong!
Naglalaro ng Pong!
Naglalaro ng Pong!
Naglalaro ng Pong!
Naglalaro ng Pong!
Naglalaro ng Pong!
Naglalaro ng Pong!

Ang pangalan ng laro ay upang makuha ang pinakamababang posibleng puntos. Walang limitasyon sa oras, kaya't ito ay kasiya-siya at kahit na nakakaakit ng ulirat. Ang kailangan lamang ay itulak ang isa sa dalawang mga pindutan upang ilipat ang sagwan pataas o pababa. Posible ring magdagdag ng isang paraan upang maiimbak ang pinakamataas na iskor gamit ang EEPROM ng Arduino.

Inirerekumendang: