Беспроводная 3D воздушная мышь на базе акселерометра | Полный DIY-проект
Беспроводная 3D воздушная мышь на базе акселерометра | Полный DIY-проект
Мы видели различные типы устройств пользовательского интерфейса (HID), например мышь и клавиатуру. В старых версиях компьютерной мыши оптические датчики использовались для обнаружения движения относительно поверхности, поэтому для правильной работы им требуется гладкая поверхность. Эти мыши могут работать только с двумя координатами. С развитием технологий мы теперь говорим о 3D-пользовательских интерфейсах ((3DUI). Итак, мы должны начать разработку 3D-устройства HID, способного работать со всеми координатами.
В этом проекте мы собираемся создать беспроводное 3D-устройство HID, которое подарит вам совершенно новый опыт использования компьютеров и онлайн-игр. С помощью этого устройства вы сможете управлять компьютерами и смартфонами, просто перемещая руку в воздухе.
Это устройство может оказаться очень полезным при создании систем на основе 3D-интерфейса. Мы также можем использовать это устройство в 3D-проектировании. Например, вы можете нарисовать любой рисунок, подняв руку в воздух. В дальнейшем мы можем разработать такое устройство для 3D-голографического отображения и виртуальной реальности, которое даст нам 3D-пользовательский интерфейс.
Лучшее применение этого устройства — то, что оно позволит людям с ограниченными возможностями использовать компьютеры и смартфоны. Люди, у которых нет рук для управления компьютером или телефоном, теперь могут делать это с помощью этого устройства. Они могут носить это устройство на голове и управлять гаджетами, двигая головой.
Теперь приступим к нашему интересному проекту. Во-первых, нам нужно собрать следующие компоненты –
<ул>
Arduino Pro Mini 5 В, 16 МГц
2 Bluetooth HC 05
Датчик Mpu 6050
Arduino Leonardo Micro (при мега 32u)
Перемычки
Микрокабель USB
4-кнопочный переключатель
Спецификация
Для загрузки кода на pro mini также понадобится модуль FTDI или Arduino Uno.
Кодирование
Прежде всего нам нужно установить библиотеку MPU 6050. Откройте менеджер библиотек Arduino IDE и найдите MPU6050, затем установите библиотеку – см. (рис. 1). После этого мы назначим один Bluetooth как подчиненный, а другой как главный — для этого следуйте инструкциям Bluetooth в Интернете.
Рис. 1 Установка библиотеки
Поскольку мы установили библиотеку, теперь мы можем приступить к написанию кода. В первой части кодирования мы подключим библиотеку для MPU6050 и установим переменные для хранения значений датчика mpu6050. После этого мы можем настроить датчик и Bluetooth в функции настройки – для этого см. (рис. 2). В этом коде я использовал скорость 9600 бод.
Рис. 2 Библиотека настройки кода Arduino Mini
Во второй части кодирования мы отправим данные кнопок и датчиков на другой Arduino через Bluetooth, как показано на рисунке (рис. 3).
Рис. 3 Код Arduino Mini, получающий данные MPU6050
Наш мини-код Arduino готов. Итак, приступим к написанию кода для Arduino pro micro.
Сначала мы создадим переменные для хранения значений, затем настроим Bluetooth для чтения последовательных данных датчика – см. (рис. 4).
Рис. 4 Arduino Micro библиотека настройки кода
В третьей части процесса кодирования мы создадим функцию цикла и получим последовательные данные от Bluetooth. Здесь, в этом коде, я использовал последовательный порт программного обеспечения для подключения Bluetooth со скоростью 9600 бод.
После этого проверьте значение диапазона последовательных данных и назначьте его значение для движения мыши, как показано на рис. 5.
Рис. 5 Проверка данных для установки значений координат
Далее мы создадим условие if () для проверки работы кнопки мыши – для этого можно обратиться (рис. 6). Мы также можем добавить к нему дополнительные сочетания клавиш и другие функции по вашему желанию. Здесь, в этом коде, я добавил ярлык кнопки для функции копирования и вставки. Вы можете создать свою собственную функцию в соответствии со своими сценариями использования.
Рис. 6 Настройка функции щелчка мышью
Поскольку мы завершили часть кодирования, нам нужно соединить компоненты.
Связи:
<группа кол-в>
<столбец/>
<столбец/>
<тело>
<тр>
Arduino Mini Pin
<тд>
<тр>
Arduino Mini SCL
MPU 6050 SCl
<тд>
<тр>
Arduino Mini SDA
MPU 6050 SDA
<тд>
<тр>
Arduino Mini VCC
MPU 6050 VCC
<тд>
<тр>
Arduino Mini GND
MPU 6050 GND
<тд>
<тр>
Arduino Mini TX
<тд>
<тр>
Arduino Mini RX
<тд>
<тр>
Arduino Mini VCC
<тд>
<тр>
Arduino Mini VCC
<тд>
<тр>
Arduino Mini (A3,A0,A2,A1 )
<тд>
Подключение и схему см. на рис. 7.
Рис. 7. Соединение с Arduino Pro Mini
Теперь подключим Arduino Pro Micro к Bluetooth – см. (рис. 8)
<группа кол-в>
<столбец/>
<тело>
<тр>
Arduino
<тр>
VCC
+VE
<тр>
GND
-VE
<тр>
Контакт 9
TX
<тр>
Pin 8
RX
Рис. 8. Соединение Arduino Pro Micro.Рис. 9
Теперь, чтобы загрузить код в Pro Mico, выберите плату и порт и нажмите Ctrl + U (см. рис. 9). Теперь загрузите код в Pro mini, используя опцию платы (см. рис. 10). Следуйте онлайн-инструкциям, чтобы загрузить код на Pro Mini. Поиск Как загрузить код на pro mini.
Рис. 10
Поздравляем! Беспроводная мышь HID готова к использованию. С ним можно проделывать потрясающие трюки: можно прикрепить его к руке или любому игрушечному пистолету и наслаждаться настоящей игрой-стрелялкой. Прикрепите устройство к кончику пластикового ножа, и вы сможете поиграть с ним в игру по нарезке овощей.
Примечание: В коде я упомянул контакт A7 в Arduino для функции кнопки клавиатуры, но не использовал его при подключении и схемах, поскольку некоторые мини-версии Arduino не имеют этого контакта. Если у вас есть дополнительные контакты A7, A8, вы можете добавить к ним еще switch и установить функцию сочетания клавиш по вашему выбору.
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба