Текущее время: 28 мар 2024, 18:50

Калининград & ХОББИ

Занятие любимым хобби - это путь к счастливой жизни!

Эмулятор USB мыши на Ардуино

Тут собраны схемы различных устройств сделанных на контроллерах Ардуино, Лазерный гравер на Ардуино, Металлоискатель на Ардуино, Метеостанция, Кодовый замок, и множество других устройств и изобретений
Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Эмулятор USB мыши на Ардуино

Сообщение -=dp=- » 11 янв 2017, 13:19

Эмулятор USB мыши на Ардуино.

Вступление или зачем все это надо.
Идея разработки аппаратного эмулятора USB мыши на Ардуино возникла как всегда спонтанно :D
А причиной ее возникновения стало введение новых правил по безопасности в компании где я работаю. Системные администраторы установили всем на компьютеры автоматическую блокировку по истечении 10 минут простоя компьютера. То есть, если компьютер не трогать 10 минут он автоматически блокируется, для того чтобы его разблокировать надо ввести логин и пароль. Первое время было трудно привыкнуть к данному нововведению, например читаешь текст какой нибудь, не трогаешь ПК, а тут на тебе - заблокировался.
И меня это нововведение стало мягко говоря раздражать.
Было принято решение о создании USB устройства, которое будет подключаться к компьютеру через USB разъем, опребелятся системой как USB HID Device мышь и автоматически перемещать курсор мыши на несколько пикселей, с интервалом в 2-5 сек. Такое устройство будет эмулировать работу человека за компьютером и он блокироваться не будет.
Ну, сказано - сделано, приступаем к разработке! :ugeek:

Для создания эмулятора USB мыши на Ардуино нам понадобятся следующие детали:
Ардуино Про мини 5В 16МГц - 1 шт.
Резисторы 56 Ом - 2 шт.
Резистор 2,2 КОм - 1 шт.
Стабилитрон 3,6В - 2шт.
USB разъем USB A Male (вилка или папа)
Макетная плата.



Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Эмулятор USB мыши на Ардуино

Сообщение -=dp=- » 11 янв 2017, 13:23

Далее нужна будет библиотека для Arduino IDE и вот этот скетч

Код: выделить все

#include "TrinketHidCombo.h"
void setup(){
pinMode(4,INPUT);
pinMode(2,INPUT);
pinMode (5,OUTPUT);
TrinketHidCombo.begin();
}
void loop(){
TrinketHidCombo.poll();
TrinketHidCombo.mouseMove(2,0,0);
delay(2000);
TrinketHidCombo.mouseMove(0,2,0);
delay(2000);
TrinketHidCombo.mouseMove(-2,0,0);
delay(2000);
TrinketHidCombo.mouseMove(0,-2,0);
delay(2000);
}



Скетч и устройство предельно простое и пригодно для повторения даже начинающими Ардуинщиками ;)


Вложения
TrinketHidCombo.zip
Эмулятор USB мыши на Ардуино
(38.18 KiB) Скачиваний: 3069

Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Эмулятор USB мыши на Ардуино

Сообщение -=dp=- » 11 янв 2017, 13:26

Схема эмулятора USB мыши на Ардуино

Arduino USB HID.jpg
Схема эмулятора USB мыши на Ардуино



Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Эмулятор USB мыши на Ардуино

Сообщение -=dp=- » 11 янв 2017, 13:32

У меня получилось вот такое вот устройство :)


Вложения
1.jpg
Эмулятор USB мыши на Ардуино
2.jpg
Эмулятор USB мыши на Ардуино

Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Эмулятор USB мыши на Ардуино

Сообщение -=dp=- » 11 янв 2017, 13:36

Кроме вышеописанной функции данное устройство может эмулировать и клавиатуру, то есть, можно аппаратно нажимать на клавиши, включать сочетания клавиш, печатать команды и запускать программы и скрипты, и все это автоматически при подключении устройства к USB порту ;)
Перспективы очевидны!

Или к примеру можно сделать ИК пульт, свою мини клавиатуру, игровой джойстик, или подключить гироскоп и управлять курсором мыши наклоном головы или руки :shock:



Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Эмулятор USB мыши на Ардуино

Сообщение -=dp=- » 11 янв 2017, 14:30

Отснял видео с демонстрацией работы эмулятора USB мыши на Ардуино

https://youtu.be/4iO0kdtmhto


Вложения
2.jpg
Эмулятор USB мыши на Ардуино
2.jpg (23.04 KiB) Просмотров: 45530

Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Эмулятор USB мыши на Ардуино

Сообщение -=dp=- » 22 июл 2019, 21:48

Должно работать.

Надо проверить все элементы схемы, особенно стабилитроны и резисторы.
Может ошибка где в монтаже.

В скетче не должно быть подключено никаких библиотек кроме TrinketHidCombo.h

Так же может зависить от модели контроллера , нужна ATMEGA328P 5V 16MHZ.



Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Эмулятор USB мыши на Ардуино

Сообщение -=dp=- » 30 июл 2019, 17:57

PavelTim писал(а):У меня то же не работает на Нано.
Добавил в скетч мигание 13диодом. Оказалось останавливается на строке TrinketHidCombo.begin();


Я делал несколько таких устройств, в том числе использовал эту библиотеку для создания анлокера для ПК, все работало.
Но, во всех устройствах я использовал Ардуино ПРО мини 5в 16 Мгц.

Скорее всего, то что у Вас на нано не работает, это из-за чипа CH340, он же в ней распаян на плате, может вы в скетче подключали библиотеку Serial ?

Делайте тогда на Про мини ;)




Вернуться в Устройства на Ардуино

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9