Mundarija:

Birlik, BT Arduino, ultratovush sensori yordamida o'tish o'yinini ishga tushiring: 14 qadam
Birlik, BT Arduino, ultratovush sensori yordamida o'tish o'yinini ishga tushiring: 14 qadam

Video: Birlik, BT Arduino, ultratovush sensori yordamida o'tish o'yinini ishga tushiring: 14 qadam

Video: Birlik, BT Arduino, ultratovush sensori yordamida o'tish o'yinini ishga tushiring: 14 qadam
Video: Подключение и настройка nRF24L01 к Arduino (модуль беспроводной связи) 2024, Noyabr
Anonim
Image
Image
Birlik, BT Arduino, ultratovush sensori yordamida o'tish o'yinini ishga tushiring
Birlik, BT Arduino, ultratovush sensori yordamida o'tish o'yinini ishga tushiring
Birlik, BT Arduino, ultratovush sensori yordamida o'tish o'yinini ishga tushiring
Birlik, BT Arduino, ultratovush sensori yordamida o'tish o'yinini ishga tushiring

Mening birdamlik loyiham muvaffaqiyat qozonganidan keyin Unity Multiplayer 3D Gologram Game va PC uchun gologramma proyektori, bu birlikdagi ikkinchi loyiha. Shunday qilib, o'yinni boshidan oxirigacha to'liq loyihani bajarish uchun o'rganish uchun ko'p vaqt kerak bo'ladi. Yugurish va sakrash uchun ikkita ultratovush sensori uchun loyiha rejasini boshlaganimda. Ammo kodlashda men loyihani bajarish uchun faqat bitta sensorni topdim. Bu erda men ushbu loyihada bluetooth yordamida Arduino va Unity o'rtasidagi aloqani to'liq yoritdim. O'yinni qurishda ko'p sinov va xato va tuzatishlar tufayli men o'yinni ishlab chiqa olmayman. Ammo aloqa muammosi va uni tuzatish choralari loyihada batafsil bayon etilgan. O'yin Zip fayli sifatida biriktirilgan. Loyihaga o'tamiz.

1 -qadam: O'chirish

O'chirish
O'chirish

1) Ultrasonik sensorni va Bluetooth modulini Vcc va Gndni 5V va Gnd arduino -ga ulang.

2) Arduino Tx -ni Bluetooth modulining Rx -ga ulang.

3) D7 pinini Ultrasonik sensori Triggeriga va D8 ni Echo piniga ulang.

4) 9V batareyani Arduino -ning Vin va Gnd -ga ulang.

2 -qadam: kerakli materiallar

Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar

Ushbu loyihaga juda oz miqdordagi materiallar kerak bo'ladi, lekin "Birlik" dasturiga ko'p vaqt ketadi.

Kerakli materiallar

1) Arduino Uno - 1 Yo'q

2) Ultrasonik sensor HC -SR04 - 1No

3) Bluetooth moduli HC-05. - 1 Yo'q

4) 12V shahar adapteri yoki 9V batareya (portativ qilish uchun 9V batareyadan foydalanaman).

5) oddiy PCB kartasi.

Dasturiy ta'minot talab qilinadi

1) birlik.

2) Arduino IDE.

3 -qadam: qalqon yasash

Qalqon yasash
Qalqon yasash
Qalqon yasash
Qalqon yasash
Qalqon yasash
Qalqon yasash
Qalqon yasash
Qalqon yasash

1) Barcha loyihalarim singari, men ham loyiha uchun qalqon qilaman. Agar siz, ayniqsa, ko'chma narsalar bilan ishlashda, non paneli tarangligidan foydalansangiz, men har doim barcha loyihalarim uchun qalqon qilaman.

2) Men uni ko'chma qilishni xohlayman. Bo'sh joyni to'ldirish uchun men bluetooth modulini arduino quvvat manbai va usb porti orasiga joylashtiraman.

3) Qalqon qilish uchun erkak va ayol konnektoridan foydalaning. Batareyaga ulanish uchun Vin va Gnd akkumulyator ulagichlarini lehimlang.

4 -qadam: Arduino kodi

Arduino kodi
Arduino kodi

Agar kompyuter yoki mobil qurilmaga ulansangiz, men har doim kodni kamaytirish orqali arduino ishini kamaytiraman. Shunday qilib, arduino kodida men faqat ultrasonik masofani olaman va masofani ketma -ket tx orqali & boshlang'ich va $ oxirgi xaritori sifatida yuboraman.

5 -qadam: Natijani ketma -ket monitorda ko'rish

Natijani ketma -ket monitorda ko'ring
Natijani ketma -ket monitorda ko'ring
Natijani ketma -ket monitorda ko'ring
Natijani ketma -ket monitorda ko'ring
Natijani ketma -ket monitorda ko'ring
Natijani ketma -ket monitorda ko'ring
Natijani ketma -ket monitorda ko'ring
Natijani ketma -ket monitorda ko'ring

Bluetooth seriyali portini Arduino IDE -da ochish orqali siz arduino tomonidan yuborilgan ma'lumotlarni ketma -ket monitorda ko'rishingiz mumkin.

6 -qadam: Birlik Arduino aloqa tekshiruvi

Unity Arduino aloqa tekshiruvi
Unity Arduino aloqa tekshiruvi
Unity Arduino aloqa tekshiruvi
Unity Arduino aloqa tekshiruvi
Unity Arduino aloqa tekshiruvi
Unity Arduino aloqa tekshiruvi
Unity Arduino aloqa tekshiruvi
Unity Arduino aloqa tekshiruvi

Rasm o'z -o'zidan tushunarli. Men bajarishni istagan ba'zi qadamlar men har bir qadam uchun quyida batafsil sanab o'tilgan.

1) Ochiq birlik va 2D yangi loyihani ketma -ket tekshirishni boshlang.

2) Unity Open asosiy kamera bilan.

3) O'yin ob'ekti -> 3D obyekti -> TextMeshPro -Matn -ni bosing.

4) Sahnaning markaziga qo'ying.

5) Loyihada Yaratish -ni bosing va ochilgan menyuda "C# Skript" ni bosing.

6) Ismni yangi skript uchun "Comtest" ga o'zgartiring.

7) Vizual studiyada skriptni ochish uchun ikki marta bosing.

8) System. IO. Ports -ni import qilishda siz xato topdingiz.

9) Birlikka o'ting Fayl -ni bosing Qurilish sozlamalarini bosing.

10) O'yinchi sozlamalarini bosing va pleer sozlamalari oxirida siz Api -ga mos keladigan darajani topdingiz.

11). Net 2.0 pastki qismini. Net2.0 ga o'zgartiring. Endi Birlikni saqlang.

12) Visual Studio -ga o'ting va import yaxshi ekanligini toping.

13) Endi birlik va Arduino o'rtasida aloqa o'rnatish uchun ketma -ket portdan foydalaning. Yo'naltiruvchi sifatida string funktsiyasidan foydalanib, boshlanish va tugash belgilarini filtrlang.

14) Skriptni biz yaratgan TexttMeshPro -ga torting.

15) Endi Unity dasturini ishga tushiring va siz arduino tomonidan yuborilgan ma'lumotlarni TexttMeshPro -da ko'rsatilishini ko'rdingiz.

7 -qadam: Uskuna tayyor

Uskuna tayyor
Uskuna tayyor
Uskuna tayyor
Uskuna tayyor
Uskuna tayyor
Uskuna tayyor
Uskuna tayyor
Uskuna tayyor

1) Batareya ushlagichini issiq yopishtiruvchi qurol yordamida qalqonning o'rtasiga mahkamlang.

2) Endi agar qalay batareyasi uni stend sifatida ishlatilsa va datchikni stendga aylantiring.

3) Bu dinozavrga o'xshaydi (agar sizda 3D printer bo'lsa, u uchun dinozavr kabi korpus yarating).

Endi Uskuna sozlamalari tayyor.

8 -qadam: Birlik Arduino aloqa video

Image
Image

Yuqoridagi videoda siz arduino tomonidan qabul qilingan ma'lumotlarning birligini ko'rishingiz mumkin.

9 -qadam: O'yinni birlikda ishlab chiqish

O'yinni birlikda rivojlantirish
O'yinni birlikda rivojlantirish
O'yinni birlikda rivojlantirish
O'yinni birlikda rivojlantirish

Men o'yinni rivojlantirish uchun youtube -dan darsliklardan foydalanaman. Men bo'sh aktivlarni birlikdan yuklayman. O'yinni batafsil ishlab chiqish uchun men yana bir ko'rsatma beraman. Men hali ham kamtarman, shuning uchun hozir tushuntirib berolmayman.

COM port sozlamalari

Biz ta'kidlamoqchi bo'lgan asosiy narsa - bu Com9 Unity -ga ulanish imkoni bo'lmaganda, port portining nomi. Buning uchun biz to'g'ridan -to'g'ri berilganida "\ / \ Com10" nomini berishni xohlaymiz. Keyin faqat chegirib tashlanadi.

Bitta ultratovush yordamida qanday o'tish va yugurish

Men foydalanmoqchi bo'lgan ultratovushning minimal va maksimal diapazonini beraman. Hisoblash yordamida ekran uzunligidan diapazongacha qilib qo'ying. Bu erda men ushbu dasturda 0 ni minimal diapazon sifatida va 85 ni maksimal diapazon sifatida ishlataman. Ammo hech qanday uzilish bo'lmasa, masofa 100 dan oshadi. Shunday qilib, kontseptsiyadan foydalanib. Agar diapazon 100 dan oshsa va darhol diapazonda qabul qilinsa, dastur uni sakrash sifatida qabul qiladi.

10 -qadam: Birlikdagi o'yinni tekshirish videosi

Image
Image

Birlikdan O'yinni ishga tushiring va Bluetooth Arduino va Ultrasonik bilan tekshiring.

11 -qadam: O'yin

Mana, ZIP faylidagi o'yin. Faylni oching va Runjump.exe -ni bosing, shunda o'yin ishlaydi. O'yinni boshlashdan oldin, Com portini va o'yin masofasini sozlash uchun keyingi qadamni ko'ring.

12 -qadam: Fayl konfiguratsiyasini sozlash

O'yin o'ynang
O'yin o'ynang

Config.txt faylini yuklab oling va uni mahalliy kompyuterning C: -ga joylashtiring. Faylni oching va siz 3 qatorni topdingiz.

1 -qator - Bluetooth komporti, kompart nomidan oldin \. / Tugmachasini ishlating, agar ulanish porti 9 dan katta bo'lsa.

2 -qator - Ultrasonik sensor yaqiniga yaqinlasha oladigan minimal masofa.

3 -qator - Sensordan maksimal masofa.

13 -qadam: O'yin o'ynang

O'yin o'ynang
O'yin o'ynang
O'yin o'ynang
O'yin o'ynang
O'yin o'ynang
O'yin o'ynang

Batareyani arduino -ga ulang va erga qo'ying. Harakatni to'g'rilash uchun men pol plitalari chizig'idan foydalanaman. Endi Runjump.exe -ni ishga tushiring va o'yin yuklanishini kuting. O'yinni boshlash uchun bo'sh joy tugmachasini bosing, o'yinni ishga tushirish va sakrash. Ko'proq tangalarni to'plang va 10 ta hayot tugagunga qadar chiqib ketish moslamasidan qutuling.

14 -qadam: Televizorda ko'ring va o'ynang

Noutbukni HDMI kabelidan foydalanib televizorga ulang va batareyani zanjirga ulang va uni poldagi plitka chizig'iga qo'ying va televizor o'yinni o'ynayotganini ko'ring. Bolalar buni juda yaxshi ko'radilar. Mavzuni xohlaganingizcha gullar, shokoladlar kabi o'zgartiring. Endi bolalar juda arzon narxda, qo'llarsiz ishlaydigan gadjet bilan o'ynashdan zavqlanishadi.

Bu mening birlikdan foydalangan ikkinchi loyiham. Birgalikda ishlash juda qiziq. Ammo bu loyihani amalga oshirish uchun ko'p vaqt kerak bo'ladi. Yana ko'plab loyihalar.

Tavsiya: