Оглавление:

Как управлять игрой с простой обработкой данных с помощью Arduino: 6 шагов
Как управлять игрой с простой обработкой данных с помощью Arduino: 6 шагов

Видео: Как управлять игрой с простой обработкой данных с помощью Arduino: 6 шагов

Видео: Как управлять игрой с простой обработкой данных с помощью Arduino: 6 шагов
Видео: Arduino для начинающих. Начало работы 2024, Ноябрь
Anonim
Как управлять игрой с простой обработкой данных с помощью Arduino
Как управлять игрой с простой обработкой данных с помощью Arduino
Как управлять игрой с простой обработкой данных с помощью Arduino
Как управлять игрой с простой обработкой данных с помощью Arduino

Привет всем! В этом руководстве мы увидим, как создать «связь» между эскизом обработки и картой Arduino. В этом примере ультразвуковой модуль будет использоваться для управления самолетом в простой игре. Опять же, это руководство является всего лишь примером, вы можете использовать его для создания чего-то еще, другой игры или другого забавного проекта! Просто взгляните на различные типы датчиков, поддерживаемые Arduino, и представьте, какие проекты вы можете реализовать! Цель игры проста: контролировать высоту самолета и стараться избегать облаков. Высота самолета указана вашей рукой. Как всегда, пожалуйста, сообщите мне, если вы обнаружите ошибки английского языка! Не стесняйтесь задавать вопросы.

Шаг 1: Список материалов

Список материалов
Список материалов

Хорошо, вам понадобятся: • карта Arduino (в данном примере UNO) • модуль ультразвуковых измерений • макетные провода • программное обеспечение Arduino, установленное на компьютере (ссылка здесь) • программное обеспечение обработки (ссылка здесь) • эскизы Arduino и Processing (см. следующие шаги)

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

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

Хорошо, загрузите приложенный скетч в Arduino IDE. Подключить ультразвуковой модуль просто:

  • Vcc -> на Arduino 5 В
  • Триггер -> вывод 3 Arduino
  • Эхо -> вывод 2 Arduino
  • GND -> к Arduino GND

Как работает этот модуль? Он содержит два ультразвуковых излучателя и приемника (серые цилиндры). Излучатель посылает звуковую вибрацию, вибрация отражается от ближайшего объекта (вашей руки), и сигнал принимается модулем. Вычисляя время между излучением и приемом, модуль определяет расстояние между ним и вашей рукой. Проверьте проводку и загрузите код на Arduino. Затем откройте Serial Monitor и проведите рукой над модулем. Монитор последовательного порта должен отображать список номеров … Расстояние в см между ним и рукой. Тем не менее, в этом окне вы увидите номер последовательного порта. В моем случае COM16. (нижняя правая часть окна)

Шаг 3: обработка конфигурации

Конфигурация обработки
Конфигурация обработки
Конфигурация обработки
Конфигурация обработки

Хорошо, откройте Обработку и откройте прикрепленный zip-файл. Он содержит исходный набросок и несколько изображений. Пожалуйста, оставьте их в той же папке.

В коде проверьте строку 52. Здесь мы поместим номер нашего последовательного порта.

Ладно, странно, Processing работает не напрямую с номером COM-порта, а с другой нумерацией. Если ваш последовательный порт - 1, номер обработки - 0. COM 2 -> Номер обработки 1,… В моем случае COM16 - это номер 2. (В случае проблем просто загрузите и запустите прикрепленный скетч "serial_ports.pde" в обработке для поиска существующих последовательных портов.)

Игра «Обработка эскиза» получит последовательные данные, предоставленные Arduino, и значения будут использоваться для перемещения плоскости.

Как это работает ?

Карта Arduino отправляет данные только в том случае, если игрок двигает рукой. Как только данные получены, в коде обработки активируется специальное событие:

Поэтому, когда игрок перемещает руку, отправляется новое значение расстояния. Эскиз обработки получает значение, проверяет диапазон и применяет новое значение к переменной высоты. Между тем игра продолжается …

В случае проблем с отладкой входящее расстояние печатается в консоли обработки.

Шаг 4: Играйте

Играть !
Играть !
Играть !
Играть !

Хорошо, если все в порядке, выберите Run на главной панели инструментов. Поместите эмиттер горизонтально на стол и положите руку примерно на 20 см выше, чтобы начать. Самолет должен двигаться, когда вы двигаете рукой … Значения высоты отображаются в консоли обработки. Помните, что эта игра - всего лишь пример, вы не можете проиграть или выиграть … (но выглядит очень сложно?) Вот и все, простой способ использовать датчики Arduino для управления, в данном случае, игрой, написанной на Processing. Но представьте, что вы можете делать с другими датчиками: акселерометр (подумайте об играх wiimote), цифровые кнопки, датчик гироскопа, детекторы звука, датчики пьезо … Какие игры вы будете создавать? Спасибо за чтение!

ОБНОВЛЕНИЕ: проверьте новый следующий шаг, чтобы узнать, как заменить рисунок плоскости красивым изображением.

Шаг 5: Необязательный шаг: Как заменить плоскость изображением

Необязательный шаг: как заменить плоскость картинкой
Необязательный шаг: как заменить плоскость картинкой

Я получил много отзывов об этом проекте. Всем спасибо, всегда приятно.

Некоторые спрашивают меня, как заменить (уродливую) модель самолета картинкой, например облаками. (Правильно, первоначальная модель была не очень красивой…)

Чтобы заменить его изображением, вам просто нужно заменить координаты строки вызовом изображения. Итак, вы должны сначала загрузить его и убедиться, что изображение правильно перемещается и вращается.

Проверьте прикрепленный ZIP-файл. Он содержит новый файл проекта с новым изображением самолета. Больше пояснений в программе. Просто спросите, есть ли у вас дополнительные вопросы.

Спасибо за прочтение !!

Шаг 6: Система оценок

Система оценок
Система оценок

ОБНОВЛЕНИЕ 07/12/15:

Привет читатели, Многие люди спрашивали, как добавить систему очков, когда вы попадаете (немного жестоко, нет?) В птицу.

Простой способ добиться этого - вычислить расстояние между самолетом и птицей. Когда это расстояние становится меньше заданного значения (40 пикселей в моем коде), оценка увеличивается на единицу, а положение птицы сбрасывается в правую часть экрана.

Счет также отображается на экране.

Единственный недостаток этого метода в том, что он не учитывает положение плоскости. Но это работает.

Если хотите чего-то посложнее, просто уменьшите пороговое расстояние, попробуйте 20 пикселей.

Проверьте приложенный код. Разархивируйте файл и храните изображения в той же папке.

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