- Pangkalahatang-ideya:
- Kinakailangan ang Mga Bahagi:
- Paliwanag sa Circuit:
- Paggawa ng Accelerometer:
- Programming Arduino:
- Pagpoproseso ng Programming:
- Pagsubok:
Ang Augmented Reality at Virtual Gaming ay naging isang kamakailang kalakaran sa industriya ng paglalaro. Ang mga oras ng paggamit ng isang keyboard / Joystick at isang mouse upang maglaro ng isang computer game ay nawala sa likod. Ngayon ang bawat gaming console ay may isang Virtual Controller na makakatulong sa amin na i-play ang laro gamit ang aming mga paggalaw at kilos ng katawan, sa ganitong paraan ang karanasan sa paglalaro ay nadagdagan ng marami at pakiramdam ng gumagamit ay mas kasangkot sa laro.
Sa proyektong ito, subukang magsaya habang natututo sa pamamagitan ng proyekto. Lumikha tayo ng isang laro (Oo narinig mo ang aking pagwawasto we are goanna lumikha ng isang laro) at i-play ito gamit ang paggalaw ng iyong kamay. Lumilikha kami ng klasikong Ping Pong Ball Game gamit ang Arduino at Accelerometer.
Pangkalahatang-ideya:
Mayroong mga toneladang magagamit na bukas na mapagkukunan ng software sa mga panahong ito na nagdala ng maraming kaligayahan para sa mga libangan tulad namin, at ang Pagproseso ay isa sa mga ito. Gamit ang application na nakabatay sa JAVA maaari kaming bumuo ng sariling software (format na.exe) at isang android application (.apk file) din. Kaya gagamitin namin ang software na ito upang mabuo ang aming laro, dati naming ginamit ang Pagproseso sa paglikha ng Arduino Chat Room.
Ang bahagi ng hardware ay binubuo ng isang Arduino na kukuha ng input mula sa isang Accelerometer upang pakainin ito ng serial sa aming computer / Laptop.
Kaya't magshopping tayo !!!!
Kinakailangan ang Mga Bahagi:
- Arduino (anumang bersyon o modelo)
- Accelerometer
- Mga kumokonekta na mga wire
- Interes (Lolz)
Accelerometer at Arduino Nano
Paliwanag sa Circuit:
Ang Circuit ng Arduino Ping Pong Ball Game Project ay hindi kasangkot sa anumang kumplikadong mga koneksyon. Gumamit ako ng isang Arduino Nano na may isang Accelerometer. Ngunit maraming mga bagay na dapat alagaan tulad ng nabanggit sa ibaba:
1. Hindi mahawakan ng iyong Accelerometer ang 5V, kaya palaging ikonekta ang Vcc ng accelerometer sa iyong 3.3V pin ng Arduino.
2. Ang bawat Accelerometer ay naghihirap mula sa epekto ng gravity na dapat hawakan habang nagprograma (simpleng paggamit ng isang filter).
Sa pag-iisip na ito, tingnan natin ang pagtatrabaho ng isang Accelerometer at kung paano natin ito ginagamit.
Paggawa ng Accelerometer:
Ang isang Accelerometer ay isang aparato na maaaring mag-convert ng acceleration sa anumang direksyon sa kani-kanilang variable na boltahe. Ito ay nagagawa sa pamamagitan ng paggamit ng mga capacitor (refer ng imahe), habang gumagalaw ang Accel, ang capacitor na nasa loob nito, ay sasailalim din sa mga pagbabago (mag-refer ng imahe) batay sa paggalaw, dahil ang capacitance ay iba-iba, ang isang variable na boltahe ay maaari ding makuha.
Kaya, tulad ng nabanggit sa itaas ang bawat accelerometer ay naghihirap mula sa problema ng gravity effect. Hindi mahalaga kung gaano katumpak ang iyong sensor ay naka-calibrate (kahit na ang iyong mga apple phone na Accel.), Maaapektuhan ito ng gravity. Ang isang mas teknikal na paliwanag para sa problemang ito ay ibinibigay sa ibaba.
Ngayon, sa Arduino maaari nating mabawasan ang epekto ng gravity sa pamamagitan ng paggamit ng isang Simple Filter. Ang filter na ito ay binubuo ng dalawang mga arrays, ang isa ay ginagamit upang maiimbak ang mga halimbawang halimbawang mula sa sensor at ang iba pa ay ginagamit upang pag-uri-uriin ang mga halimbawang halimbawang, at hanapin ang pinauulit na halaga. Ipatupad natin ang algorithm na ito sa aming Arduino at ihanda ang aming hardware.
Programming Arduino:
Ang programa ng Arduino ay ibinibigay sa ibaba sa seksyon ng Code. Walang kritikal na data na kailangang baguhin. Ngunit baka gusto mong isaalang-alang ang sumusunod:
Taasan ang laki ng sample kung ang iyong Accel ay nagpapakita pa rin ng mga random na halaga.
#define Samplesize 13 // filterSample number
Maglaro kasama ang 9600 baud rate upang madagdagan ang bilis ng komunikasyon sa pagitan ng Arduino at Pagproseso. Ngunit tiyaking binago mo ang mga ito sa parehong software (Mga Program).
void setup () {Serial.begin (9600); }
Ang aking Accelerometer sa X-axis ay nagbibigay ng 193 sa dulong kaliwang dulo at 280 sa dulong kanang dulo, sukatin ang mga ito para sa iyong Accel at i-update ang halaga.
Ipadala = mapa (makinisData1, 193, 280, 0, 255);
Ang mga halaga ay nai-map sa isang solong byte ng data para sa serial na komunikasyon.
Karagdagang suriin ang Mga Komento sa ibabang Code upang maunawaan ito nang malinaw.
Pagpoproseso ng Programming:
Ang pagpoproseso ay bukas na mapagkukunan ng software na ginagamit ng mga artista para sa pagdidisenyo ng Grapiko. Ginagamit ang software na ito upang paunlarin ang mga aplikasyon ng software at Android. Ito ay medyo madali upang bumuo at halos kapareho sa Android Development IDE. Samakatuwid ay pinaikling ko ang paliwanag.
Ang Processing Code para sa Ping Pong Game ay ibinibigay dito:
- Code sa Pagproseso para sa Arduino Ping Ball Game
Mag-right click dito at mag-click sa 'I-save ang link bilang..' upang i-download ang file ng code. Pagkatapos buksan ang file sa 'Pagproseso' software at mag-click sa pindutan na 'Run' upang i-play ang Laro. Kailangan mong i-install ang 'Pagproseso' ng software upang buksan ang *.pde file. Ang seksyon ng komento ay bukas para sa mga query at suriin din ang mga komento sa Programa upang mas maintindihan ito.
Sa ibaba linya, sa pag-andar ng walang bisa na pag-setup () ng Pagproseso ng code ay mahalaga, dahil nagpapasya ito mula sa aling port sa data mula sa.
port = bagong Serial (ito, Serial.list (), 9600); // Binabasa ang ika-4 na PORT sa 9600 baudrate
Narito na nabasa ko ang data mula sa ika-4 na port mula sa aking Arduino.
Kaya para sa Halimbawa kung mayroon kang COM COM COM COM COM
Pagkatapos ang code sa itaas ay magbabasa ng data mula sa COM.
Pagsubok:
Ngayon dahil handa na ang aming Pagproseso at Arduino sketch, i-upload lamang ang naibigay na programa sa Arduino at ikonekta ang iyong Arduino sa masusing programa ng PC ng gumagamit at ilunsad ang laro sa pamamagitan ng Patakbuhin ang file ng Pagproseso ng file (.pde). Ayan yun! Ilipat ang iyong Accelerometer at i-play ang iyong Ping Pong Game. Ang Video ay gagabay sa iyo sa pamamagitan ng kumpletong proyekto.
Kapag naintindihan mo ang programa maaari kang lumikha ng maraming mga katulad na mga laro at i-play ang mga ito gamit ang iyong Arduino, Dagdag dito ang Y-axis at Z-axis ay maaari ring maisama para sa paglalaro.