Открыл стандартный пример "Файл - образцы - USB - Keyboard - KeyboardMessage". При компиляции ошибка "Поддержка клавиатуры только в Arduino Leonardo", хотя у меня есть прошивка для меги8, чтобы мега8 работала на вывод данных как "клавиатура", и я знаю как её туда вшить. Вопрос таков: Как обмануть Arduino IDE и заставить думать, что я подключил к ней leonardo а не uno?
Залил прошивку в мегу8, в диспетчере устройств теперь ардуина определяется как "Клавиатура HID"(в принципе так и надо, имхо). В Arduino IDE выбрал инструменты - плата - ардуино леонардо. При заливке прошивки пишет "Не вижу" (да, да, именно "не вижу"!) "плату на порте COM3". Откатил мегу8 назад побыстрее. Как всё-таки обмануть IDE?
Ищи другую прошивку меги8 (чтоб было 2 устройства) или редактируй arduino-1.6.5-r2\hardware\arduino\avr\boards.txt нужно поиграться, чтоб угадать нужные параметры: uno.build.board=AVR_UNO меняем на AVR_LEONARDO leonardo.build.variant=standard -> leonardo и т.д. ЗЫ. Если даже подберешь правильные параметры в boards.txt, то будешь мегу8 прошивать в hid - com каждый раз когда заливаешь скетч... ЗЫ.ЗЫ. Как вариант шить hex файлы программатором сразу в atmega328
А зачем нужны эти строки в boards.txt?: Код (Text): uno.vid.0=0x2341 uno.pid.0=0x0043 uno.vid.1=0x2341 uno.pid.1=0x0001 uno.vid.2=0x2A03 uno.pid.2=0x0043
По этим цифрам компьютер идентифицирует оборудование Примерно так: vid.0=0x2341 это самсунг uno.pid.0=0x0043 это принтер uno.vid.1=0x2341 модель В общем по этим данным комп ищет дрова, на устройство. Поставь от другого оборудования и будет устройство определяться как, то откуда ты это скопировал... ЗЫ. Эти данные по идее в megu8 шьются, а тут, возможно они нужны только для того чтоб ты в принтер случаем скетч не зашил
В общем, всё готово. Проверьте, пожалуйста: Код (Text): ual.name=Arduino Uno as Arduino Leonardo ual.vid.0=0x2341 ual.pid.0=0x0043 ual.vid.1=0x2341 ual.pid.1=0x0001 ual.vid.2=0x2A03 ual.pid.2=0x0043 ual.upload.tool=avrdude ual.upload.protocol=arduino ual.upload.maximum_size=32256 ual.upload.maximum_data_size=2048 ual.upload.speed=115200 ual.bootloader.tool=avrdude ual.bootloader.low_fuses=0xFF ual.bootloader.high_fuses=0xDE ual.bootloader.extended_fuses=0x05 ual.bootloader.unlock_bits=0x3F ual.bootloader.lock_bits=0x0F ual.bootloader.file=optiboot/optiboot_atmega328.hex ual.build.mcu=atmega328p ual.build.f_cpu=16000000L ual.build.board=AVR_LEONARDO ual.build.core=arduino ual.build.variant=standard ual - значит "uno as leonardo"