Obsah:

Spusťte skákací hru pomocí Unity, BT Arduino, ultrazvukového senzoru: 14 kroků
Spusťte skákací hru pomocí Unity, BT Arduino, ultrazvukového senzoru: 14 kroků

Video: Spusťte skákací hru pomocí Unity, BT Arduino, ultrazvukového senzoru: 14 kroků

Video: Spusťte skákací hru pomocí Unity, BT Arduino, ultrazvukového senzoru: 14 kroků
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, Prosinec
Anonim
Image
Image
Spusťte Jump Game pomocí Unity, BT Arduino, ultrazvukového senzoru
Spusťte Jump Game pomocí Unity, BT Arduino, ultrazvukového senzoru
Spusťte Jump Game pomocí Unity, BT Arduino, ultrazvukového senzoru
Spusťte Jump Game pomocí Unity, BT Arduino, ultrazvukového senzoru

Po úspěchu mého projektu jednoty Unity Multiplayer 3D Hologram Game a Hologram Projector pro PC je to druhý projekt v jednotě. Dokončení celého projektu od začátku do konce hry zabralo hodně času studiu. Když spustím plán projektu pro dva ultrazvukové senzory pro odpočet běhu a skoku. Ale při kódování jsem zjistil, že k dokončení projektu stačí pouze jeden senzor. Zde v tomto projektu jsem plně pokryl komunikaci mezi Arduino a Unity pomocí bluetooth. Kvůli spoustě pokusů a omylů a oprav při vytváření hry nemohu kompilovat vývoj hry. Ale podrobně popsal komunikační problém a kroky k jeho nápravě v projektu. Připojena hra také jako soubor Zip. Pojďme k projektu.

Krok 1: Okruh

Obvod
Obvod

1) Připojte ultrazvukový senzor a modul Bluetooth Vcc a Gnd k 5V a Gnd Arduina.

2) Připojte Tx Arduina k Rx modulu Bluetooth.

3) Připojte pin D7 ke spoušti ultrazvukového senzoru a D8 ke kolíku Echo.

4) Připojte 9V baterii k Vin a Gnd Arduina.

Krok 2: Požadované materiály

Požadovaný materiál
Požadovaný materiál
Požadovaný materiál
Požadovaný materiál

Tento projekt potřebuje velmi malé množství materiálů, ale trvá dlouho, než program Unity.

Požadovaný materiál

1) Arduino Uno - 1č

2) Ultrazvukový senzor HC -SR04 - 1č

3) Modul Bluetooth HC-05. - 1Ne

4) 12V DC adaptér nebo 9V baterie (používám 9V baterii, aby byla přenosná).

5) Obyčejná deska plošných spojů.

Je vyžadován software

1) Jednota.

2) Arduino IDE.

Krok 3: Vytvoření štítu

Výroba štítu
Výroba štítu
Výroba štítu
Výroba štítu
Výroba štítu
Výroba štítu
Výroba štítu
Výroba štítu

1) Jako všechny své projekty vytvářím štít pro projekt. Pokud při manipulaci s obzvláště přenosnými věcmi používáte napětí na prkénku, tak vždy vytvářím štít pro všechny své projekty.

2) Chci, aby to bylo přenosné. Abych zaplnil prostor, umístil jsem modul bluetooth mezi napájecí zdroj a USB port arduina.

3) Pomocí konektoru male a female vytvořte štít. Pro připojení baterie pájejte konektor baterie k Vin a Gnd.

Krok 4: Arduino kód

Arduino kód
Arduino kód

Pokud se připojím k PC nebo mobilu, vždy snížím práci arduina snížením kódu. Takže v arduino kódu dostanu pouze ultrazvukovou vzdálenost a odešlu vzdálenost přes sériové tx s & jako start charactor a $ jako end charactor.

Krok 5: Zobrazte výsledek v sériovém monitoru

Zobrazit výsledek v sériovém monitoru
Zobrazit výsledek v sériovém monitoru
Zobrazte výsledek v sériovém monitoru
Zobrazte výsledek v sériovém monitoru
Zobrazit výsledek v sériovém monitoru
Zobrazit výsledek v sériovém monitoru
Zobrazte výsledek v sériovém monitoru
Zobrazte výsledek v sériovém monitoru

Otevřením sériového portu Bluetooth v Arduino IDE můžete zobrazit data odeslaná arduino na sériovém monitoru.

Krok 6: Kontrola komunikace Unity Arduino

Kontrola komunikace Unity Arduino
Kontrola komunikace Unity Arduino
Kontrola komunikace Unity Arduino
Kontrola komunikace Unity Arduino
Kontrola komunikace Unity Arduino
Kontrola komunikace Unity Arduino
Kontrola komunikace Unity Arduino
Kontrola komunikace Unity Arduino

Obrázek je samovysvětlující. Některé z kroků, které chcete provést, jsou uvedeny níže podrobně pro každý krok.

1) Otevřete jednotu a spusťte 2D nový projekt Sériová kontrola.

2) Unity Otevřete hlavní fotoaparát.

3) Klikněte na Objekt hry -> 3D objekt -> TextMeshPro -Text.

4) Umístěte jej do středu scény.

5) V projektu klikněte na Vytvořit a v rozbalovací nabídce klikněte na „C# Script“.

6) Změňte název na Comtest pro nový skript.

7) Dvojitým kliknutím skript otevřete ve vizuálním studiu.

8) Při importu System. IO. Ports jste našli chybu.

9) Přejít na jednotu Klikněte na Soubor. Klikněte na Vytvořit nastavení.

10) Klikněte na Nastavení přehrávače a na konci Nastavení přehrávače jste našli úroveň kompatibilní s Api.

11) Změňte podmnožinu. Net 2.0 na. Net2.0. Nyní zachraňte Jednotu.

12) Přejděte do sady Visual Studio a zjistíte, že import je v pořádku.

13) Nyní použijte sériový port k navázání spojení mezi jednotou a Arduinem. Filtrujte odeslání hodnoty pomocí funkce řetězce s počátečním a koncovým znakem jako referencí.

14) Přetáhněte skript na texttMeshPro, který jsme již vytvořili.

15) Nyní spusťte program Unity a zjistili jste, že data odesílaná arduino jsou zobrazena v TexttMeshPro.

Krok 7: Připraveno na hardware

Hardware připraven
Hardware připraven
Hardware připraven
Hardware připraven
Hardware připraven
Hardware připraven
Hardware připraven
Hardware připraven

1) Pomocí horké lepicí pistole přilepte držák baterie na střed štítu.

2) Nyní, pokud je cínová baterie namontována pomocí stojanu a postavte senzor.

3) Vypadá to jako dinosaurus (Pokud máte 3D tiskárnu, vytvořte pro něj kryt jako dinosaurus).

Nyní je nastavení hardwaru připraveno.

Krok 8: Komunikační video Unity Arduino

Image
Image

Ve výše uvedeném videu můžete vidět datový písek od arduina přijatý v jednotě.

Krok 9: Rozvíjejte hru v Unity

Vyvíjejte hru v Unity
Vyvíjejte hru v Unity
Vyvíjejte hru v Unity
Vyvíjejte hru v Unity

K vývoji hry používám návod z youtube. Načítám volná aktiva z jednoty. Pro podrobný vývoj hry udělám další instruktáž. Přesto jsem štíhlejší, takže to teď nedokážu vysvětlit.

Nastavení COM portu

Hlavní věci, které chceme poznamenat, je název portu Com, pokud je název portu com větší, než se Com9 Unity nemůže připojit. Proto chceme při přímém zadání pojmenovat „\\. / Com10“. Poté pouze odečte.

Jak skákat a běhat pomocí jediného ultrazvuku

Dávám minimální a maximální rozsah ultrazvuku, který budu používat. Pomocí výpočtu proveďte mezi rozsahem a délkou obrazovky. Zde v tomto programu používám 0 jako minimální rozsah a 85 jako maximální rozsah. Ale pokud nedojde k žádnému přerušení, vzdálenost je menší než 100. Takže pomocí konceptu. Pokud je přijat rozsah více než 100 a okamžitě s v přijatém rozsahu, program to vzal jako skok.

Krok 10: Video s kontrolou hry v Unity

Image
Image

Od Unity Spusťte hru a zkontrolujte pomocí Bluetooth Arduino a Ultrazvuku.

Krok 11: Hra

Zde je hra v souboru zip. Stáhněte si soubor Rozbalte jej a klikněte na Runjump.exe a hra běží. Před spuštěním hry si přečtěte další krok ke konfiguraci portu Com a vzdálenosti ke hře.

Krok 12: Konfigurace konfiguračního souboru

Hrát hru
Hrát hru

Stáhněte si soubor Config.txt a vložte jej do C: místního počítače. Otevřete soubor a najdete 3 řádky.

Řádek 1 - Bluetooth port, Použitím \. / Před názvem komportu lze použít pouze podle jednoty, pokud je port větší než 9.

Řádek 2 - minimální vzdálenost, kterou jsme schopni dosáhnout v blízkosti ultrazvukového senzoru.

Řádek 3 - Maximální vzdálenost od snímače.

Krok 13: Hrajte hru

Hrát hru
Hrát hru
Hrát hru
Hrát hru
Hrát hru
Hrát hru

Připojte baterii k arduinu a položte ji na podlahu. Pro přímý tah používám linii podlahových dlaždic. Nyní spusťte Runjump.exe a počkejte, až se hra načte. Hru spustíte kliknutím na mezerník, spuštěním a skokem. Sbírejte více mincí a unikněte ze střihače, než zmizí všech 10 životů.

Krok 14: Podívejte se a hrajte v televizi

Propojte notebook s televizorem pomocí kabelu HDMI a připojte baterii k obvodu, umístěte jej na dlaždice na podlaze a podívejte se na televizi, jak hrát hru. Dětem se moc líbí. Změňte téma podle svého přání, jako jsou květiny, čokolády. Nyní si děti rády hrají s tímto velmi levným hands free zařízením.

Toto je můj druhý projekt využívající jednotu. Je velmi zábavné pracovat v jednotě. Dokončení tohoto projektu ale trvá dlouho. Další projekty přijdou.

Doporučuje: