Mundarija:
- 1 -qadam: materiallar
- 2 -qadam: Breadboard
- 3 -qadam: Arduino -ni kodlash
- 4 -qadam: Birlik
- 5 -qadam: Yakuniy eslatmalar
Video: Oddiy birlik nazoratchisi: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Tavsif
Bu loyiha - bu men o'yinchi chapga va o'ngga keta oladigan o'yinni boshqarish uchun mo'ljallangan tugmachalarni bosish paytida Unity -ga ma'lumot berishi mumkin bo'lgan juda oddiy nazoratchi. Albatta, siz har doim ko'proq nazorat qilish uchun sozlashingiz mumkin. Qo'shimcha kutubxonalardan foydalanishga hojat yo'q.
1 -qadam: materiallar
Kerakli komponentlar
- -Arduino 2x qarshilik
- -[~ 220 Ohm
- -Simlar
- -2x tugmalar
- -Non paneli
2 -qadam: Breadboard
Men arduino GND portini non panelining chap tomonidagi manfiy (-) piniga, 5V ni esa o'ng tomonidagi musbatga (+) ulashdan boshladim.
Shundan so'ng men tugmachalarni kerakli joyga qo'ydim. Va ularni simlar va rezistorlar yordamida ulang.
3 -qadam: Arduino -ni kodlash
Avval siz Arduino -ni ishga tushirish uchun kod yozishingiz kerak bo'ladi. Men nima qilayotganini tushuntiradigan kodga sharhlar qo'ydim.
// Tugmalar ulangan pinlarni e'lon qiling.
const int buttonPin1 = 3; const int buttonPin2 = 4;
bo'sh o'rnatish ()
{// Serial.begin (9600) seriyasini ishga tushiring; // Pimlarni chiqish sifatida sozlang. pinMod (tugmaPin1, Kirish); pinMod (tugmaPin2, Kirish); }
bo'sh halqa ()
{// Agar tugma holatini o'qing, agar (digitalRead (buttonPin1) == YUQORI) {// holat YUQORI bo'lsa, bu qatorni chop eting. Serial.println ("Chap"); kechikish (20); } if (digitalRead (buttonPin2) == HIGH) {// holat HIGH bo'lsa, bu qatorni chop eting. Serial.println ("O'ng"); kechikish (20); }}
4 -qadam: Birlik
Agar sizda tayyor o'yin bo'lmasa, bu kod har qanday o'yin ob'ektida birlikda ishlaydi.
Agar shunday bo'lsa, harakat qilish uchun sizga o'yin ob'ekti kerak bo'ladi.
Oddiylik uchun biz GameObject-> 3D Object-> Cube-ga o'tish orqali kub yaratamiz.
kub sizning sahnangizda bo'lganda, uni tanlang va Komponent qo'shish tugmasini bosing va yangi skript yarating.
System. IO. Ports kutubxonasi ishlashi uchun Api moslik darajasini o'zgartirish kerak bo'ladi.
Buni amalga oshirish uchun Edit-> Project Settings-> Player-ga o'ting
Api moslik darajasini topmaguningizcha bu menyuda pastga siljiting va. Net 2.0 pastki to'plami o'rniga. NET 2.0 ni tanlang.
Siz endi kodlashni boshlashga tayyormiz.
System. Collections -dan foydalanish; System. Collections. Generic -dan foydalanish; UnityEngine -dan foydalanish; System. IO. Ports -dan foydalanish;
PlayerMovement umumiy sinf: MonoBehaviour
{umumiy suzish tezligi; suzish harakati;
SerialPort sp = yangi SerialPort ("COM3", 9600);
bekor boshlash ()
{// OpenSerialPort () ketma -ket portini ochish uchun kodni ishga tushiring; }
bekor OpenSerialPort ()
{// sp. Open () ketma -ket portini oching; sp. ReadTimeout = 1; }
bo'sh harakat (mag'lubiyat yo'nalishi)
{// Arduino qaysi yo'nalishda o'tganini tekshiring, agar (Yo'nalish == "Chap") {harakat = -1; } agar (Yo'nalish == "O'ng") {harakat = 1; } // o'yin ob'ekti ko'chiriladigan miqdorni hisoblang float tarjima = harakat * tezlik; // harakatni gameobject transform. Translate -ga qo'llang (tarjima, 0, 0); }
bekor qilingan yangilanish ()
{if (sp. IsOpen) {try {// ketma -ket portport ochiq bo'lsa, harakat funktsiyasini bajaring va Arduino Harakat (sp. ReadLine ()) bosib chiqarayotgan qatorni o'tkazing; } catch (System. Exception) {
}
}
} }
5 -qadam: Yakuniy eslatmalar
Komponentlaringiz ishlayotganligini tekshiring
Buni yaratish paytida men duch kelgan muammo shundaki, barcha simlar va kodlar to'g'ri edi va hech qanday muammo bo'lmasligi kerak edi, lekin u ishlamayapti. boshqa komponentlar bilan ham shunday bo'lishi mumkin.
Tavsiya:
Birlik bo'yicha C# bilan 2D video o'yini: 4 qadam
Birlikdagi C# bilan 2D video o'yini: Bu loyiha birinchi marta shaxsiy kompyuterimni noyabr oyida olganimda boshlangan. Bu yangi ko'nikmalarni o'rganishning qiziqarli usuli sifatida boshlandi va tezda sevimli mashg'ulotlarimdan biriga aylandi. Men o'sha paytdan beri ishlayapman va 75 soatdan ko'proq dasturlash vaqtini o'tkazdim
Boring! Birlik + Arduino = Juego Y Aprendizaje: 4 qadam
Boring! Unity + Arduino = Juego Y Aprendizaje: Go to es Mode Mode funcional de un un multimedia multimedia in a interacci ó n un mundo virtual 3D formatidagi o'yinlar va o'yinlar, shuningdek, ruxsat berish kerak. IpTV va WebTV, va boshqalar
Birlik, BT Arduino, ultratovush sensori yordamida o'tish o'yinini ishga tushiring: 14 qadam
Birlik, BT Arduino, Ultrasonik Sensor yordamida O'tish O'yinini ishga tushiring: Mening birligim loyihasi muvaffaqiyat qozonganidan so'ng, Unity Multiplayer 3D gologramma o'yini va kompyuter 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. Men boshlaganimda
Arduino O'yin boshqaruvchisi + Birlik o'yini: 5 qadam
Arduino Game Controller + Unity o'yini: Men sizga ko'rsatma beraman, qanday qilib birlikka ulanadigan arduino o'yin boshqaruvchisini yasash/dasturlash
IoT tarmoq nazoratchisi. 9 -qism: IoT, uy avtomatizatsiyasi: 10 qadam (rasmlar bilan)
IoT tarmoq nazoratchisi. 9 -qism: IoT, Uy avtomatizatsiyasi: Ogohlantirishdan voz kechish BU BIRINChI O'QING Bu ko'rsatma elektr tarmog'idan foydalanadigan loyihani (masalan, Buyuk Britaniyada 240VAC RMS) batafsil tavsiflaydi, shu bilan birga xavfsiz amaliyot va yaxshi dizayn tamoyillaridan foydalanishga e'tibor qaratiladi, har doim o'limga olib kelishi mumkin. saylash