Мазмұны:

Тилт: 6 қадам
Тилт: 6 қадам

Бейне: Тилт: 6 қадам

Бейне: Тилт: 6 қадам
Бейне: TILT FORMULA 6.5 В ШИРИНУ – ЛУЧШАЯ ДЕКА? 2024, Қазан
Anonim
Тилт
Тилт
Тилт
Тилт
Тилт
Тилт

Жобаның сипаттамасы: Arduino тақтасынан Unity 5 ойын конструкторлық қозғалтқышына мәліметтерді алға -артқа жеткізе алатын қозғалысқа негізделген контроллер құру. Бұл жағдайда біз Unity қозғалтқышындағы ойын объектілерінің X және Y позициясын басқару үшін үш осьтік акселерометрді (Adxl345) қолданамыз. Акселерометр де, ардуино да ыңғайлы, ыңғайлы контроллерді құру үшін тіктөртбұрышты қорапқа жиналған.

Материалдар:

Акселерометр

Жабысқақ желім

Arduino Board Негізгі дәнекерлеу дағдылары

BreadboardLaser Cutter (Bandsaw жұмыс істейді, бірақ дәл емес)

Plexiglass (немесе ардуино мен акселерометрді жинағыңыз келетін кез келген басқа материал) USB 1.1 кабелі

Сымдар

1 -қадам: механикалық жинау

Механикалық жинақ
Механикалық жинақ
Механикалық жинақ
Механикалық жинақ
Механикалық жинақ
Механикалық жинақ

Алдымен, түйреуіштерді акселменаторға салыңыз. Бұл мысалда барлық түйреуіштер дәнекерленген, бірақ тек қажетті түйреуіштер: VIN порты, Grnd порты, SDA порты және SCL порты. Акселерометрді барлық түйреуіштер әр түрлі жолдарда, бірақ бір бағанда болатындай етіп тақтаға қойыңыз. Әрі қарай, ардуинодан төрт сымды үдеткішке қосыңыз. Бір сым ардуинодағы 5В портынан акселерометрдегі VIN портына өтуі керек. Ардуино мен акселерометрдегі екі жер порттары да қосылуы керек. Arduino -дағы SDA және SCL порттары акселерометрдегі SDA және SCL порттарына қосылуы (және сәйкестендірілуі) керек. SDA және SCL порттарының қайсысы екенін білу үшін arduino артқы жағын тексеріңіз. Қуат көзін қосу туралы алаңдамаңыз, барлық қуат USB 1.1 кабелі арқылы arduino -ға беріледі.

2 -қадам: ойынның дизайнын жасаңыз

Бұл, бәлкім, ойынның ең маңызды бөлігі, және бұл жоба үшін бірлікке ыңғайлы болу ұсынылады. Сіз шынымен қалаған ойын түрін жасай аласыз, біз доп пен лабиринт стиліндегі ойын жасауды шештік. Ойын жасау кезінде басқарылатын барлық объектілерді балалар үлкенірек ойын объектісіне айналдырғанына көз жеткізіңіз.

3 -қадам: кодтау

Бұл, мүмкін, жобаның ең қиын бөлігі. Сіз жасағыңыз келетін бірінші нәрсе - Arduino IDE ішіндегі ADXL345 акселерометрінің код кітапханасын жүктеу. Оны adafruit веб -сайтынан табуға болады. Ардуиноға жүктелгеннен кейін, ол көптеген деректерді сериялық мониторға шашады. Шынында да, бұл жерде XYZ позициялық деректерін жинап, оны бірлік жобасына жіберу өте ыңғайлы болар еді, бірақ қалқымалы файлдарды жіберу қарапайым болып көрінбейді. Деректерді жібергенде, бірлік оны әрқашан жол ретінде оқиды, бұл онымен жұмыс жасауды дәлелдейді. Бұл мәселені шешу үшін біз жасай алатын нәрсе - arduino үшін if операторларының жиынтығы. Мысалға:

if (event.acceleration.y> 3) {

Serial.println («оң жақта»);

}

Біз сегіз түрлі бағыт бойынша салыстырудың тезистерін жүргізгіміз келеді: жоғары, төмен, солға, оңға, жоғары-оңға, жоғары-солға, төмен-оңға және төмен-солға.

Осы бағыттарды жіберу арқылы біз оларды нақты қолдана аламыз! Unity -де біздің ойыншы контроллерінде (ол басқарылатын объектілерге немесе объектілер тобына бекітілуі керек) біз оқылатын жолды қолданатын if операторын қолданғымыз келеді:

егер (serial. ReadLine () == «солға») {

Debug. Log («сол жақта»);

transform. Rotate ((-Time.deltaTime * 50), 0, 0);

}

Тағы да, біз мұны барлық сегіз бағыт бойынша жасағымыз келеді.

Енді ең қиын бөлігі - бұл деректерді бірлікке жіберуге мүмкіндік беру. Сол сценарийде біз System. IO. Ports арқылы сериялық кітапханаға рұқсат бергіміз келеді

Содан кейін біз жаңа сериялық порт данасын құрғымыз келеді:

SerialPort serial = жаңа SerialPort («COM5», 9600);

** Сіздің arduino қандай COM қолданатынын тексеру үшін ескерту, сіз мұны Arduino IDE -де жасай аласыз, бірақ ең кең тарағандары COM3 және COM5. **

Бастау функциясының ішінде біз сериялық портты ашқымыз келеді:

егер (! serial. IsOpen) {

serial. Open ();

serial. ReadTimeout = 10;

}

Мұның бәрінен кейін, деректерді беруді тексеріп көріңіз, және сіз оның жұмыс істейтінін көресіз!

4 -қадам: кесу

Кесу
Кесу
Кесу
Кесу

Енді сізде ойын кодталған және arduino Unity 5 -пен байланыс орнатқаннан кейін, жоба аяқталды. Дегенмен, сіз оны барлық достарыңыз үшін қолдануға ыңғайлы, тартымды контроллерге жинағыңыз келеді! Бұл контроллерді құру үшін сіз өзіңіз қалаған кез келген материалды пайдалана аласыз, ол сіздің акселератордағы координаттарыңызды тастамайтынына көз жеткізіңіз, сізге кері қайтып, кодты сәйкесінше реттеу қажет болуы мүмкін. Сонымен қатар, контроллерді компьютерге қосу үшін USB 1.1 портын ашық қалдыруды ұмытпаңыз. Бұл мысалда біз плексигласс қолдандық. Алдымен сіз өзіңіздің қажеттіліктеріңізге сәйкес әр бөліктің өлшемін өлшеуіңіз керек. Тағы да, USB 1.1 портының ашылуын ескеріңіз. Әрі қарай, лазерлік кескіш көмегімен контроллер қорабының барлық бөліктерін кесіңіз. Сіз сондай -ақ плексиглассаны таспамен кесуге болады, бірақ лазерлік кескіш дәлірек. Сонымен қатар, біз ардуино өлшемімен бірдей ағаштың кішкене бөлігін кесу үшін таспаны қолдандық. Бұл қажет болмаса да, оны монтаждау кезеңі ұсынылады.

5 -қадам: Контроллерді жинау

Контроллерді жинау
Контроллерді жинау
Контроллерді жинау
Контроллерді жинау

(Егер сіз ағашты алдыңғы қадамда ұсынылғандай қиып алмасаңыз, осы бірінші нұсқаулықты өткізіп жіберіңіз) Ағаш кесіндісін алып, үстіне ардуино тақтасын қойыңыз. Содан кейін тақтаны ағашқа бұрап бекітіңіз, содан кейін оның плексиглассының төменгі бөлігіне ағашыңызды жабыстырыңыз. Егер сіз ағашты өткізіп жіберген болсаңыз, тақтаны тікелей плексигласқа бұрап қоюға болады, бірақ егер ол бұранданың қалыңдығы жеткіліксіз болса, оны зақымдауы немесе ыңғайсыз болуы мүмкін. Содан кейін, нан тақтасының артқы жағындағы жабысқақ жапсырманы алып тастаңыз, содан кейін оны arduino жанына жақын орналастырыңыз, содан кейін контроллерді құру үшін қалған қорап бөліктерін жабыстырыңыз, USB 1.1 порты әлі де қол жетімді екеніне көз жеткізіңіз..

6 -қадам: Қосып, ойнатыңыз

Сіз аяқтадыңыз! USB 1.1 кабелі арқылы тәтті контроллерді компьютерге жалғап, ойынды тексеріңіз!

Ұсынылған: