
Оглавление:
- Шаг 1: Программирование интерфейса при обработке (настройка)
- Шаг 2: Программирование интерфейса обработки (главное меню)
- Шаг 3: Программирование интерфейса при обработке (меню «Обучение»)
- Шаг 4: Программирование интерфейса обработки (меню «Оценить»)
- Шаг 5: Когда мышь нажата
- Шаг 6: при перетаскивании мыши
- Шаг 7. Когда мышь отпущена
- Шаг 8: общение с Arduino
- Шаг 9: Настройка Arduino (Схема)
- Шаг 10: программирование Arduino
- Шаг 11: Это все, получайте удовольствие
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05


Этот проект был разработан в рамках университетского класса, целью было создание интерактивной системы для обучения и оценки определенной темы. Для него мы использовали Обработку на ПК для интерфейса и Arduino NANO для кнопки аркады и светодиодов, так что это довольно просто. Для обучения он предлагает интерфейс, в котором отображается модель, и пользователь может щелкнуть по каждому из компонентов. чтобы получить его текстовое описание. Однако для оценки пользователя он предлагает проблему, похожую на головоломку, когда пользователь должен перетащить каждую часть, чтобы построить соответствующую модель, и нажать кнопку, чтобы подтвердить свой ответ, тогда светодиоды на кнопке сообщат пользователю правильный ответ или нет.
Наиболее распространенной проблемой, с которой мы столкнулись при создании этого проекта, была связь между обработкой и Arduino, поскольку задержка соединения могла различаться между компьютерами, что затрудняло переносимость устройства. Кроме того, вы должны определить порт, к которому Arduino подключается каждый раз, потому что каждое подключенное USB-устройство учитывается, поэтому вам нужно проверить, какой это COM.
Шаг 1: Программирование интерфейса при обработке (настройка)

Мы устанавливаем переменные, которые будут использоваться, положение всех частей в виде массивов координат x и y, а также массивы для изображений каждой из частей для меню Teach (imgA) и Evaluate (img)., массив для проверки правильности ответов и массивы для упоров и замков, которые будут определять, находится ли мышь над частями и пытается ли она их поднять. Затем приступите к их инициализации и откройте порт, через который интерфейс будет связываться с Arduino.
Шаг 2: Программирование интерфейса обработки (главное меню)


Во-первых, в главном меню будут отображаться две кнопки, и когда одна из них будет нажата, программа загрузит либо меню «Обучение», либо меню «Оценить».
Таким образом, когда мышь нажата и находится над одной из кнопок, она отправляет позиции всех частей, которые нужны новому меню, и загружает другое меню.
Шаг 3: Программирование интерфейса при обработке (меню «Обучение»)


Здесь, если мышь наводит курсор на одну из частей, она активирует соответствующий указатель мыши, который при нажатии на мышь активирует соответствующий текст и отображает его на экране.
Шаг 4: Программирование интерфейса обработки (меню «Оценить»)


Здесь то же самое, он активирует заглушки, которые при нажатии мыши активируют блокировки, но на этот раз вместо отображения текста он перетаскивает выбранную часть. (Это было основано на «Перетаскивании, отпускании и наведении мышью» из processing.js)
Шаг 5: Когда мышь нажата

Как указывалось ранее, когда мышь нажата и стрелка установлена в положение «истина», будет активирована соответствующая блокировка.
Шаг 6: при перетаскивании мыши

Если перетаскивать мышь, фактическое меню является меню оценки, и одна из блокировок имеет значение «истина», и соответствующая часть будет перетаскиваться вместе с мышью.
Шаг 7. Когда мышь отпущена


Таким образом, если мышь отпущена и все еще находится в меню «Оценить», она поместит перетаскиваемую часть в то место, где вам нужно построить модель, если она достаточно близко, и проверит, правильный ли ваш ответ. Затем он сбросит все блокировки и тексты на «false».
Шаг 8: общение с Arduino

Итак, теперь, если вы нажмете кнопку на Arduino, она проверит, все ли правильные части установлены на место, и сообщит вам, правильно это или неправильно, а затем отправит «1», если это правильно, или «2», если это неправильно. Ардуино.
Шаг 9: Настройка Arduino (Схема)


Это была схема, используемая для Arduino, но с кнопкой Arcade, поэтому зеленый провод, идущий к кнопке, шел к нижнему разъему на кнопке (COM), а красный провод - к среднему (NO). Для светодиодов использовался резистор 220 Ом, для кнопки - 1 кОм.
Шаг 10: программирование Arduino

Теперь он настраивает кнопку как INPUT на цифровом контакте 2, а светодиоды как OUTPUT на 4, 6 и 8. Затем настраивает порт и считывает его, если он получит «1» (правильный ответ), он загорится 3 Светодиоды один за другим, если он получит «2» (неправильный ответ), то загорится только один из них. Кроме того, если кнопка нажата, интерфейсу будет отправлена буква «е».
Шаг 11: Это все, получайте удовольствие
Вот коды, используемые для этого проекта:
Рекомендуемые:
Легко реализовать пользовательский интерфейс -- OLED-дисплей с джойстиком и кнопками: 6 шагов

Легко реализовать пользовательский интерфейс || OLED-дисплей с джойстиком и кнопками: этот модуль имеет OLED-дисплей с двумя кнопками, 5-позиционный джойстик и 3-осевой акселерометр. Это полезно при настройке пользовательского интерфейса для проекта. Эй, как дела, ребята? Акарш от CETech. Сегодня мы рассмотрим универсальный модуль, который
Пользовательский корпус для 3D-печати для консоли Atari Punk: 5 шагов

Настраиваемый корпус для 3D-печати для консоли Atari Punk: для тех из вас, кто интересуется миром электроники и аналоговых синтезаторов своими руками, но которых пугают дороговизна и сложность электроники, Atari Punk Console (APC) - это отличная точка входа в эту область. Это
Пользовательский интерфейс для MicroPython: 9 шагов

Пользовательский интерфейс для MicroPython: Недавно я купил плату esp8266 и установил на нее MicroPython. Им можно управлять, набрав команду или загрузив в нее код Python. Для установки MicroPython на esp8266, пожалуйста, проверьте https://MicroPython.org/download/#esp8266 или https: // Mic
Пользовательский интерфейс Android (remotexy) для управления серводвигателем с помощью Arduino и Bluetooth: 7 шагов (с изображениями)

Пользовательский интерфейс Android (remotexy) для управления серводвигателем с помощью Arduino и Bluetooth: в этой инструкции я дам вам быстрый шаг по созданию пользовательского интерфейса Android с помощью Remotexy Interface Maker для управления серводвигателем, подключенным к Arduino Mega через Bluetooth. Это видео показывает, как пользовательский интерфейс будет управлять скоростью и положением серводвигателя
Виртуальный пользовательский интерфейс ЭКГ и ЧСС: 9 шагов

Виртуальный пользовательский интерфейс ЭКГ и частоты сердечных сокращений: в этой инструкции мы покажем вам, как построить схему для приема вашего сердцебиения и отображения ее в виртуальном пользовательском интерфейсе (VUI) с графическим выводом вашего сердцебиения и вашей частоты пульса. Для этого требуется относительно простая комбинация