- Pārskats:
- Nepieciešamās sastāvdaļas:
- Ķēdes skaidrojums:
- Akselerometra darbība:
- Arduino programmēšana:
- Programmēšanas apstrāde:
- Testēšana:
Paplašinātā realitāte un virtuālās spēles ir kļuvušas par neseno tendenci spēļu nozarē. Laiki, kad datorspēlei spēlējat tastatūru / kursorsviru un peli, ir pagājuši. Tagad katrai spēļu konsolei ir virtuālais kontrolieris, kas palīdz mums spēlēt spēli, izmantojot ķermeņa kustības un žestus. Tādējādi spēļu pieredze ir daudz palielinājusies, un lietotājs jūtas vairāk iesaistīts spēlē.
Šajā projektā mēģināsim izklaidēties, kad mācāmies projekta gaitā. Ļaujiet mums izveidot spēli (jā, jūs dzirdējāt, ka es laboju, ka mēs gatavojamies izveidot spēli) un spēlējiet to, izmantojot rokas kustību. Mēs veidojam klasisko Ping Pong Ball spēli, izmantojot Arduino un Akselerometru.
Pārskats:
Mūsdienās ir pieejamas daudzas atvērtā pirmkoda programmatūras, kas ir sagādājušas daudz laimes tādiem hobijistiem kā mēs, un viena no tām ir apstrāde. Ar šo JAVA balstīto lietojumprogrammu mēs varam izveidot savu programmatūru (.exe formātā) un arī android lietojumprogrammu (.apk failu). Tāpēc mēs izmantosim šo programmatūru, lai izveidotu savu spēli, mēs iepriekš izmantojām Apstrāde, veidojot Arduino tērzēšanas istabu.
Aparatūras daļu veidos Arduino, kas ielādēs ievadi no akselerometra, lai to sērijveidā padotu mūsu datoram / klēpjdatoram.
Tātad ejam iepirkties !!!!
Nepieciešamās sastāvdaļas:
- Arduino (jebkura versija vai modelis)
- Akselerometrs
- Savienojošie vadi
- Procenti (Lolz)
Akselerometrs un Arduino Nano
Ķēdes skaidrojums:
Arduino Ping Pong Ball Game Project shēma neietver sarežģītus savienojumus. Esmu izmantojis Arduino Nano ar akselerometru. Bet ir dažas lietas, kas jārūpējas, kā minēts zemāk:
1. Jūsu akselerometrs nespēj apstrādāt 5V, tāpēc vienmēr pievienojiet akselerometra Vcc savai 3,3 V Arduino tapai.
2. Katrs akselerometrs cieš no gravitācijas ietekmes, kas jārisina programmēšanas laikā (vienkārši izmantojot filtru).
Paturot to prātā, apskatīsim akselerometra darbību un to, kā mēs to izmantojam.
Akselerometra darbība:
Akselerometrs ir ierīce, kas var pārvērst paātrinājums jebkurā virzienā, lai tās attiecīgās mainīgu spriegumu. Tas tiek panākts, izmantojot kondensatorus (skatiet attēlu), jo Accel pārvietojas, tajā esošais kondensators arī mainīsies (atsaucieties uz attēlu), pamatojoties uz kustību, jo kapacitāte ir mainīga, var iegūt arī mainīgu spriegumu.
Tātad, kā minēts iepriekš, katrs akselerometrs cieš no gravitācijas efekta problēmas. Neatkarīgi no tā, cik precīzi tiek kalibrēts jūsu sensors (pat jūsu Apple tālruņi Accel.), To ietekmēs gravitācija. Tālāk ir sniegts tehniskāks šīs problēmas skaidrojums.
Tagad Arduino mēs varam samazināt gravitācijas efektu, izmantojot vienkāršo filtru. Šis filtrs sastāvēs no diviem masīviem, vienu izmanto parauga vērtību glabāšanai no sensora, bet otru - paraugu vērtību kārtošanai un visvairāk atkārtotās vērtības atrašanai. Ieviesīsim šo algoritmu savā Arduino un sagatavosim savu aparatūru.
Arduino programmēšana:
Arduino programma ir sniegta zemāk sadaļā Kods. Nav kritisku datu, kas būtu jāmaina. Bet jūs varētu vēlēties apsvērt sekojošo:
Palieliniet izlases lielumu, ja jūsu Accel joprojām parāda nejaušas vērtības.
#define Samplesize 13 // filterSample number
Spēlējiet ar 9600 bitu pārraides ātrumu, lai palielinātu saziņas ātrumu starp Arduino un Processing. Bet noteikti nomainiet tos abās programmatūrās (programmas).
void setup () {Sērijas.sākt (9600); }
Mans akselerometrs uz X ass dod 193 kreisajā un kreisajā pusē, izmēra tos savam Accel un atjaunina vērtību.
toSend = karte (smoothData1, 193, 280, 0, 255);
Vērtības tiek kartētas vienā datu baitā, lai veiktu seriālo saziņu.
Turpmāk pārbaudiet komentārus zemāk dotajā kodeksā, lai to skaidri saprastu.
Programmēšanas apstrāde:
Apstrāde ir atvērtā koda programmatūra, kuru mākslinieki izmanto grafikas projektēšanā. Šī programmatūra tiek izmantota programmatūras un Android lietojumprogrammu izstrādei. Tas ir diezgan viegli izstrādājams un ļoti līdzīgs Android Development IDE. Tāpēc esmu saīsinājis paskaidrojumu.
Pingponga spēles apstrādes kods ir norādīts šeit:
- Apstrādes kods Arduino Ping Ball Game
Ar peles labo pogu noklikšķiniet uz tā un noklikšķiniet uz Saglabāt saiti kā.., lai lejupielādētu koda failu. Pēc tam atveriet failu programmatūrā 'Processing' un noklikšķiniet uz 'Run', lai spēlētu spēli. Lai atvērtu *.pde failus, jāinstalē programmatūra “Apstrāde”. Komentāru sadaļa ir atvērta vaicājumiem, kā arī pārbaudiet programmas komentārus, lai tos labāk izprastu.
Zem rindas ir svarīga koda apstrādes funkcija void setup (), jo tā izlemj, no kuras porta uz datiem.
ports = jauna sērija (this, Serial.list (), 9600); // Lasa 4. OSTU ar 9600 baudratu
Šeit es esmu izlasījis datus no 4. porta no sava Arduino.
Tā, piemēram, ja jums ir COM COM COM COM COM COM
Tad iepriekš minētais kods nolasīs datus no COM.
Testēšana:
Tā kā mūsu apstrādes un Arduino skice ir gatava, vienkārši augšupielādējiet zemāk norādīto programmu Arduino un pievienojiet savu Arduino lietotāja datora rūpīgam programmēšanas kabelim un palaidiet spēli, palaidot procesu koda fails (.pde). Tieši tā! Pārvietojiet savu akselerometru un spēlējiet savu pingponga spēli. Video palīdzēs jums, izmantojot pilnīgu projektu.
Kad esat sapratis programmu, varat izveidot daudzas līdzīgas spēles un spēlēt tās, izmantojot savu Arduino. Turklāt spēlēšanai var būt iekļauta arī Y un Z ass.