Съдържание:

Контролер за видеоигри Arduino: 4 стъпки
Контролер за видеоигри Arduino: 4 стъпки

Видео: Контролер за видеоигри Arduino: 4 стъпки

Видео: Контролер за видеоигри Arduino: 4 стъпки
Видео: 🤪 VR экзоскелет ИЗ ДЕРЕВА #виар 2024, Юли
Anonim
Arduino контролер за видео игри
Arduino контролер за видео игри

Имате ли комплект Arduino, но нямате представа какво да правите с него? Може би не, но в тази инструкция ще ви покажа стъпка по стъпка как да изграждате, кодирате и интегрирате Arduino във вашия проект. В момента това ръководство се тества само с Clickteam Fusion Developer 2.5, но стъпките за изграждане и код на Arduino могат да се използват универсално. Това ръководство може да бъде актуализирано за Unreal и Unity в бъдеще.

Стъпка 1: Списък за пазаруване

  • Arduino Uno или подобен
  • USB кабел
  • (400 точки) Платка или 1 x перф/лента
  • Съвместими с Arduino проводници.
  • Различни сензори. Използвах следното в моя пример проект:
  • Потенциометър за монтаж на панел 10K подходящ за дъска
  • Фоторезистор
  • Силово чувствителен резистор

Стъпка 2: Връзки

Връзки
Връзки

Забележка: Това са само сензорите, които лично съм използвал за моя проект. Това означава, че има много повече възможности. Инструкции стъпка по стъпка как да ги свържете, могат да бъдат намерени на различни сайтове в зависимост от сензора.

Стъпка 3: Arduino код

Копирайте и качете този код на вашия Arduino, ако искате да използвате същия тип сензори като мен. В противен случай можете да използвате свой собствен код за сензорите си. Единственото глобално важно нещо, което се изисква, е променливите, които искате да използвате в играта си, да бъдат отпечатани на серийния монитор или да бъдат прочетени по друг начин.

// Те са зададени в началото и не се променят, когато програмата работи. Например кой ANALOG IN щифт използва.

const int potPin = A0; const int fsrAnalogPin = 5; const int фотоелементPin = 2; // Променливи: // СЕНЗОР НА СВЕТЛИНА: // Променлива на светлинното количество: int photocellReading; // POTENTIOMETER // Стойност на int стойност на потенциометър; // ДАТЧИК НА НАЛЯГАНЕ // Това е променливата на необработените данни от сензора за налягане. int fsrReading; // Картирана версия на променливата fsrReading int pressure; void setup () {// поставете вашия код за настройка тук, за да стартирате веднъж: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// сензор за налягане // Тук използваме посочения fsrAnalogPin за четене на данни от този щифт. fsrReading = analogRead (fsrAnalogPin); // Стойност на картата от 0-1023 до 0-255. налягане = карта (fsrReading, 0, 1023, 0, 255); // Проверете дали налягането е под или над определено количество, като отпечатате едно от двете. Тази отпечатана променлива се използва по -късно в двигателя на играта. if (налягане 70) {Serial.print ("6"); } // стойност на POTENTIOMETER = analogRead (potPin); // Прочетете и запишете аналогова стойност от потенциометър стойност = карта (стойност, 0, 1023, 0, 360); // Стойност на картата от 0-1023 до 0-360 // Тук разделяме 360 на шест различни сегмента. // Можете да промените количеството сегменти на по -голямо количество. След това всеки сегмент ще има по -малък диапазон. Например 8 сегмента ще имат диапазон от 45 всеки. (360 /количество сегменти) // Ако текущата стойност попадне в сегмент, той ще отпечата името на този сегмент. if (стойност 60 и стойност 120 и стойност 180 и стойност 240 и стойност 300 и стойност <375) Serial.print ("Шест"); // СЕНЗОР НА СВЕТЛИНА // Тук отново четем и задаваме променлива, в случая photocellReading. photocellReading = analogRead (photocellPin); // Проверяваме количеството светлина, с тъмен и много тъмен печат a 3 и нормални стойности на светлината отпечатване 4. if (photocellReading <10) {Serial.println (" - 3"); } else if (photocellReading <200) {Serial.println (" - 3 -"); } else if (photocellReading <500) {Serial.println (" - 4 -"); } // Числата в серийния номер: // Първото число е сензорът за налягане, 5 не е натиснат и 6 е натиснат. // След това кой сегмент е включен в момента потенциометър. // И последното число е 3 = тъмно или 4 = светло.

Стъпка 4: В Game Engine: Щракнете върху Team 2.5

В мениджъра на разширения намерете сериен обект и го инсталирайте.

Поставете серийния обект, брояч и низ във вашата рамка. (Щракнете с десния бутон в рамката - поставете обект)

В редактора на събития създайте събитие: Ако данните чакат: Задайте променлив низ на GetData ("Сериен обект")

Това ще зададе низ за всички данни, които се изпращат от Arduino, низът сега трябва да изглежда подобен на серийния монитор.

Създаване на друго събитие Винаги: Задайте брояч на: Намерете (низ $ ("String"), "4", 0)

Този пример ще се опита да намери 4, което е равно на светлината, както може да се види в кода на Arduino.

Ако намери 4, той ще настрои брояча на 4, ако не успее да намери 4, броячът ще бъде -1.

Сега можете да добавите ново събитие, за да направите нещо с този резултат:

Ако брояч = -1: Тук можете да поставите какво трябва да се случва, ако е невярно, като например анимация на изключена лампа.

Ако брояч = -1: Това означава, че е намерил променливата и броячът е настроен на каквато и да е променлива (стига да не е -1), тук можете да го направите така, че анимацията на лампата да се включи.

По принцип с помощта на броячи, които са настроени на -1, което е невярно, или -1, което е вярно, можете да направите събитията да се случват.

Препоръчано: