- Oversigt:
- Nødvendige komponenter:
- Forklaring af kredsløb:
- Arbejde af accelerometer:
- Programmering Arduino:
- Programmeringsbehandling:
- Testning:
Augmented Reality og Virtual Gaming er blevet en nylig tendens i spilbranchen. Tiderne med at bruge et tastatur / joystick og en mus til at spille et computerspil er gået bagud. Nu kommer hver spilkonsol med en virtuel controller, der hjælper os med at spille spillet ved hjælp af vores kropsbevægelser og bevægelser, på denne måde er spiloplevelsen steget meget, og brugeren føler sig mere involveret i spillet.
Lad os i dette projekt prøve at have det sjovt, når vi lærer igennem projektet. Lad os oprette et spil (Ja, du hørte mig rette, vi er goanna oprette et spil) og spille det ved hjælp af din hånds bevægelse. Vi opretter det klassiske bordtennisboldspil ved hjælp af Arduino og Accelerometer.
Oversigt:
Der er masser af open source-software til rådighed i disse dage, hvilket har skabt masser af lykke for hobbyister som os, og behandling er en af dem. Med denne JAVA-baserede applikation kan vi opbygge egen software (.exe-format) og også en Android-applikation (.apk-fil). Så vi skal bruge denne software til at opbygge vores spil, vi har tidligere brugt Processing til at skabe Arduino Chat Room.
Hardwaredelen består af en Arduino, som henter input fra et accelerometer for at føje det serielt til vores computer / bærbare computer.
Så lad os shoppe !!!!
Nødvendige komponenter:
- Arduino (enhver version eller model)
- Accelerometer
- Tilslutning af ledninger
- Interesse (Lolz)
Accelerometer og Arduino Nano
Forklaring af kredsløb:
Circuit of Arduino Ping Pong Ball Game Project involverer ingen komplekse forbindelser. Jeg har brugt en Arduino Nano med et accelerometer. Men der er få ting, der skal tages hånd om, som nævnt nedenfor:
1. Dit accelerometer kan ikke håndtere 5V, så tilslut altid Vcc for accelerometer til din 3,3V pin Arduino.
2. Hvert accelerometer lider under tyngdekraften, som skal håndteres under programmering (blot ved hjælp af et filter).
Med dette i tankerne lad os se på, hvordan et accelerometer fungerer, og hvordan vi bruger det.
Arbejde af accelerometer:
Et accelerometer er en enhed, der kan konvertere acceleration i enhver retning til sin respektive variable spænding. Dette opnås ved hjælp af kondensatorer (se billede), når accelerationen bevæger sig, kondensatoren til stede inde i den, vil også gennemgå ændringer (se billede) baseret på bevægelsen, da kapacitansen er varieret, kan en variabel spænding også opnås.
Så som nævnt ovenfor lider hvert accelerometer af problemet med tyngdekraften. Uanset hvor nøjagtig din sensor er kalibreret (selv din Apple-telefon Accel.), Påvirkes den af tyngdekraften. En mere teknisk forklaring på dette problem gives nedenfor.
Nu i Arduino kan vi reducere tyngdekraftens virkning ved hjælp af et simpelt filter. Dette filter består af to arrays, den ene bruges til at gemme prøveværdierne fra sensoren, og den anden bruges til at sortere prøveværdierne og finde den mest gentagne værdi. Lad os implementere denne algoritme i vores Arduino og gøre vores hardware klar.
Programmering Arduino:
Arduino-programmet er angivet nedenfor i kodesektionen. Der er ingen kritiske data, der skal ændres. Men du vil måske overveje følgende:
Forøg prøvestørrelsen, hvis din Accel stadig viser tilfældige værdier.
#define Samplesize 13 // filterSample number
Spil med 9600 baudrate for at øge kommunikationshastigheden mellem Arduino og Processing. Men sørg for at ændre dem i begge softwaren (Programmer).
ugyldig opsætning () {Serial.begin (9600); }
Mit accelerometer på X-aksen giver 193 i den yderste venstre ende og 280 i den yderste højre ende, mål dem til din Accel og opdater værdien.
toSend = kort (smoothData1, 193, 280, 0, 255);
Værdierne kortlægges i en enkelt databyte til seriel kommunikation.
Se yderligere kommentarer i nedenstående kode for at forstå det tydeligt.
Programmeringsbehandling:
Processing er open source-software, der bruges af kunstnere til grafisk design. Denne software bruges til at udvikle software og Android-applikationer. Det er ret let at udvikle og ligner meget Android Development IDE. Derfor har jeg forkortet forklaringen.
Processing Code for Ping Pong Game er givet her:
- Behandlingskode til Arduino Ping Ball Game
Højreklik på det og klik på 'Gem link som…' for at downloade kodefilen. Åbn derefter filen i 'Processing' software og klik på 'Run' knappen for at spille spillet. Du skal installere 'Processing' -software for at åbne *.pde-filer. Kommentarsektionen er åben for forespørgsler og tjek også kommentarerne i programmet for bedre at forstå det.
Under linjen er funktionen ugyldig opsætning () af behandlingskode vigtig, da den beslutter fra hvilken port til data fra.
port = ny Serial (denne, Serial.list (), 9600); // Læser den 4. PORT ved 9600 baudrate
Her har jeg læst data fra 4. port fra min Arduino.
Så for eksempel hvis du har COM COM COM COM COM
Derefter læser ovenstående kode data fra COM.
Testning:
Nu da vores Processing- og Arduino-skitse er klar, skal du blot uploade nedenstående program til Arduino og slutte din Arduino til bruger-pc's grundige programmeringskabel og starte spillet ved at køre Processing code-filen (.pde). Det er det! Flyt dit accelerometer og spil dit bordtennis-spil. Den video vil guide dig gennem hele projektet.
Når du har forstået programmet, kan du oprette mange lignende spil og spille dem ved hjælp af din Arduino. Y-aksen og Z-aksen kan desuden også være inkluderet til spil.