Съдържание:
- Стъпка 1: Механично сглобяване
- Стъпка 2: Проектирайте вашата игра
- Стъпка 3: Кодиране
- Стъпка 4: Рязане
- Стъпка 5: Монтаж на контролера
- Стъпка 6: Plug and Play
Видео: Размер: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Описание на проекта: Създаване на контролер, базиран на движение, който може да комуникира данни напред -назад от дъската arduino към движещото устройство за игра Unity 5. В този случай използваме акселерометър с три оси (Adxl345), за да контролираме позицията X и Y на игровите обекти вътре в двигателя Unity. Акселерометърът и arduino са сглобени в правоъгълна кутия, за да образуват удобен и лесен за употреба контролер.
Материали:
Акселерометър
Лепило лепило
Основни умения за запояване на Arduino Board
BreadboardLaser Cutter (лентовият трион също би работил, но не толкова прецизно)
Плексиглас (или други материали, в които искате да сглобите arduino и акселерометър) USB 1.1 кабел
Проводници
Стъпка 1: Механично сглобяване
Първо, успокойте щифтовете си в ускорителя. В този пример всички пинове са запоени, но единствените необходими щифтове са: VIN порт, Grnd порт, SDA порт и SCL порт. Поставете акселерометъра върху чертежа, така че всички щифтове да са в различни редове, но в една и съща колона. След това свържете четирите проводника от arduino към ускорителя. Един проводник трябва да минава от 5V порта на arduino до VIN порта на акселерометъра. И двата наземни порта на arduino и акселерометъра също трябва да бъдат свързани. Портовете SDA и SCL на arduino също трябва да бъдат свързани (и съпоставени) към портовете SDA и SCL на акселерометъра. Проверете задната част на вашия arduino, за да разберете кои от неговите портове са SDA и SCL. Не се притеснявайте за свързването на захранване, цялото захранване ще се подава към arduino чрез USB 1.1 кабела.
Стъпка 2: Проектирайте вашата игра
Това е може би най -важната част от играта и е силно препоръчително да се чувствате комфортно с единство за този проект. Наистина можете да направите всякакъв вид игра, която искате, решихме да направим игра с топка и лабиринт. Когато правите играта, не забравяйте да направите всички обекти, които трябва да бъдат контролирани деца на по -голям обект на игра.
Стъпка 3: Кодиране
Това е може би най -трудната част от проекта. Първото нещо, което ще искате да направите, е да изтеглите библиотеката с кодове за акселерометъра ADXL345 в Arduino IDE. Може да се намери на уебсайта на adafruit. След като бъде качен в arduino, той ще изплюе куп данни в серийния монитор. Наистина, това, което би било идеално тук, е да вземете позиционните данни на XYZ и да ги изпратите направо в единния проект, но изпращането на плавателни средства не е толкова просто, колкото изглежда. Когато изпраща данните, единството винаги ще ги чете като низ, което се оказва трудно за работа. За да заобиколим това, можем да направим поредица от if изявления за arduino. например:
if (event.acceleration.y> 3) {
Serial.println ("вдясно");
}
Ще искаме да правим тези типове сравнения за осем различни посоки: нагоре, надолу, наляво, надясно, нагоре-надясно, нагоре-наляво, надолу-надясно и надолу-наляво.
Изпращайки тези низове от упътвания, ние всъщност можем да ги използваме! В Unity, на нашия контролер на плейъра (който трябва да бъде прикрепен към обекта или групата обекти, които искате да контролирате), ние ще искаме да използваме оператор if, който ще използва низа, който се чете в:
if (serial. ReadLine () == "наляво") {
Debug. Log ("вляво");
transform. Rotate ((-Time.deltaTime * 50), 0, 0);
}
И отново, ние ще искаме да направим това за всичките осем направления.
Сега най -трудната част е всъщност да се позволи данните да бъдат изпратени до единство. В същия скрипт ще искаме да разрешим серийната библиотека: използвайки System. IO. Ports
След това ще искаме да създадем нов екземпляр на сериен порт:
SerialPort serial = нов SerialPort ("COM5", 9600);
** Забележка, за да проверите кой COM използва вашият arduino, можете да направите това в Arduino IDE, но най -често срещаните са COM3 и COM5. **
Вътре в стартовата ни функция сега искаме да отворим серийния порт:
if (! serial. IsOpen) {
serial. Open ();
serial. ReadTimeout = 10;
}
След всичко това, опитайте да тествате трансфера на данни и ще видите, че работи!
Стъпка 4: Рязане
Сега, когато сте кодирали играта си и вашият arduino комуникира с Unity 5, проектът по същество е завършен. Искате обаче да го сглобите в удобен за потребителя атрактивен контролер, който всичките ви приятели да използват! За да създадете този контролер, можете да използвате всеки материал, който искате, просто се уверете, че той не изхвърля вашите координати във вашия ускорител, може да се наложи да се върнете и да коригирате кода си съответно. Също така, не забравяйте да оставите USB 1.1 порта отворен, за да свържете вашия контролер към компютъра. В този пример използвахме плексиглас. Първо, ще трябва да измерите размерите на всяко парче, за да отговарят на вашите нужди. Отново, не забравяйте да вземете сметка за отваряне на USB 1.1 порт. След това с помощта на лазерен нож изрежете всички части от кутията на контролера. Можете също да изрежете плексигласа с лентов трион, но лазерната резачка е по -точна. Освен това използвахме лентов трион, за да изрежем малко парче дърво със същите размери като arduino. Въпреки че това не е необходимо, се препоръчва за стъпката на сглобяване.
Стъпка 5: Монтаж на контролера
(Ако не сте отрязали парчето дърво, както е препоръчано в предишната стъпка, пропуснете тази първа инструкция) Вземете парчето си дърво и поставете дъската arduino върху нея. След това завийте дъската към дървото, като се уверите, че е здраво на мястото си. След това залепете дървото си за долната част на плексигласа. Ако сте прескочили дървото, можете да завиете дъската директно към плексигласа, въпреки че това може да го повреди или да стане неудобно, ако не е достатъчно дебело за винта. След това премахнете лепящия стикер от задната страна на вашата дъска, след това го поставете отблизо и плътно до arduino. След това залепете останалите си части от кутията, за да оформите контролера, отново се уверете, че USB 1.1 портът все още е достъпен.
Стъпка 6: Plug and Play
Готови сте! Свържете вашия сладък контролер към компютъра си с помощта на USB 1.1 кабел и тествайте играта си!
Препоръчано:
Ретро аркада - (Пълен размер Осъществено от Raspberry Pi): 8 стъпки
Ретро Аркада - (Пълен размер Осъществено от Raspberry Pi): Първо исках да ви благодаря, че разгледахте ръководството за изграждане на тази система Retro Arcade. Взимам по-стара аркадна кутия и я поставям в самостоятелен шкаф с 24-инчов широкоекранен монитор. Измерванията в това ръководство са груби, за да ви дадат
Minecraft Ore Lamp - Персонализиран размер и плътност на пикселите: 4 стъпки
Minecraft Ore Lamp-Персонализируем размер и плътност на пикселите: Седемгодишното ми дете е обсебено от Minecraft, затова реших да създам нещо свързано с него. Търсейки опции, има страхотен проект за лампа от Dan J Hamer в Thingiverse, но след като го промених малко, реших да започна собствен проект (вие
GranCare: Монитор за здраве с джобен размер!: 8 стъпки (със снимки)
GranCare: Здравен монитор с джобен размер !: Така че нека започна, имам баба. Тя е малко стара, но супер здрава и здрава. Е, наскоро бяхме на лекар за месечен преглед и лекарят я посъветва да ходи всеки ден поне половин час, за да поддържа ставите си здрави. Имаме нужда от
Ръка за роботи с джобен размер MeArm V0.4: 20 стъпки (със снимки)
Ръка за роботи с джобен размер MeArm V0.4: MeArm е джобна ръка за роботи с джоб. Това е проект, стартиран през февруари 2014 г., който е имал фантастично бързо пътуване до сегашното си състояние благодарение на Open Development като Open Hardware проект. Версия 0.3 беше представена на инструкторите обратно
Най -готиният USB L.E.D. Светлина с джобен размер (вход с джобен размер): 6 стъпки
Най -готиният USB L.E.D. Светлина с джобен размер (запис с джобен размер): В тази инструкция ще ви покажа как да направите L.E.D с USB захранване светлина, която може да се сгъне в размер на калай X-it Mints и може лесно да се побере в джоба ви. Ако ви харесва, не забравяйте да го + и гласувате за мен в конкурса! Материалите и