Хочу сделать некое подобие клавиатуры из Arduino UNO. Сначала был вариант передавать сигналы через Serial соединение, но в таком случае для компьютера нужно писать отдельное приложение, считывающее информацию из COM-порта и эмулирующее нажатие клавиш. Это не универсально, потому задался вопросом, можно ли из Arduino UNO сделать USB HID устройство, которое автоматически определится системой как клавиатура (или мышь). Кто сталкивался с подобным, пожалуйста, поделитесь опытом.
Имея только одну Arduino Uno, вам понадобится в части USB имитировать HID устройство, в т.ч. передавать соответствующие VendorID/DeviceID какого-то существующего устройства и т.п. За взаимодействие с USB отвечает входной контроллер, обычно это ATmega8U2 или ATmega16u2 или вообще FT232RL. Вот этот контроллер и придется перешивать, чтобы вместо эмуляции последовательного порта он представлял собой HID устройство. Но это уже не будет Arduino... Придется поискать еще один микроконтроллер с USB на борту и его как-то задествовать совместно с ардуиной. Если вот этот девайс может работать не только в режиме USB-хоста, тогда все может оказаться намного проще.
Да, это я некорректно выразился. Атмегу еще можно перешить под свои нужды, а вот FT232 уже нет, это просто USB-RS232 мост, она довольно ограниченно настраивается. Вообще перешивка моста это какой то совсем ненормальный способ использования ардуины.
Вообще то можно повесить трансивер 3.3-5V на ноги ардуиновской атмеги (основной), и реализовать USB HID самому, но это кажется не самый простой вариант с программной точки зрения - придется ознакомиться со всеми тонкостями работы USB от и до.
вот и я про то,что конвертер ttl (ft232) не шьется(вводите в заблуждение!!!).Да и про какие настройки вы говорите???
Прошить то фьюзы можно и обычным низковольтным ISP, а вот сбросить потом некоторые особо коварные неверно прошитые только уже им самым.
Uno стоит 300 рублей, а готовый mjoy16 — уже 1500-2500, так что вопрос далеко не праздный. Никто не создавал таких прошивок, чтобы Arduino превращался в подобие mjoy, то есть определялся как джойстик? Это ведь надо перешивать и 16U2, и делать специальную прошивку A328, так как в mjoy и mjoy16 используются другие МК и вообще другая схема.