Inhoudsopgave:
- Stap 1: Mechanische montage
- Stap 2: Ontwerp je spel
- Stap 3: Coderen
- Stap 4: Snijden
- Stap 5: Controllerassemblage
- Stap 6: Plug en Play
Video: Tylt: 6 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
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
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
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
(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:
Game Design in Flick in 5 stappen: 5 stappen
Game-ontwerp in Flick in 5 stappen: Flick is een heel eenvoudige manier om een game te maken, vooral zoiets als een puzzel, visuele roman of avonturengame
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: 3 stappen
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: In deze Instructable gaan we gezichtsdetectie uitvoeren op Raspberry Pi 4 met Shunya O/S met behulp van de Shunyaface-bibliotheek. Shunyaface is een bibliotheek voor gezichtsherkenning/detectie. Het project streeft naar de hoogste detectie- en herkenningssnelheid met
Doe-het-zelfspiegel in eenvoudige stappen (met LED-stripverlichting): 4 stappen
DIY make-upspiegel in eenvoudige stappen (met behulp van LED-stripverlichting): In dit bericht heb ik een doe-het-zelfspiegel gemaakt met behulp van de LED-strips. Het is echt gaaf en je moet ze ook proberen
Hoe plug-ins in WordPress te installeren in 3 stappen: 3 stappen
Hoe plug-ins in WordPress te installeren in 3 stappen: In deze tutorial laat ik je de essentiële stappen zien om de WordPress-plug-in op je website te installeren. In principe kunt u plug-ins op twee verschillende manieren installeren. De eerste methode is via ftp of via cpanel. Maar ik zal het niet opsommen, want het is echt compl
Akoestische levitatie met Arduino Uno stap voor stap (8 stappen): 8 stappen
Akoestische levitatie met Arduino Uno Stap voor stap (8-stappen): ultrasone geluidstransducers L298N Vrouwelijke DC-adapter voeding met een mannelijke DC-pin Arduino UNOBreadboardHoe dit werkt: eerst upload je code naar Arduino Uno (het is een microcontroller uitgerust met digitale en analoge poorten om code te converteren (C++)