- Översikt:
- Komponenter som krävs:
- Kretsförklaring:
- Arbeta med accelerometer:
- Programmering av Arduino:
- Programmeringsbehandling:
- Testning:
Augmented Reality och Virtual Gaming har blivit en ny trend inom spelbranschen. Tiderna med att använda ett tangentbord / joystick och en mus för att spela ett dataspel har gått bakom. Nu kommer varje spelkonsol med en virtuell kontroller som hjälper oss att spela spelet med våra kroppsrörelser och gester, på detta sätt har spelupplevelsen ökat mycket och användaren känner sig mer involverad i spelet.
I det här projektet ska vi försöka ha kul när vi lär oss genom projektet. Låt oss skapa ett spel (Ja du hörde mig rätta vi är goanna skapa ett spel) och spela det med din handrörelse. Vi skapar det klassiska Ping Pong Ball Game med Arduino och Accelerometer.
Översikt:
Det finns massor av programvara med öppen källkod för närvarande, vilket har gett massor av lycka för hobbyister som oss, och bearbetning är en av dem. Med den här JAVA-baserade applikationen kan vi bygga ut egen mjukvara (.exe-format) och även en Android-applikation (.apk-fil). Så vi ska använda den här programvaran för att bygga vårt spel, vi har tidigare använt Processing för att skapa Arduino Chat Room.
Hårdvarudelen kommer att bestå av en Arduino som hämtar ingången från en accelerometer för att mata den seriellt till vår dator / bärbara dator.
Så låt oss handla !!!!
Komponenter som krävs:
- Arduino (vilken version eller modell som helst)
- Accelerometer
- Anslutande ledningar
- Intresse (Lolz)
Accelerometer och Arduino Nano
Kretsförklaring:
Circuit of Arduino Ping Pong Ball Game Project innebär inga komplexa anslutningar. Jag har använt en Arduino Nano med en accelerometer. Men det finns få saker att ta hand om som nämns nedan:
1. Din accelerometer kan inte hantera 5V, så anslut alltid Vcc för accelerometern till din 3.3V-stift av Arduino.
2. Varje accelerometer lider av den tyngdkraftseffekt som måste hanteras under programmering (helt enkelt med ett filter).
Med detta i åtanke, låt oss undersöka hur en accelerometer fungerar och hur vi använder den.
Arbeta med accelerometer:
En accelerometer är en anordning som kan omvandla acceleration i vilken riktning som helst till sin respektive variabla spänning. Detta åstadkoms genom att använda kondensatorer (se bild), när Accel rör sig, kondensatorn som finns inuti den, kommer också att genomgå förändringar (se bild) baserat på rörelsen, eftersom kapacitansen varieras kan en variabel spänning också erhållas.
Så som nämnts ovan lider varje accelerometer av tyngdkraftseffekten. Oavsett hur exakt din sensor är kalibrerad (även din Apple-telefon Accel.), Kommer den att påverkas av gravitationen. En mer teknisk förklaring till detta problem ges nedan.
Nu, i Arduino kan vi minska tyngdkraftseffekten genom att använda ett enkelt filter. Detta filter består av två matriser, en används för att lagra provvärdena från sensorn och den andra används för att sortera provvärdena och hitta det mest upprepade värdet. Låt oss implementera denna algoritm i vår Arduino och göra vår hårdvara redo.
Programmering av Arduino:
Arduino-programmet ges nedan i kodavsnittet. Det finns inga kritiska data som måste ändras. Men du kanske vill överväga följande:
Öka provstorleken om din Accel fortfarande visar slumpmässiga värden.
#define Samplesize 13 // filterSample number
Spela med 9600 baudhastighet för att öka kommunikationshastigheten mellan Arduino och Processing. Men se till att du ändrar dem i både programvaran (Program).
ogiltig installation () {Serial.begin (9600); }
Min accelerometer på X-axeln ger 193 längst till vänster och 280 längst till höger, mät dem för din Accel och uppdatera värdet.
toSend = karta (smoothData1, 193, 280, 0, 255);
Värdena mappas till en enda databyte för seriekommunikation.
Läs vidare kommentarerna i nedanstående kod för att förstå det tydligt.
Programmeringsbehandling:
Bearbetning är programvara med öppen källkod som används av artister för grafikdesign. Denna programvara används för att utveckla programvara och Android-applikationer. Det är ganska lätt att utveckla och mycket liknar Android Development IDE. Därför har jag förkortat förklaringen.
Bearbetningskoden för Ping Pong-spelet ges här:
- Bearbetningskod för Arduino Ping Ball Game
Högerklicka på den och klicka på 'Spara länk som…' för att ladda ner kodfilen. Öppna sedan filen i "Processing" -programvaran och klicka på "Run" -knappen för att spela spelet. Du måste installera 'Processing' programvara för att öppna *.pde-filer. Kommentarsektionen är öppen för frågor och kontrollera även kommentarerna i programmet för att bättre förstå det.
Nedanför raden, i tomrumsuppsättningen () -funktionen för bearbetningskoden är viktig eftersom den bestämmer från vilken port till data från.
port = ny serie (denna, Serial.list (), 9600); // Läser den fjärde hamnen vid 9600 baudrate
Här har jag läst data från den fjärde porten från min Arduino.
Så till exempel om du har COM COM COM COM COM
Då läser ovanstående kod data från COM.
Testning:
Nu eftersom vår process- och Arduino-skiss är klar, laddar du bara upp det nedan angivna programmet till Arduino och ansluter din Arduino till användardatorns grundliga programmeringskabel och startar spelet med Run the Processing code file (.pde). Det är allt! Flytta din accelerometer och spela ditt Ping Pong-spel. Den Video guidar dig genom hela projektet.
När du väl har förstått programmet kan du skapa många liknande spel och spela dem med din Arduino. Ytterligare Y-axeln och Z-axeln kan också inkluderas för spel.