Управление мышкой компьютера с помощью пальцев и Arduino

В этой статье мы рассмотрим создание на основе платы Arduino и гироскопа MPU-6050 специального "наперстка" (наконечника, одеваемого на палец), с помощью которого можно будет управлять движениями указателя мыши на экране компьютера.

Внешний вид проекта управления мышкой компьютера с помощью пальцев и Arduino

В некотором плане данный проект похож на проект виртуальной реальности на основе платы Arduino, рассмотренный ранее на нашем сайте. Также на нашем сайте вы можете посмотреть другие проекты, в которых был использован гироскоп MPU-6050:

Необходимые компоненты

  1. Плата Arduino Micro (купить на AliExpress).
  2. Гироскоп MPU-6050 (купить на AliExpress).
  3. Джампер (для соединения Arduino и MPU-6050).
  4. Эластичная лента (если хотите более плотно закрепить устройство на пальце).

Схема проекта

Схема "наперстка" на основе платы Arduino для управления мышкой компьютера представлена на следующем рисунке.

Схема "наперстка" на основе платы Arduino для управления мышкой компьютера

В схеме необходимо сделать следующие соединения между гироскопом MPU-6050 и платой Arduino:
- контакт VCC платы Arduino – к контакту VCC гироскопа;
- контакт GND платы Arduino – к контакту GND гироскопа;
- контакт 2 платы Arduino – к контакту SDA гироскопа;
- контакт 3 платы Arduino – к контакту SCL гироскопа.

Печать на 3D принтере компонентов проекта

Автор данного проекта изготовил две версии рассматриваемого наконечника на пальцы: одна из них изготовлена без использования 3D принтере и она получилась более громоздкой, а вторая, с использованием 3D принтера, получилась менее громоздкой и изготовлена в стиле стимпанка.

Скачать файлы для изготовления (печати) данных версий можно по следующим ссылкам:

Сборка проекта

В стиле стимпанка

В этом случае аккуратно вставьте гироскоп MPU-6050 внутрь верхнего выступа изготовленного корпуса наконечника на палец, а соединительные провода уложите в нижний выступ.

Внешний вид наконечника на палец в стиле стимпанка

Обычная версия

В этом случае сборка проекта осуществляется аналогичным образом, то есть необходимо закрепить гироскоп MPU-6050 на последней фаланге необходимого вам пальца. Закрепить его можно с помощью самоклеющейся ленты или эластичного бинта.

Внешний вид обычной версии наконечника на палец

Объяснение программы для Arduino и настройка проекта

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Первым делом в программе нам необходимо подключить библиотеки, которые мы будем использовать в программе – Wire.h, I2Cdev.h, MPU6050.h и Mouse.h.

После этого вам необходимо загрузить в плату Arduino калибровочную программу, код которой приведен в конце данной статьи, одеть наше устройство на палец и открыть окно монитора последовательной связи (Ctrl + Shift + M).

После этого вы в окне монитора последовательной связи должны увидеть примерно следующую картину:

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

После этого вам необходимо заново открыть код калибровочной программы и найти там строки, обозначенные как "// calibration line" и изменять там числовые значения до тех пор, пока вы не получите правильное направление перемещения указателя мыши. При этом каждый раз, когда вы изменяете эти числа, вы должны заново загружать код калибровочной программы в плату Arduino.

К примеру, вы видите в окне монитора последовательной связи следующую картину:

Код в калибровочной программе:

Последовательный монитор говорит нам left", но мы хотим чтобы эта линия была маркирована как "right", поэтому нам необходимо изменить значение "15000" на "5000". В этом случае мы получаем уверенность в том, что обнаруженное значение переменной "ax" будет больше, чем указанное значение в коде программы. В коде калибровочной программы нужно будет изменять только числовые значения, остальное трогать не нужно.

После изменения значения в коде программы на "5000" мы получим в окне монитора последовательной связи:

Как видите, left изменилось на right.

Код в калибровочной программе:

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

То есть если в коде калибровочной программы у нас записано:

А в коде основной программы

То в коде основной программы мы должны изменить эти строки на:

После этого можно будет загружать основную программу в плату Arduino.

Исходный код программы (скетча)

Код основной программы

Код калибровочной программы

Источник статьи

(Проголосуй первым!)
Загрузка...
215 просмотров


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *