Indholdsfortegnelse:

Sådan styres et enkelt forarbejdningsspil med Arduino: 6 trin
Sådan styres et enkelt forarbejdningsspil med Arduino: 6 trin

Video: Sådan styres et enkelt forarbejdningsspil med Arduino: 6 trin

Video: Sådan styres et enkelt forarbejdningsspil med Arduino: 6 trin
Video: НОЖ как БРИТВА за две минуты! РЕЖЕТ ДАЖЕ ПЛАСТИК! Отличная идея своими руками! 2024, Juli
Anonim
Sådan styres et enkelt forarbejdningsspil med Arduino
Sådan styres et enkelt forarbejdningsspil med Arduino
Sådan styres et enkelt forarbejdningsspil med Arduino
Sådan styres et enkelt forarbejdningsspil med Arduino

Hej alle sammen, I denne instruktive vil vi se, hvordan man opretter et "link" mellem en behandlingsskitse og et Arduino -kort. I dette eksempel vil et ultralydsmodul blive brugt til at styre et fly i et simpelt spil. Igen er denne tutorial bare et eksempel, du kan bruge den til at oprette noget andet, et andet spil eller et andet sjovt projekt! Bare tag et kig på de forskellige slags sensorer, der understøttes af Arduino, og forestil dig, hvilken slags projekter du kan lave! Målet med spillet er enkelt: styr højden på et fly, og prøv at undgå skyerne. Højden på flyet er givet af din hånd. Fortæl mig som altid, hvis du finder engelske fejl! Stil gerne spørgsmål.

Trin 1: Materialeliste

Materialeliste
Materialeliste

Ok, du skal bruge: • et Arduino -kort (UNO i dette eksempel) • et ultralydsmålemodul • brødbrætstråde • Arduino -software installeret på computeren (link her) • Behandlingssoftware (link her) • Arduino og Processing sketches (se næste skridt)

Trin 2: Arduino ledninger

Arduino ledninger
Arduino ledninger
Arduino ledninger
Arduino ledninger
Arduino ledninger
Arduino ledninger

Ok, indlæs venligst den vedhæftede skitse i Arduino IDE. Ultralydsmodulledningen er enkel:

  • Vcc -> til Arduino 5v
  • Trig -> Arduino pin 3
  • Ekko -> Arduino pin 2
  • GND -> til Arduino GND

Hvordan fungerer dette modul? Den indeholder to ultralydssendere og modtagere (de grå cylindre). Emitteren sender en lydvibration, vibrationen hopper på det nærmeste objekt (din hånd), og signalet modtages af modulet. Ved at beregne tiden mellem emissionen og modtagelsen vil modulet udlede afstanden mellem ham og din hånd. Kontroller ledningerne, og upload koden på Arduino. Åbn derefter Serial Monitor, og flyt din hånd over modulet. Den serielle skærm skal vise en liste med numre … Afstanden i cm mellem ham og dig. Hent i dette vindue, hent serienummeret. I mit tilfælde, COM16. (nederste højre side af vinduet)

Trin 3: Behandling af konfiguration

Behandler konfiguration
Behandler konfiguration
Behandler konfiguration
Behandler konfiguration

Ok, åbn Processing, og åbn den vedhæftede zip -fil. Den indeholder kildeskitsen og nogle billeder. Lad dem være i den samme mappe.

Kontroller linjen 52 i koden. Vi sætter vores serienummer her.

Ok det er mærkeligt, Processing fungerer ikke direkte med COM -portnummeret, men med en anden nummerering. Hvis din serielle port er 1, er behandlingsnummeret 0. COM 2 -> Behandlingsnummer 1, … I mit tilfælde er COM16 nummer 2. (I tilfælde af problemer skal du bare uploade og køre den vedhæftede skitse "serial_ports.pde" i behandling for at søge efter eksisterende serielle porte.)

Processing sketch -spillet får de serielle data fra Arduino, og værdierne vil blive brugt til at flytte flyet.

Hvordan det virker ?

Arduino -kortet sender kun data, hvis spilleren bevæger hånden. Så snart data er modtaget, aktiveres en særlig begivenhed i behandlingskoden:

Så når spilleren bevæger hånden, sendes en ny afstandsværdi. Behandlingsskitsen får værdien, tjek området og anvend den nye værdi på højdevariablen. I mellemtiden fortsætter spillet …

Ved fejlfindingsproblemer udskrives den indgående afstand i behandlingskonsollen.

Trin 4: Spil

Spil !
Spil !
Spil !
Spil !

Ok, hvis alt er OK, skal du vælge Kør i hovedværktøjslinjen. Læg emitteren vandret på et bord, og læg din hånd ca. 20 cm over for at starte. Flyet skal bevæge sig, mens du bevæger din hånd … Højdeværdierne vises i behandlingskonsollen. Husk, at dette spil bare er et eksempel, du ikke kan tabe eller vinde … (men ser meget hårdt ud?) Det er alt på en enkel måde at bruge Arduino -sensorer til i dette tilfælde at køre et spil skrevet i Processing. Men forestil dig, hvad du kan gøre med andre sensorer: et accelerometer (med tænk på wiimote -spil), digitale knapper, gyroskopsensor, lyddetektorer, piezzosensorer … Hvilken slags spil vil du oprette? Tak fordi du læste!

OPDATERING: Kontroller det nye næste trin for at lære at udskifte flytegningen med et flot billede.

Trin 5: Valgfrit trin: Sådan udskiftes flyet med et billede

Valgfrit trin: Sådan udskiftes flyet med et billede
Valgfrit trin: Sådan udskiftes flyet med et billede

Jeg fik en masse feedback om dette projekt. Tak alle sammen, det er altid en fornøjelse.

Nogle mennesker spørger mig, hvordan jeg skal erstatte den (grimme) flymodel med et billede, som skyerne. (Det er rigtigt, den oprindelige model var ikke rigtig smuk …)

For at erstatte det med et billede, skal du bare erstatte linjekoordinaterne med et billedopkald. Så du skal først indlæse det, og for at sikre, at billedet oversættes og roteres fint.

Kontroller den vedhæftede ZIP -fil. Den indeholder den nye projektfil med det nye flybillede. Flere forklaringer er i programmet. Bare spørg, hvis du har yderligere spørgsmål.

Tak fordi du læste !!

Trin 6: Et scoringssystem

Et Scoresystem
Et Scoresystem

OPDATERING 07/12/15:

Hej læsere, Mange spurgte, hvordan man tilføjede et scoringssystem, når man ramte (lidt voldsomt nej?) Fuglen.

En enkel måde at opnå dette på er at beregne afstanden mellem flyet og fuglen. Når denne afstand går under en given værdi (40 pixels i min kode), øges scoren med en, og fuglens position nulstilles til højre side af skærmen.

Partituret vises også på skærmen.

Den eneste ulempe med denne metode er, at den ikke rigtig tager sig af flyets position. Men det virker.

Hvis du vil have noget hårdere, skal du bare reducere tærskelafstanden, prøv 20 pixels.

Tjek den vedhæftede kode. Pak filen ud, og sørg for at gemme billederne i den samme mappe.

Anbefalede: