Управление компьютером при помощи Arduino через USB

Для одного проекта необходимо было сделать управление компьютером при помощи ардуинки. Почитав информацию в интернете нашел, что такое возможно только при помощи Ардуинок с atmega 32u4 или Due. Мне такой вариант не подошел, так как у меня уже была готовая разведенная плата с atmega328, поэтому пришлось искать другой вариант, которым я и хочу с вами поделиться.


Берем любую ардуинку, например Uno и подключаем к ней кнопку (в моем случае один контакт к pin 2, другой к GND

Управление компьютером при помощи Arduino через USB Arduino, USB, Controller, Autoit, Длиннопост

Заливаем прошивку


bool buttonClicked = false;


void setup() {

Serial.begin(9600);

pinMode(2, INPUT_PULLUP);

}


void loop() {

if ((digitalRead(2) == LOW) && (buttonClicked == false)) {

Serial.println("KEY_UP");

buttonClicked = true;

}

if (digitalRead(2) == HIGH) buttonClicked = false;

delay(10);

}


Теперь перейдем к компьютеру.


Качаем и устанавливаем AutoIt https://www.autoitscript.com/site/autoit/


И библиотеку для работы с COM портом http://www.mosaiccgl.co.uk/AutoItDownloads/confirm.php?get=C...


Создаем примитивное фоновое приложение


#include <CommMG.au3>

$err = 1

_CommSetPort(5, $err)

_CommPortConnection()

While 1

$key = _CommGetLine()

$key = StringReplace($key, @LF, "")

$key = StringReplace($key, @CR, "")

if ($key = "KEY_UP") then Send("{UP}")

WEnd


В строке _CommSetPort(5, $err) 5 - заменить на номер соответствующего COM порта, на котором висит ардуинка


Теперь по нажатию кнопки подключенной к Arduino у нас на компьютере будет эмулироваться нажатие кнопки ВВЕРХ в любом окне, даже в играх.


Таким образом эмулировать можно нажатие любой кнопки, комбинации кнопок, движение мышки и все, что вам будет угодно.

Arduino & Pi

1.4K постов20.6K подписчик

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Здравствуйте. Не могу понять почему не работает. Подключил кнопку, загрузил скетч в ардуинку. Затем скачал autoit и библиотеку. Закинул файл CommMG.au3 (который был в zip файле) в папку Include в autoit. Выбрал нужный COM порт. Нажал GO и НИЧЕГО НЕ РАБОТАЕТ !!! .Может я что-то не так с библиотекой делал?

раскрыть ветку (4)
Автор поста оценил этот комментарий

а commg.dll есть? еще можно добавить точный путь _CommSetDllPath("C:\COMMS\commg.dll")

раскрыть ветку (3)
Автор поста оценил этот комментарий

Я просто немного не понял что нужно делать с библиотекой. И самое умное к чему я пришел это закинуть CommMg.au3 в папку Include.

Можете пожалуйста сказать что именно нужно делать .

раскрыть ветку (2)
Автор поста оценил этот комментарий

нужно либо указать путь к дллке либо закинуть ее в одну папку со скриптом. Библиотека без этой дллки не работает

раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо большое что потратили на меня время. Все ЗАРАБОТАЛО!!!

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку