Оглавление:

Контроллер видеоигр Arduino: 4 шага
Контроллер видеоигр Arduino: 4 шага

Видео: Контроллер видеоигр Arduino: 4 шага

Видео: Контроллер видеоигр Arduino: 4 шага
Видео: 🎮 Крутой геймпад для WINDOWS/PS3/OSX своими руками на базе Arduino UNO! 2024, Ноябрь
Anonim
Контроллер видеоигр Arduino
Контроллер видеоигр Arduino

У вас есть комплект Arduino, но вы не знаете, что с ним делать? Возможно, нет, но в этой инструкции я покажу вам шаг за шагом, как собрать, кодировать и интегрировать Arduino в ваш проект. На данный момент это руководство протестировано только с Clickteam Fusion Developer 2.5, но шаги сборки и кода Arduino могут использоваться повсеместно. Это руководство может быть обновлено для Unreal и Unity в будущем.

Шаг 1. Список покупок

  • Arduino Uno или аналогичный
  • USB-кабель
  • (400 баллов) Макетная плата или 1 перфорированная / стрип-плата
  • Провода, совместимые с Arduino.
  • Различные датчики. В моем примере проекта я использовал следующее:
  • Потенциометр для монтажа на панели 10K, совместимый с макетной платой
  • Фоторезистор
  • Чувствительный к силе резистор

Шаг 2: Подключения

Подключения
Подключения

Примечание: это только датчики, которые я лично использовал в своем проекте. Это означает, что вариантов намного больше. Пошаговые инструкции по их подключению можно найти на разных сайтах в зависимости от датчика.

Шаг 3: код Arduino

Скопируйте и загрузите этот код в свой Arduino, если вы хотите использовать такие же датчики, как и я. В противном случае вы можете использовать свой собственный код для своих датчиков. Единственная глобально важная вещь, которая требуется, - это чтобы переменные, которые вы хотите использовать в своем игровом движке, были напечатаны на последовательном мониторе или могли быть прочитаны каким-либо другим способом.

// Они устанавливаются в начале и не меняются во время работы программы. Например, какой АНАЛОГОВЫЙ ВХОД использует вывод.

const int potPin = A0; const int fsrAnalogPin = 5; const int photocellPin = 2; // Переменные: // ДАТЧИК ОСВЕЩЕНИЯ: // Переменная количества света: int photocellReading; // ПОТЕНЦИОМЕТР // Значение потенциометра int value; // ДАТЧИК ДАВЛЕНИЯ // Это переменная сырых данных от датчика давления. 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"); } // значение ПОТЕНЦИОМЕТРА = analogRead (potPin); // Считываем и сохраняем аналоговое значение из потенциометра value = map (value, 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); // Мы проверяем количество света, при печати темных и очень темных значений 3 и обычных значений освещенности 4. if (photocellReading <10) {Serial.println ("- 3"); } else if (photocellReading <200) {Serial.println ("- 3 -"); } else if (photocellReading <500) {Serial.println ("- 4 -"); } // Цифры в Serial: // Первое число - датчик давления, 5 не нажимается, а 6 нажимается. // После этого указывается, на каком сегменте потенциометр в данный момент включен. // И последнее число - либо 3 = темный, либо 4 = светлый.

Шаг 4. В игровом движке: нажмите «Команда 2.5»

В Extension Manager найдите Serial Object и установите его.

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

В редакторе событий создайте событие: Если данные ожидают: установите для изменяемой строки значение GetData («Последовательный объект»).

Это установит строку для любых данных, которые отправляются Arduino, строка теперь должна выглядеть так, как в Serial Monitor.

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

В этом примере мы попытаемся найти 4, которые равны свету, как это видно в коде Arduino.

Если он находит 4, он устанавливает счетчик на 4, если он не может найти 4, счетчик будет равен -1.

Теперь вы можете добавить новое событие, чтобы что-то сделать с этим результатом:

Если counter = -1: Здесь вы можете указать, что должно происходить, если оно ложно, например, при выключенной анимации лампы.

Если counter = -1: это означает, что переменная была найдена, и для счетчика установлено значение, которое может быть у этой переменной (если оно не равно -1), здесь вы можете сделать так, чтобы анимация лампы включалась.

В основном, используя счетчики, которые установлены либо на -1, что ложно, либо на -1, что истинно, вы можете создавать события.

Рекомендуемые: