Mundarija:
- 1 -qadam: mexanik yig'ish
- 2 -qadam: O'yinni loyihalash
- 3 -qadam: kodlash
- 4 -qadam: kesish
- 5 -qadam: Tekshirish moslamasi
- 6 -qadam: Plug va Play
Video: Tylt: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Loyihaning tavsifi: Ma'lumotlarni arduino platasidan Unity 5 o'yin dizayn dvigateliga oldinga va orqaga uzatadigan harakatga asoslangan boshqaruvchi yaratish. Bunday holda, biz Unity dvigateli ichidagi o'yin ob'ektlarining X va Y holatini boshqarish uchun uch o'qli akselerometrdan (Adxl345) foydalanamiz. Ham akselerometr, ham arduino to'rtburchaklar qutiga yig'ilib, qulay va qulay boshqaruv moslamasini hosil qiladi.
Materiallar:
Akselerometr
Yopishtiruvchi elim
Arduino Board asosiy lehimlash qobiliyatlari
BreadboardLaser Cutter (Bandsaw ham ishlaydi, lekin unchalik aniq emas)
Plexiglass (yoki arduino va akselerometrni yig'moqchi bo'lgan boshqa materiallar) USB 1.1 kabeli
Simlar
1 -qadam: mexanik yig'ish
Birinchidan, pinlaringizni tezlatgichga ulang. Bu misolda, barcha pinlar lehimlangan, lekin faqat kerakli pinlar: VIN porti, Grnd porti, SDA porti va SCL porti. Akselerometrni taxtaga joylashtiring, shunda barcha pinlar har xil qatorda, lekin bitta ustunda bo'ladi. Keyin, arduino -dan tezlatgichga to'rtta simni ulang. Bitta sim arduino 5V portidan akselerometrdagi VIN portiga o'tishi kerak. Arduino va akselerometrdagi ikkala er portlari ham ulangan bo'lishi kerak. Arduino -dagi SDA va SCL portlari ham akselerometrdagi SDA va SCL portlariga ulanishi (va mos kelishi) kerak. Qaysi portlar SDA va SCL ekanligini bilish uchun arduino orqasini tekshiring. Quvvat manbasini ulashdan xavotir olmang, barcha quvvat USB 1.1 kabeli orqali arduinoga beriladi.
2 -qadam: O'yinni loyihalash
Bu, ehtimol, o'yinning eng muhim qismi, va bu loyiha uchun birdamlik bilan qulay bo'lish tavsiya etiladi. Siz haqiqatan ham xohlagan o'yin turini yasashingiz mumkin, biz to'p va labirint uslubida o'yin qilishga qaror qildik. O'yinni bajarayotganda, boshqarilishi kerak bo'lgan barcha narsalarni kattaroq o'yin ob'ektiga aylantiring.
3 -qadam: kodlash
Bu, ehtimol, loyihaning eng qiyin qismi. Siz qilmoqchi bo'lgan birinchi narsa - Arduino IDE -dagi ADXL345 akselerometrining kodlar kutubxonasini yuklab olish. Buni adafruit veb -saytida topish mumkin. Arduino -ga yuklanganidan so'ng, u ketma -ket monitorga bir qancha ma'lumotlarni tashlab yuboradi. Darhaqiqat, bu erda XYZ pozitsion ma'lumotlarini olish va uni to'g'ridan -to'g'ri birlik loyihasiga yuborish ideal bo'lar edi, lekin floatlarni yuborish ko'rinadigan darajada oson emas. Ma'lumotni jo'natishda birlik har doim uni satr sifatida o'qiydi, bu bilan ishlash qiyin. Buni hal qilish uchun, biz qila oladigan narsa - bu arduino uchun if iboralari. masalan:
agar (event.acceleration.y> 3) {
Serial.println ("o'ng");
}
Biz sakkiz xil yo'nalish bo'yicha taqqoslash turlarini o'tkazmoqchimiz: yuqoriga, pastga, chapga, o'ngga, yuqoriga-o'ngga, yuqoriga-chapga, pastga-o'ngga va pastga-chapga.
Ushbu yo'nalishlarni yuborish orqali biz ulardan foydalanishimiz mumkin! Unity -da, bizning o'yinchi boshqaruvchisida (siz boshqarmoqchi bo'lgan ob'ektga yoki ob'ektlar guruhiga biriktirilgan bo'lishi kerak) biz o'qiladigan satrdan foydalanadigan if iborasini ishlatmoqchimiz:
agar (serial. ReadLine () == "chapda") {
Debug. Log ("chapda");
transform. Rotate ((-Time.deltaTime * 50), 0, 0);
}
Va yana, biz buni sakkizta yo'nalishda qilishni xohlaymiz.
Endi, eng qiyin qismi - bu ma'lumotlarning birlikka yuborilishiga ruxsat berish. Xuddi shu skriptda biz System. IO. Ports yordamida ketma -ket kutubxonaga ruxsat berishni xohlaymiz
Keyin biz yangi ketma -ket port misolini yaratmoqchimiz:
SerialPort serial = yangi SerialPort ("COM5", 9600);
** Sizning arduino qaysi COM ishlatayotganini tekshirish uchun eslatma, buni Arduino IDE da qilishingiz mumkin, lekin eng keng tarqalgani COM3 va COM5. **
Boshlash funktsiyasida biz ketma -ket portni ochmoqchimiz:
agar (! serial. IsOpen) {
serial. Open ();
serial. ReadTimeout = 10;
}
Bularning barchasidan so'ng, ma'lumotlarni uzatishni sinab ko'ring va u ishlayotganini ko'rasiz!
4 -qadam: kesish
Endi sizda o'yin kodlangan va arduino Unity 5 bilan aloqa o'rnatganidan so'ng, loyiha yakunlandi. Biroq, siz uni barcha do'stlaringiz foydalanishi uchun qulay, jozibali boshqaruvchiga yig'moqchisiz! Ushbu tekshirgichni yaratish uchun siz xohlagan materialni ishlatishingiz mumkin, akseleneratorda koordinatalaringizni tashlamasligiga ishonch hosil qiling, siz orqaga qaytib kodingizni mos ravishda sozlashingiz kerak bo'ladi. Bundan tashqari, USB 1.1 portini tekshirgichni kompyuterga ulash uchun ochiq qoldiring, bu misolda biz pleksiglasdan foydalanganmiz. Birinchidan, har bir bo'lakning o'lchamlarini sizning ehtiyojlaringizga mos ravishda o'lchashingiz kerak. Shunga qaramay, USB 1.1 portining ochilishi uchun hisob qaydnomasini olishni unutmang. Keyinchalik, lazer to'sar yordamida boshqaruv qutisining barcha qismlarini kesib oling. Siz pleksiglasni tasma bilan ham kesishingiz mumkin, lekin lazerni kesuvchi aniqroq. Bundan tashqari, biz arduino bilan bir xil o'lchamdagi yog'ochdan yasalgan kichik bo'lakni kesish uchun tasma ishlatardik. Bu zarur bo'lmasa -da, montaj bosqichi uchun tavsiya etiladi.
5 -qadam: Tekshirish moslamasi
(Agar siz avvalgi bosqichda tavsiya etilgan yog'och bo'lagini kesmagan bo'lsangiz, birinchi ko'rsatmani o'tkazib yubormang) Yog'och bo'lagini oling va uning ustiga arduino taxtasini qo'ying. Keyin taxtani mahkam o'rnating va yog'ochni pleksiglasning pastki qismiga yopishtiring. Agar siz o'tinni o'tkazib yuborsangiz, taxtani to'g'ridan -to'g'ri pleksiglasga burab qo'yishingiz mumkin, garchi bu vint uchun etarlicha qalin bo'lmasa, unga zarar etkazishi yoki noqulay bo'lishi mumkin. Shundan so'ng, yopishtiruvchi stikerni taxtaning orqa qismidan olib tashlang, so'ngra uni arduino yoniga yaqinroq joylashtiring, so'ngra qolgan qismini qutiga yopishtiring, shunda kontrolör hosil bo'ladi, yana USB 1.1 porti hali ham mavjud ekanligiga ishonch hosil qiling..
6 -qadam: Plug va Play
Siz tugatdingiz! USB 1.1 kabelidan foydalanib, shirin boshqaruvchini kompyuterga ulang va o'yinni sinab ko'ring!
Tavsiya:
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadamli dvigatel: Siz hech qachon mini-loyihaga aylanishingiz kerak degan yomon fikrga keldingizmi? Xo'sh, men AD9833 to'g'ridan -to'g'ri raqamli sintez (DDS) moduli yordamida musiqa yaratishga qaratilgan Arduino Due uchun chizgan eskiz bilan o'ynab yurardim … va bir paytlar men o'yladim
Arduino uchun qadam tezligini boshqarish menyusi: 6 qadam
Arduino uchun qadam tezligini boshqarish menyusi: Bu SpeedStepper kutubxonasi qadam dvigatelining tezligini nazorat qilish uchun AccelStepper kutubxonasining qayta yozilishi. SpeedStepper kutubxonasi sizga belgilangan dvigatel tezligini o'zgartirishga imkon beradi, so'ngra xuddi shu algoritm yordamida yangi belgilangan tezlikka tezlashadi/sekinlashadi
Qanday qilib qadam taymerini yasash mumkin?: 3 qadam (rasmlar bilan)
Qanday qilib qadam taymerini yasash mumkin ?: Men ko'plab sport turlarida yaxshi qatnashardim: yurish, yugurish, velosiped haydash, badminton o'ynash va hokazo. Men tez orada sayohat qilishni yaxshi ko'raman. Xo'sh, qorin qornimga qarang …… Xo'sh, baribir, men mashg'ulotlarni qaytadan boshlashga qaror qildim. Qanday uskunani tayyorlashim kerak?
Arduino UNO bilan qadam motor: 3 qadam
Arduino UNO bilan qadam dvigateli: Bosqichli motorlar - bu alohida bosqichlarda harakatlanadigan shahar motorlari. Ularda "fazalar" deb nomlangan guruhlarga bo'lingan bir nechta rulon bor. Har bir fazani ketma -ket quvvatlantirganda, dvigatel birma -bir aylanadi, zinapoyali dvigatellar juda foydali
Kompyuteringizni qadam dvigateli bilan boshqaring!: 9 qadam (rasmlar bilan)
Kompyuteringizni qadam dvigateli bilan boshqaring!: Oldingi ko'rsatmalarimdan birida men sizga step motorini aylanuvchi kodlovchi sifatida qanday ishlatishni ko'rsatdim. Bu yo'riqnomada keling, undan kompyuterni boshqarish uchun qanday foydalanish kerakligini bilib olaylik. Shunday qilib, ko'p vaqt sarflamasdan, boshlaylik