Arduino Uno R3 HID с модулем HC-06 BT

Я пытаюсь сделать макро-блокнот с помощью Arduino Uno r3 и матрицы 4x4 (вишнево-синий клон) . Я знаю , что использование pro micro лучше, чем uno, потому что в uno нет HID-совместимости, но поскольку он у меня уже есть, я хочу работать с ним . Я уже тестировал макро-панель после компиляции и прошивки шестнадцатеричного файла keyboard.hex . Но интересно, если я куплю bt-модуль типа HC-06 (который здесь стоит около 3,2 доллара), сможет ли он посылать входы даже после мигания афтара ? У меня есть как бы базовые знания кодирования, так что я понятия не имею, что на самом деле мигание сделает с модулем таким образом . Кто-нибудь знает, возможно ли сделать эту макро-панель BT совместимой или нет ?

, 👍1


1 ответ


1

Мне непонятно, где вы что мелькнули, поэтому опишу некоторые азы.

Uno не может действовать как устройство клавиатуры/HID, так как микроконтроллер на нем (Atmega328p) не имеет встроенных возможностей USB. Для подключения к USB Uno имеет чип USB-to-Serial на нем (на самом деле другой микроконтроллер, Atmega32u4, я думаю). Так с Uno вас есть только последовательное соединение, если вы взломать Atmega32u4 и запрограммировать его с вашей собственной прошивки (прошивка это термин для программного обеспечения, которое работает очень близко к оборудованию, в данном случае непосредственно на микроконтроллер, в отличие от обычного программного обеспечения, работающего в операционной системе на компьютере; так что в середине между аппаратными и программными средствами, поэтому фирмаВэр).

Мигание - это то же самое, что программирование микроконтроллера. Она имеет такое название, потому что программа сохраняется во флэш-памяти на микроконтроллере (это особый тип технологии памяти; та же технология, что и флешки для хранения ваших данных). Прошивка HC-06 означает программирование его с помощью другой прошивки.

Все устройства Bluetooth используют одну и ту же базовую технологию (считается, что BLE-это другая технология). Роль устройства зависит от характеристики/профиля, которую оно предоставляет хозяину. Существуют профили для HID, Serial, Audio, ... .

HC-06-это подчиненное устройство bluetooth, которое действует как bluetooth-последовательный мост (как Atmega32u4 действует как USB-последовательный мост). Но это ограничение программного обеспечения. HC-06 имеет стандартное оборудование Bluetooth, но прошивка на нем просто дает вам последовательный профиль (на самом деле HC-06 в основном такой же, как и мастер-устройство HC-05, просто другая прошивка и соответствующие платы прорыва могут вырвать другие контакты). Таким образом, перепрошивая (программируя) его с помощью другой прошивки, вы можете получить разные профили. Если вы найдете прошивку, которая дает вам скрытую функциональность, вы можете прошить ее на HC-06 и использовать. Хотя это немного банально, я думаю (сам этого не делал), так что это может быть немного чересчур для новичка.

Bluetooth Slave/Master: Протокол Bluetooth использует фиксированные роли для двух подключенных устройств. Один-хозяин, а другой-раб. Мастер контролирует, действительно ли происходит общение. Например, bluetooth-гарнитура является подчиненным устройством. Вы не можете подключить Bluetooth-гарнитуру к клавиатуре Bluetooth, потому что оба устройства являются подчиненными. Вам всегда нужен один хозяин и один раб. HC-05-это в основном тот же модуль, что и HC-06, но его прошивка позволяет ему быть ведущим или ведомым (настраивается вами). Поэтому некоторые устройства поддерживают оба режима, но все же в любом конкретном соединении они могут иметь только один из режимов (нужно либо управлять, либо подчинять в любое время).

Кто-нибудь знает, возможно ли сделать эту макро-площадку совместимой или нет ?

Возможно, да. Но я предлагаю вам инвестировать в покупку готового к использованию контроллера Bluetooth HID (сразу же нашел этот от adafruit, хотя вы могли бы купить более дешевые версии). Это будет гораздо проще, чем сразу прыгнуть в мигание HC-06. Хотя это все еще возможный путь.

Другой способ-просто использовать последовательную функциональность и написать небольшую программу для вашего ПК, которая считывает данные с последовательного интерфейса и выдает нажатия клавиш в соответствии с последовательными данными. Тогда вам не нужно будет перепрошивать HC-06.

,

Спасибо тебе, Крисл, за ценный ответ . Я понимаю, о чем вы говорили ... отчасти . Дело в том, что я из страны третьего мира, и там нет никаких продуктов от adafruit . На самом деле tinypico был действительно хорошим выбором для моего проекта, но если бы я хотел получить его с AliExpress, мне пришлось бы заплатить 20 долларов+ только за доставку, так что стоимость слишком высока ., @Ikari Shinji

Вы можете искать другой продукт, кроме продукта от Adafruit. Это было только первое, что пришло в голову, когда я быстро искал его. Если для вас нет лучших/более дешевых модулей, вам нужно пойти на компромисс. Либо пройдя крутой путь обучения, чтобы научиться перепрошивке HC-06, либо написав программу для вашего ПК, которая обрабатывает последовательный ввод., @chrisl

"Я понимаю, что вы говорили ... несколько" - Можете ли вы точно определить, что вы не совсем понимаете? Тогда я смогу попытаться улучшить свой ответ в этом направлении., @chrisl

Я не понял отношения "ведущий-подчиненный" в модуле BT . Это потому, что я не проводил никаких исследований по этому вопросу . Поэтому вместо того ,чтобы беспокоить вас , я просто хотел немного изучить этот вопрос :) еще раз большое вам спасибо за ваши ответы, теперь я знаю, что мне нужно изучить, @Ikari Shinji

Я добавил короткий абзац об этом к ответу. На данный момент я оставляю вам все остальное для исследования :D Если вы считаете, что мой ответ правильный, то вы можете принять его. Это означает, что на вопрос дан правильный ответ., @chrisl