Предположим у нас имеется: Arduino Leonardo – 1 штука, Bluetooth модуль – 1 штука, Android смартфон – 1 штука. Ключевое отличие Leonardo от остальных ардуин заключается в том, что она поддерживает протоколы HID, а по-простому может притворятся мышкой или клавиатурой. Выглядит это примерно следующим образом:
#include "Mouse.h" // импортируем библиотеку работы с мышью
void setup(){} // ничего не настраиваем
void loop()
{
Mouse.move(10, -15, 3); // сдвигаем курсор на 10 пикселей вправо, на 15 пикселей вверх и колесо на 3 оборота
}
Как видим все крайне просто. Метод Mouse.move(X, Y, WHEEL) принимает три относительных параметра:
X – величина смещения в пикселях по оси X (отрицательные значения сдвигают влево)
Y – величина смещения в пикселях по оси Y (отрицательные значения сдвигают вверх)
WHEEL – величина смещения колеса прокрутки (отрицательные значения сдвигают в другую сторону)
Но сама по себе идея двигать курсор ничего не стоит, если не мы его контролируем, а значит нам нужно непосредственно HID (Human Interface Device), или по-простому устройство ввода. В нашем случае мы его сделаем из смартфона, «написав программу» в среде AppInventor, но, предварительно, разберемся с железной частью и напишем скетч для Arduino. Данные в Leonardo со смартфона мы будем отсылать по bluetooth. Модуль bluetooth можно использовать любой подходящий, наиболее популярным решением является HC-05(06). Подключаем по следующей схеме: