Inhoudsopgave:

Tylt: 6 stappen
Tylt: 6 stappen

Video: Tylt: 6 stappen

Video: Tylt: 6 stappen
Video: Horeca training | Een perfect biertje tappen in 6 stappen 2024, November
Anonim
Tylto
Tylto
Tylto
Tylto
Tylto
Tylto

Projectbeschrijving: een op beweging gebaseerde controller maken die gegevens heen en weer kan communiceren van het arduino-bord naar de Unity 5-game-ontwerpengine. In dit geval gebruiken we een versnellingsmeter met drie assen (Adxl345) om de X- en Y-positie van game-objecten in de Unity-engine te regelen. Zowel de versnellingsmeter als de arduino zijn in een rechthoekige doos geassembleerd om een comfortabele, gebruiksvriendelijke controller te vormen.

Materialen:

Versnellingsmeter

Zelfklevende lijm

Arduino BoardBasis soldeervaardigheden

BreadboardLaser Cutter (Bandsaw zou ook werken, maar niet zo nauwkeurig)

Plexiglas (of andere materialen waarin u de arduino en versnellingsmeter wilt monteren) USB 1.1-kabel

Draden

Stap 1: Mechanische montage

Mechanische montage
Mechanische montage
Mechanische montage
Mechanische montage
Mechanische montage
Mechanische montage

Zet eerst je pinnen in het gaspedaal. In dit voorbeeld zijn alle pinnen gesoldeerd, maar de enige noodzakelijke pinnen zijn de: VIN-poort, Grnd-poort, SDA-poort en SCL-poort. Plaats de versnellingsmeter op het breadboard zodat alle pinnen in verschillende rijen staan, maar in dezelfde kolom. Sluit vervolgens de vier draden van de arduino aan op het gaspedaal. Eén draad moet van de 5V-poort op de Arduino naar de VIN-poort op de versnellingsmeter gaan. Beide grondpoorten op de arduino en de accelerometer moeten ook worden aangesloten. De SDA- en SCL-poorten op de Arduino moeten ook worden aangesloten (en afgestemd) op de SDA- en SCL-poorten op de accelerometer. Kijk op de achterkant van je arduino om erachter te komen welke van de poorten de SDA en SCL zijn. Maak je geen zorgen over het aansluiten van een voeding, alle stroom wordt via de USB 1.1-kabel naar de Arduino gevoerd.

Stap 2: Ontwerp je spel

Dit is waarschijnlijk het belangrijkste onderdeel van het spel en het wordt ten zeerste aanbevolen om je voor dit project op je gemak te voelen met eenheid. Je kunt echt elk type spel maken dat je wilt, we hebben besloten om een spel in bal- en labyrintstijl te maken. Zorg er bij het maken van het spel voor dat alle objecten die moeten worden bestuurd, kinderen zijn van een groter spelobject.

Stap 3: Coderen

Dit is waarschijnlijk het moeilijkste deel van het project. Het eerste dat u wilt doen, is de codebibliotheek downloaden voor de ADXL345-versnellingsmeter in Arduino IDE. Het is te vinden op de adafruit-website. Eenmaal geüpload naar de Arduino, spuugt het een heleboel gegevens uit in de seriële monitor. Echt, wat hier ideaal zou zijn, is om de XYZ-positiegegevens te pakken en deze rechtstreeks naar het unity-project te sturen, maar het verzenden van drijvers is niet zo eenvoudig als het lijkt. Bij het verzenden van de gegevens zal unity deze altijd inlezen als een string, wat moeilijk blijkt te zijn om mee te werken. Om dit te omzeilen, kunnen we een reeks if-statements voor de arduino doen. bijvoorbeeld:

if(gebeurtenis.versnelling.y >3){

Serial.println("rechts");

}

We willen dit soort vergelijkingen doen voor acht verschillende richtingen: omhoog, omlaag, links, rechts, rechtsboven, linksboven, rechtsonder en linksonder.

Door deze reeksen aanwijzingen te sturen, kunnen we ze daadwerkelijk gebruiken! In Unity, op onze spelercontroller (die moet worden gekoppeld aan het object of de groep objecten die je wilt besturen) willen we een if-statement gebruiken dat gebruik maakt van de string die wordt ingelezen:

if(serial. ReadLine() == "links"){

Debug. Log("links");

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

}

En nogmaals, we willen dit voor alle acht richtingen doen.

Nu is het moeilijkste om de gegevens daadwerkelijk naar de eenheid te laten sturen. In hetzelfde script willen we de seriële bibliotheek toestaan: met behulp van System. IO. Ports

Vervolgens willen we een nieuwe seriële poortinstantie maken:

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

**Opmerking om te controleren welke COM je arduino gebruikt, je kunt dit doen in Arduino IDE, maar de meest voorkomende zijn COM3 en COM5.**

Binnen onze startfunctie willen we nu de seriële poort openen:

if(!serieel. IsOpen){

serieel. Open();

serieel. ReadTimeout = 10;

}

Probeer na dit alles de gegevensoverdracht uit en u zou moeten zien dat het werkt!

Stap 4: Snijden

Snijden
Snijden
Snijden
Snijden

Nu je spel gecodeerd is en je arduino communiceert met Unity 5, is het project in wezen voltooid. U wilt er echter een gebruiksvriendelijke, aantrekkelijke controller van maken die al uw vrienden kunnen gebruiken! Om deze controller te maken, kun je elk materiaal gebruiken dat je wilt, zorg er alleen voor dat het je coördinaten in je accelemenator niet verstoort, het kan zijn dat je terug moet gaan en je code dienovereenkomstig moet aanpassen. Zorg er ook voor dat u uw USB 1.1-poort open laat om uw controller op uw computer aan te sluiten. In dit voorbeeld hebben we plexiglas gebruikt. Eerst moet u de afmetingen van elk stuk meten om aan uw behoeften te voldoen. Nogmaals, zorg ervoor dat u een account maakt voor het openen van de USB 1.1-poort. Knip vervolgens met een lasersnijder alle stukken uit voor de controllerbox. Je kunt het plexiglas ook snijden met een lintzaag, maar de lasersnijder is nauwkeuriger. Bovendien hebben we een lintzaag gebruikt om een klein stukje hout uit te snijden dat dezelfde afmetingen had als de arduino. Hoewel dit niet nodig is, wordt het aanbevolen voor de montagestap.

Stap 5: Controllerassemblage

Controller-assemblage
Controller-assemblage
Controller-assemblage
Controller-assemblage

(Als je het stuk hout niet hebt gesneden zoals aanbevolen in de vorige stap, sla dan deze eerste instructie over) Neem je stuk hout en plaats het Arduino-bord erop. Schroef vervolgens je plank op het hout en zorg ervoor dat het stevig op zijn plaats zit. Lijm vervolgens je hout op het onderste stuk van je plexiglas. Als je het hout hebt overgeslagen, kun je het bord rechtstreeks op het plexiglas schroeven, hoewel dit het kan beschadigen of ongemakkelijk wordt als het niet dik genoeg is voor de schroef. Verwijder daarna de zelfklevende sticker van de achterkant van uw breadboard en plaats deze vervolgens dicht en knus naast de arduino. Lijm vervolgens de rest van uw doosstukken om de controller te vormen, zorg er opnieuw voor dat de USB 1.1-poort nog steeds toegankelijk is.

Stap 6: Plug en Play

Je bent klaar! Sluit je zoete controller aan op je computer met behulp van de USB 1.1-kabel en test je game!

Aanbevolen: