Inhoudsopgave:

Run Jump Game met Unity, BT Arduino, ultrasone sensor - Ajarnpa
Run Jump Game met Unity, BT Arduino, ultrasone sensor - Ajarnpa

Video: Run Jump Game met Unity, BT Arduino, ultrasone sensor - Ajarnpa

Video: Run Jump Game met Unity, BT Arduino, ultrasone sensor - Ajarnpa
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, November
Anonim
Image
Image
Run Jump Game met Unity, BT Arduino, ultrasone sensor
Run Jump Game met Unity, BT Arduino, ultrasone sensor
Run Jump Game met Unity, BT Arduino, ultrasone sensor
Run Jump Game met Unity, BT Arduino, ultrasone sensor

Na het succes van mijn unity-project Unity Multiplayer 3D Hologram Game en Hologram Projector voor pc, is dit het tweede project in unity. Dus om het volledige project van begin tot einde van het spel te voltooien, kost het veel tijd om te studeren. Wanneer ik het projectplan start voor twee Ultrasone sensoren voor run- en jump-aftrek. Maar bij het coderen vond ik dat slechts één sensor voldoende is om het project te voltooien. Hier in dit project heb ik de communicatie tussen Arduino en Unity met behulp van bluetooth volledig behandeld. Door veel vallen en opstaan en corrigeren tijdens het bouwen van games, kan ik de game-ontwikkeling niet compileren. Maar gedetailleerd het communicatieprobleem en stappen om het in het project te corrigeren. Heb het spel ook als zip-bestand bijgevoegd. Laten we naar het project gaan.

Stap 1: Circuit

Stroomkring
Stroomkring

1) Sluit de ultrasone sensor en Bluetooth-module Vcc en Gnd aan op de 5V en Gnd van arduino.

2) Verbind de Tx van de Arduino met de Rx van de Bluetooth-module.

3) Sluit de D7-pin aan op de trigger van de ultrasone sensor en D8 op de echo-pin.

4) Sluit de 9V-batterij aan op de Vin en Gnd van de Arduino.

Stap 2: Benodigde materialen

Vereiste materialen
Vereiste materialen
Vereiste materialen
Vereiste materialen

Dit project heeft heel weinig materialen nodig, maar het duurt lang voor het Unity-programma.

Vereiste materialen

1) Arduino Uno - 1Nee

2) Ultrasone sensor HC-SR04 - 1No

3) Bluetooth-module HC-05. - 1Nee

4) 12V DC-adapter of 9V-batterij (ik gebruik een 9V-batterij om het draagbaar te maken).

5) Gewone printplaat.

Software vereist

1) Eenheid.

2) Arduino-IDE.

Stap 3: Schild maken

Schild maken
Schild maken
Schild maken
Schild maken
Schild maken
Schild maken
Schild maken
Schild maken

1) Zoals al mijn projecten maak ik een schild voor het project. Als je breadboard-spanning gebruikt tijdens het hanteren van vooral draagbare dingen, dus ik maak altijd een schild voor al mijn projecten.

2) Ik wil het draagbaar maken. Dus om de ruimte te vullen plaats ik de bluetooth module tussen de voeding en usb poort van de arduino.

3) Gebruik de mannelijke en vrouwelijke connector om een schild te maken. Voor batterijaansluiting soldeert u een batterijconnector aan Vin en Gnd.

Stap 4: Arduino-code

Arduino-code
Arduino-code

Als ik verbinding maak met pc of mobiel, verminder ik altijd het werk van de Arduino door de code te verminderen. Dus in de Arduino-code ontvang ik gewoon de ultrasone afstand en stuur de afstand via seriële tx met & als startkarakter en $ als eindkarakter.

Stap 5: Bekijk het resultaat in de seriële monitor

Bekijk het resultaat in de seriële monitor
Bekijk het resultaat in de seriële monitor
Bekijk het resultaat in de seriële monitor
Bekijk het resultaat in de seriële monitor
Bekijk het resultaat in de seriële monitor
Bekijk het resultaat in de seriële monitor
Bekijk het resultaat in de seriële monitor
Bekijk het resultaat in de seriële monitor

Door de Bluetooth seriële poort in de Arduino IDE te openen, kunt u de gegevens bekijken die door de Arduino zijn verzonden in de seriële monitor.

Stap 6: Unity Arduino-communicatiecontrole

Unity Arduino-communicatiecontrole
Unity Arduino-communicatiecontrole
Unity Arduino-communicatiecontrole
Unity Arduino-communicatiecontrole
Unity Arduino-communicatiecontrole
Unity Arduino-communicatiecontrole
Unity Arduino-communicatiecontrole
Unity Arduino-communicatiecontrole

Het beeld spreekt voor zich. Sommige van de stappen die ik wil doen, heb ik hieronder voor elke stap in detail vermeld.

1) Open unity en start een 2D nieuw project Serial Check.

2) Unity Open met een hoofdcamera.

3) Klik op Game-object -> 3D-object -> TextMeshPro - Tekst.

4) Plaats het in het midden van de scène.

5) Klik in het Project op Maken en in het pop-upmenu op "C# Script".

6) Wijzig de naam in Comtest voor het nieuwe script.

7) Dubbelklik om het script in de visuele studio te openen.

8) Bij het importeren van System. IO. Ports heeft u een fout gevonden.

9) Ga naar unity Klik op Bestand. Klik op Instellingen bouwen.

10) Klik op Spelerinstellingen en aan het einde van de spelerinstellingen heb je het Api-compatibel niveau gevonden.

11) Wijzig. Net 2.0-subset in. Net2.0. Red nu de Unity.

12) Ga naar Visual Studio en ontdek dat de import in orde is.

13) Gebruik nu de seriële poort om verbinding te maken tussen de unit en Arduino. Filter de waarde verzenden met behulp van de tekenreeksfunctie met het begin- en eindteken als referentie.

14) Sleep het script naar de TexttMeshPro die we al hebben gemaakt.

15) Voer nu het Unity-programma uit en je hebt ontdekt dat de gegevens die door arduino zijn verzonden, worden weergegeven in TexttMeshPro.

Stap 7: Hardware gereed

Klaar voor hardware
Klaar voor hardware
Klaar voor hardware
Klaar voor hardware
Klaar voor hardware
Klaar voor hardware
Klaar voor hardware
Klaar voor hardware

1) Plak de batterijhouder in het midden van het schild met behulp van een heet lijmpistool.

2) Als nu de tinnen batterij is geplaatst, gebruikt u deze als standaard en laat u de sensor staan.

3) Het lijkt op een dinosaurus (als je een 3D-printer hebt, maak er dan een behuizing voor als dinosaurus).

Nu is de Hardware Setup gereed.

Stap 8: Unity Arduino-communicatievideo

Image
Image

In de bovenstaande video kun je het gegevenszand zien dat door arduino in eenheid is ontvangen.

Stap 9: Ontwikkel spel in eenheid

Spel ontwikkelen in eenheid
Spel ontwikkelen in eenheid
Spel ontwikkelen in eenheid
Spel ontwikkelen in eenheid

Ik gebruik tutorial van youtube om het spel te ontwikkelen. Ik download de gratis activa van de eenheid. Voor gedetailleerde game-ontwikkeling maak ik nog een instructables. Ik ben nog steeds slanker, dus ik kan het nu niet uitleggen.

COM-poortinstellingen

Belangrijkste dingen die we willen opmerken is de naam van de com-poort wanneer de naam van de com-poort meer gaat dan dat Com9 Unity geen verbinding kan maken. Dus daarvoor willen we de naam "\\.\Com10" geven als deze rechtstreeks wordt gegeven. Dan alleen aftrekken.

Hoe springen en rennen met enkel ultrasoon

Ik geef het minimale en maximale bereik van ultrasoon dat ik ga gebruiken. Maak dat tussen bereik tot schermlengte met behulp van berekening. Hier in dit programma gebruik ik 0 als minimaal bereik en 85 als maximaal bereik. Maar als er geen onderbreking is, is de afstand groter dan 100. Dus door het concept te gebruiken. Als het bereik meer dan 100 wordt ontvangen en onmiddellijk met in het bereik wordt ontvangen, nam het programma het als sprong.

Stap 10: Game Check Video in Unity

Image
Image

Van Unity Run the Game en controleer met de Bluetooth Arduino en Ultrasonic.

Stap 11: Spel

Hier is het spel in het zipbestand. Download het bestand Unzip het en klik op Runjump.exe en het spel is actief. Voordat je het spel start, zie de volgende stap om de Com-poort en de speelafstand te configureren.

Stap 12: Configuratiebestand Config

Spel spelen
Spel spelen

Download het bestand Config.txt en plak het in de C: van de lokale computer. Open het bestand en je hebt 3 regels gevonden.

Regel 1 - Bluetooth-compoort, gebruik de \.\ voor de naam van de compoort die alleen kan worden gebruikt door eenheid als de com-poort groter is dan 9.

Lijn 2 - Min. afstand die we in de buurt van de ultrasone sensor hebben kunnen komen.

Lijn 3 - Maximale afstand tot de sensor.

Stap 13: Spel spelen

Spel spelen
Spel spelen
Spel spelen
Spel spelen
Spel spelen
Spel spelen

Sluit de batterij aan op de arduino en plaats deze op de grond. Ik gebruik de lijn voor vloertegels om de beweging recht te maken. Voer nu Runjump.exe uit en wacht tot het spel is geladen. Klik op de spatiebalk om het spel te starten, ren en spring om het spel te spelen. Verzamel meer munten en ontsnap uit de snijuitrusting voordat alle 10 levens zijn verdwenen.

Stap 14: Kijk en speel op tv

Verbind de laptop met de tv met een HDMI-kabel en sluit de batterij aan op het circuit en plaats deze op de tegels op de vloer en zie de tv het spel spelen. Kinderen vinden het erg leuk. Verander het thema volgens uw wens, zoals bloemen, chocolaatjes. Nu spelen de kinderen graag met deze zeer goedkope handsfree-gadget.

Dit is mijn tweede project dat eenheid gebruikt. Het is erg leuk om in eenheid te werken. Maar het duurt lang om dit project te voltooien. Er komen nog meer projecten.

Aanbevolen: