- Pregled:
- Potrebne komponente:
- Pojasnilo vezja:
- Delovanje merilnika pospeška:
- Programiranje Arduino:
- Obdelava programov:
- Testiranje:
Povečana resničnost in navidezno igranje sta postala nedavni trend v igralniški industriji. Časi uporabe tipkovnice / igralne palice in miške za igranje računalniške igre so zaostali. Zdaj ima vsaka igralna konzola na voljo navidezni krmilnik, ki nam pomaga igrati igro z gibi telesa in kretnjami, na ta način se je igralna izkušnja močno povečala in uporabnik se počuti bolj vključenega v igro.
V tem projektu se poskusimo zabavati, ko se učimo skozi projekt. Dovolite nam, da ustvarimo igro (da, slišali ste, kako pravilno, mi želimo narediti igro) in jo igrajte z gibanjem roke. Z uporabo Arduina in merilnika pospeška ustvarjamo klasično igro žoge za ping pong.
Pregled:
Danes je na voljo na tone odprtokodne programske opreme, ki je ljubiteljem, kot smo mi, prinesla veliko sreče, in obdelava podatkov je ena izmed njih. S to aplikacijo, ki temelji na JAVA, lahko izdelamo lastno programsko opremo (.exe format) in tudi android aplikacijo (.apk datoteka). Torej bomo uporabili to programsko opremo za izdelavo naše igre, pri obdelavi klepetalnice Arduino smo že uporabljali Processing.
Del strojne opreme bo sestavljen iz Arduina, ki bo vnos pospešil z merilnika pospeška, da ga bo serijsko pošiljal v naš računalnik / prenosni računalnik.
Pa pojdimo po nakupih !!!!
Potrebne komponente:
- Arduino (katera koli različica ali model)
- Merilec pospeška
- Priključne žice
- Obresti (Lolz)
Merilnik pospeška in Arduino Nano
Pojasnilo vezja:
Circuit Arduino Ping Pong Ball Game Project ne vključuje nobenih zapletenih povezav. Uporabil sem Arduino Nano z merilnikom pospeška. Vendar je za nekaj stvari treba poskrbeti, kot je navedeno spodaj:
1. Vaš merilnik pospeška ne more prenašati 5 V, zato vedno povežite merilnik pospeška Vcc s svojim 3,3-voltnim zatičem Arduino.
2. Vsak merilnik pospeška trpi zaradi učinka gravitacije, ki ga je treba obravnavati med programiranjem (preprosto s pomočjo filtra).
S tem v mislih si oglejmo delovanje merilnika pospeška in kako ga uporabljamo.
Delovanje merilnika pospeška:
Pospeška je naprava, ki lahko pretvorite pospešek v katero koli smer na svojem spremenljivo napetostjo. To dosežemo z uporabo kondenzatorjev (glej sliko), ko se Accel premika, kondenzator, ki je v njem, se bo spreminjal (sklic na sliko) glede na gibanje, saj je kapacitivnost različna, lahko dobimo tudi spremenljivo napetost.
Kot smo že omenili, vsak merilec pospeška trpi zaradi problema gravitacijskega učinka. Ne glede na to, kako natančno je umerjen vaš senzor (tudi vaši telefoni Apple Accel.), Bo nanj vplivala gravitacija. V nadaljevanju je podana bolj tehnična razlaga za to težavo.
Zdaj lahko v Arduinu z uporabo enostavnega filtra zmanjšamo učinek gravitacije. Ta filter bo sestavljen iz dveh nizov, eden se uporablja za shranjevanje vzorčnih vrednosti iz senzorja, drugi pa za razvrščanje vzorčnih vrednosti in iskanje najbolj ponavljane vrednosti. Vstavimo ta algoritem v naš Arduino in pripravimo svojo strojno opremo.
Programiranje Arduino:
Program Arduino je naveden spodaj v odseku kode. Ni kritičnih podatkov, ki bi jih bilo treba spremeniti. Morda pa boste želeli razmisliti o naslednjem:
Če vaš Accel še vedno prikazuje naključne vrednosti, povečajte velikost vzorca.
#define Samplesize 13 // filterSample number
Poigrajte se s hitrostjo prenosa 9600 baudov, da povečate hitrost komunikacije med Arduino in Processing. Vendar jih obvezno spremenite v obeh programih (Programi).
void setup () {Serial.begin (9600); }
Moj merilnik pospeška na osi X da 193 na skrajnem levem koncu in 280 na skrajnem desnem koncu, izmerite jih za svoj Accel in posodobite vrednost.
toSend = zemljevid (smoothData1, 193, 280, 0, 255);
Vrednosti so preslikane v en bajt podatkov za serijsko komunikacijo.
Nadalje preverite komentarje v spodnjem zakoniku, da jih boste jasno razumeli.
Obdelava programov:
Processing je odprtokodna programska oprema, ki jo umetniki uporabljajo za grafično oblikovanje. Ta programska oprema se uporablja za razvoj programske opreme in aplikacij za Android. Preprosto ga je razviti in je zelo podoben IDE za razvoj Android. Zato sem razlago skrajšal.
Koda za obdelavo igre Ping Pong je podana tukaj:
- Koda za obdelavo igre Arduino Ping Ball
Z desno miškino tipko kliknite in kliknite "Shrani povezavo kot..", da prenesete kodno datoteko. Nato odprite datoteko v programski opremi 'Processing' in kliknite gumb 'Run', da začnete igrati igro. Za odpiranje datotek *.pde morate namestiti programsko opremo 'Processing'. Oddelek za komentarje je odprt za poizvedbe in preverite tudi komentarje v programu, da ga bolje razumete.
Pod vrstico je v void setup () funkcija obdelave kode pomembna, saj se odloča, iz katerega pristanišča bodo podatki.
port = new Serial (this, Serial.list (), 9600); // Prebere 4. PORT s hitrostjo 9600 baud
Tukaj sem prebral podatke iz 4. pristanišča iz mojega Arduina.
Tako na primer, če imate COM COM COM COM COM
Nato bo zgornja koda prebrala podatke iz COM.
Testiranje:
Ker je naša skica za obdelavo in Arduino pripravljena, preprosto naložite spodnji program na Arduino in povežite svoj Arduino z uporabniškim kablom za osebni računalnik in zaženite igro tako, da zaženete kodno datoteko Processing (.pde). To je to! Premaknite merilnik pospeška in začnite igrati igro Ping Pong. Video vas bo vodil skozi celoten projekt.
Ko ste razumeli program, lahko ustvarite veliko podobnih iger in jih igrate s svojim Arduinom. Poleg tega sta za igranje iger na voljo tudi os Y in os Z.