Innehållsförteckning:

Tylt: 6 steg
Tylt: 6 steg

Video: Tylt: 6 steg

Video: Tylt: 6 steg
Video: Сделай Сам: Идеи, Которые Переведут Ваш Дом На Новый Уровень ▶6 2024, November
Anonim
Tylt
Tylt
Tylt
Tylt
Tylt
Tylt

Projektbeskrivning: Skapa en rörelsebaserad controller som kan kommunicera data fram och tillbaka från arduino -kortet till Unity 5 -speldesignmotorn. I detta fall använder vi en trippelaxelaccelerometer (Adxl345) för att styra X- och Y -positionen för spelobjekt inuti Unity -motorn. Både accelerometern och arduino är monterade i en rektangelbox för att bilda en bekväm, användarvänlig kontroller.

Material:

Accelerometer

Klisterlim

Arduino Board Grundläggande lödningskunskaper

Breadboard Laser Cutter (Bandsåg skulle också fungera, men inte lika exakt)

Plexiglas (eller andra material som du vill montera arduino och accelerometer i) USB 1.1 -kabel

Trådar

Steg 1: Mekanisk montering

Mekanisk montering
Mekanisk montering
Mekanisk montering
Mekanisk montering
Mekanisk montering
Mekanisk montering

Sätt först dina stift i accelemenatorn. I det här exemplet är alla stiften lödda, men de enda nödvändiga stiften är: VIN -port, Grnd -port, SDA -port och SCL -port. Placera accelerometern på brödbrädan så att alla stiften är i olika rader, men i samma kolumn. Anslut sedan de fyra ledningarna från arduino till acceleratorn. En ledning ska gå från 5V -porten på arduino, till VIN -porten på accelerometern. Både jordportar på arduino och accelerometer bör också anslutas. SDA- och SCL -portarna på arduino ska också anslutas (och matchas) till SDA- och SCL -portarna på accelerometern. Kontrollera baksidan av din arduino för att ta reda på vilka av dess portar som är SDA och SCL. Oroa dig inte för att ansluta en strömförsörjning, all ström kommer att matas till arduino via USB 1.1 -kabeln.

Steg 2: Designa ditt spel

Detta är förmodligen den viktigaste delen av spelet, och det rekommenderas starkt att vara bekväm med enhet för detta projekt. Du kan verkligen göra vilken typ av spel du vill, vi bestämde oss för att göra ett boll- och labyrintstil. När du gör spelet, se till att göra alla föremål som behöver kontrolleras barn till ett större spelobjekt.

Steg 3: Kodning

Detta är förmodligen den svåraste delen av projektet. Det första du kommer att vilja göra är att ladda ner kodbiblioteket för ADXL345 -accelerometern i Arduino IDE. Det finns på adafruit -webbplatsen. När den har laddats upp till arduino kommer den att spotta ut en massa data till den seriella bildskärmen. Det som verkligen skulle vara idealiskt här är att ta tag i XYZ -positionsdata och skicka dem direkt till enhetsprojektet, men att skicka floats är inte så enkelt som det verkar. När du skickar data läser enhet alltid in den som en sträng, vilket visar sig vara svårt att arbeta med. För att komma runt detta är det vi kan göra en serie if -uttalanden för arduino. till exempel:

if (event.acceleration.y> 3) {

Serial.println ("höger");

}

Vi kommer att vilja göra dessa typer av jämförelser för åtta olika riktningar: Upp, Ned, Vänster, Höger, Upp-Höger, Upp-Vänster, Ned-Höger och Ned-Vänster.

Genom att skicka dessa riktningar kan vi faktiskt använda dem! I Unity, på vår spelarkontroller (som ska fästas på objektet eller gruppen av objekt du vill styra) Vi kommer att vilja använda en if -sats som kommer att använda strängen som läses in:

if (serial. ReadLine () == "vänster") {

Debug. Log ("vänster");

transform. Rotate ((-Time.deltaTime * 50), 0, 0);

}

Och igen, vi kommer att vilja göra detta för alla åtta riktningar.

Nu är det svåraste att faktiskt låta data skickas till enhet. I samma skript kommer vi att vilja tillåta seriebiblioteket: med System. IO. Ports

Sedan kommer vi att vilja skapa en ny seriell portinstans:

SerialPort serial = new SerialPort ("COM5", 9600);

** Notera för att kontrollera vilken COM din arduino använder, du kan göra detta i Arduino IDE, men de vanligaste är COM3 och COM5. **

Inne i vår startfunktion vill vi nu öppna serieporten:

om (! serial. IsOpen) {

serial. Open ();

serial. ReadTimeout = 10;

}

Efter allt detta, försök testa dataöverföringen, så ska du se att det fungerar!

Steg 4: Skärning

Skärande
Skärande
Skärande
Skärande

Nu när du har ditt spel kodat och din arduino kommunicerar med Unity 5 är projektet i princip klart. Men du vill montera den till en användarvänlig, attraktiv kontroller som alla dina vänner kan använda! För att skapa denna styrenhet kan du använda allt material du vill ha, se bara till att det inte slänger dina koordinater i din accelemenator, du kan behöva gå tillbaka och justera din kod i enlighet därmed. Se också till att lämna din USB 1.1 -port öppen för att ansluta din handkontroll till din dator. I det här exemplet använde vi plexiglas. Först måste du mäta måtten på varje del för att passa dina behov. Återigen, var noga med att ta ett konto för att öppna USB 1.1 -porten. Skär sedan ut alla delar av för kontrollboxen med en laserskärare. Du kan också skära plexiglas med en bandsåg, men laserskäraren är mer exakt. Dessutom använde vi en bandsåg för att skära ut en liten bit trä som hade samma dimensioner som arduinoen. Även om detta inte är nödvändigt rekommenderas det för monteringssteget.

Steg 5: Kontrollenhet

Styrenhet
Styrenhet
Styrenhet
Styrenhet

(Om du inte klippte träbiten enligt rekommendationerna i föregående steg, hoppa över den här första instruktionen) Ta din träbit och lägg arduino -brädan ovanpå den. Skruva sedan fast din bräda på träet och se till att det sitter ordentligt på plats. Lim sedan ditt trä på botten av ditt plexiglas. Om du hoppade över träet kan du skruva brädan direkt i plexiglas, men det kan skada det eller bli obekvämt om det inte är tillräckligt tjockt för skruven. Ta sedan bort den självhäftande dekalen från baksidan av din brödbräda, placera den på nära håll och intill arduino. Limma sedan resten av dina lådbitar för att bilda kontrollen, se till att USB 1.1 -porten fortfarande är tillgänglig.

Steg 6: Plug and Play

Du är klar! Anslut din söta controller till din dator med USB 1.1 -kabeln och testa ditt spel!

Rekommenderad: