Arduino UNO как HID USB

Тема в разделе "Arduino & Shields", создана пользователем TheUrandon, 24 май 2012.

  1. TheUrandon

    TheUrandon Нуб

    Хочу сделать некое подобие клавиатуры из Arduino UNO. Сначала был вариант передавать сигналы через Serial соединение, но в таком случае для компьютера нужно писать отдельное приложение, считывающее информацию из COM-порта и эмулирующее нажатие клавиш. Это не универсально, потому задался вопросом, можно ли из Arduino UNO сделать USB HID устройство, которое автоматически определится системой как клавиатура (или мышь). Кто сталкивался с подобным, пожалуйста, поделитесь опытом.
     
  2. Unixon

    Unixon Оракул Модератор

    Имея только одну Arduino Uno, вам понадобится в части USB имитировать HID устройство, в т.ч. передавать соответствующие VendorID/DeviceID какого-то существующего устройства и т.п. За взаимодействие с USB отвечает входной контроллер, обычно это ATmega8U2 или ATmega16u2 или вообще FT232RL. Вот этот контроллер и придется перешивать, чтобы вместо эмуляции последовательного порта он представлял собой HID устройство. Но это уже не будет Arduino...

    Придется поискать еще один микроконтроллер с USB на борту и его как-то задествовать совместно с ардуиной. Если вот этот девайс может работать не только в режиме USB-хоста, тогда все может оказаться намного проще. :)
     
  3. ATmega8U2 или ATmega16u2-понятно,а
    HID устройство с FT232RL это как с него вы собираетесь сделать?
     
  4. Unixon

    Unixon Оракул Модератор

    Да, это я некорректно выразился. Атмегу еще можно перешить под свои нужды, а вот FT232 уже нет, это просто USB-RS232 мост, она довольно ограниченно настраивается.

    Вообще перешивка моста это какой то совсем ненормальный способ использования ардуины.
     
  5. Unixon

    Unixon Оракул Модератор

    Вообще то можно повесить трансивер 3.3-5V на ноги ардуиновской атмеги (основной), и реализовать USB HID самому, но это кажется не самый простой вариант с программной точки зрения - придется ознакомиться со всеми тонкостями работы USB от и до.
     
  6. TheUrandon

    TheUrandon Нуб

    По поводу перепрошивки ATmega16u2, имея под руками только Adruino, обратим ли этот процесс?
     
  7. Unixon

    Unixon Оракул Модератор

    В принципе да, если не перешьете фьюзы. У вас ISP программатор есть?
    Прошивку написать сможете?
     
  8. TheUrandon

    TheUrandon Нуб

    Программатора нет, прошивку тоже вряд ли смогу написать, т.к. не сталкивался с перепрошивкой раньше.
     
  9. Unixon

    Unixon Оракул Модератор

  10. вот и я про то,что конвертер ttl (ft232) не шьется(вводите в заблуждение!!!).Да и про какие настройки вы говорите???
     
  11. перешить фьюзы можно только высоковольтным прогером,который стоит хорошо!:(
     
  12. про чипы 8 и 16 много готового в нете!!!гугл рулит))))))))
     
  13. Unixon

    Unixon Оракул Модератор

    Прошить то фьюзы можно и обычным низковольтным ISP, а вот сбросить потом некоторые особо коварные неверно прошитые только уже им самым.
     
  14. Unixon

    Unixon Оракул Модератор

    Раздел 8 "Internal EEPROM Configuration"
     
  15. первый раз прошить-да,а исправить уже нет!
     
  16. не понял...можно подробнее?про какой рездел идет речь?
     
  17. Unixon

    Unixon Оракул Модератор

    Отсюда
     
  18. Vivan755

    Vivan755 Нерд

    Uno стоит 300 рублей, а готовый mjoy16 — уже 1500-2500, так что вопрос далеко не праздный. Никто не создавал таких прошивок, чтобы Arduino превращался в подобие mjoy, то есть определялся как джойстик? Это ведь надо перешивать и 16U2, и делать специальную прошивку A328, так как в mjoy и mjoy16 используются другие МК и вообще другая схема.
     
  19. edlab

    edlab Нуб