Мультимедиа контроллер и USB-HID за сотку! EasyHID ч.2
HTML-код
- Опубликовано: 27 сен 2023
- Стань Тестировщиком на Python в Skillfactory: go.skillfactory.ru/ardunotes + скидка 45% по промокоду АРДУИНЩИК до 15.10.2023
► Исходники проекта: disk.yandex.ru/d/iH05LDUyGG-xjg
► Гайд по платке Tiny88: alexgyver.ru/lessons/tiny88/
► Библиотека EasyHID: github.com/GyverLibs/EasyHID
► Библиотека EncButton: github.com/GyverLibs/EncButton
► Библиотека NecDecoder: github.com/GyverLibs/NecDecoder
► Поддержать автора: yoomoney.ru/to/410019154264963
► По всем вопросам (кроме наборов!): nich1con36@mail.ru
► Огромный стартовый набор GyverKIT: kit.alexgyver.ru/
★ Инструменты, приборы и материалы для пайки ★
- Удобные мультиметры: ali.ski/2nn13 ali.ski/fTDAW9
- Тестеры компонентов: ali.ski/ZFLC7Y ali.ski/Mb_7W
- Карманные осциллографы: ali.ski/JdkQw
- Паяльная станция HakkoT12: ali.ski/pEUz9I
- Паяльный фен 8858: ali.ski/3cSLjp ali.ski/OtB10-
- Коврик для пайки: ali.ski/gF7bWW
- Стриппер для проводов: ali.ski/RiVwcj ali.ski/Thu_i
- Оловоотсос: ali.ski/1MLjH ali.ski/1K-IS
- Куча дешевого припоя: ali.ski/ZGkkx ali.ski/S3h5V
- Шпильки для выпайки: ali.ski/WSv7wx
- Хороший флюс-гель: ali.ski/uFflw
► Уроки Arduino на сайте: alexgyver.ru/lessons/
► Модули и датчики с Али: alexgyver.ru/arduino_shop/
► Страница "Заметок Ардуинщика": alexgyver.ru/arduino_lessons/
Содержится реклама: ООО “Скилфэктори” [ Kra23pqSX ]
Теги: #arduino #уроки #ардуино #alexgyver
●●●●●●●●●●●●●●●●●●●●
► Основной канал: / alexgyvershow
► Поддержать автора alexgyver.ru/support_alex/
► Официальный сайт: alexgyver.ru/
► Почта: alex@alexgyver.ru - Наука
там в стандарте прям отдельный список требований к bootable клавиатуре (usb hid pdf, стр 74). Дело в том что клавиатуру должен определять не только windows, но и bios. Там он должен отвечать нормально на часть запросов и конфиг клавиатуры должен быть не мудреным, а стандартным. А еще есть отдельный флажок bootable в дескрипторе. Попробую поиграться со своей usb библиотекой на stm32, по крайней мере stm32 hal с биосом конфликтовать не должен. но вот как эти меги научить работать с биосом, я хз.
Хотелось бы видеть возможность кастомной инициализации HID, создание виртуальных осей и кнопок
Что бы облагородить корпус можно кисточкой обработать его дихлорэтаном, без фанатизма. Сгладит слои печати, можно получить как глянцевую(кистью) так и матовую поверхность(ватным диском). Вначале попробуйте на внутренней поверхности, вдруг не понравится результат, для пластика разных производителей результат может отличаться. Я пользуюсь бюджетным пластиком от НИТ результаты меня устраивают. Спасибо за видео.
Шёл 2023 год. Мы программировали мышки на Ардуино
Спасибо большое за твой труд!
Как же я благодарен тебе за библиотеку EasyHID, она очень помогла автоматизировать нудный рабочий процесс.
Ну с биосом там дело такое.. есть два стула: keyboard boot protocol и keyboard report protocol для работы по usb-hid достаточно второго, первый нужен чтобы реализовать работу с bios. Возможно если покопаться в hid specification и hid usage tables можно более менее разобраться в этом безобразии, но объем документации там конечно отпугивает😅Меня в своё время это отпугнуло, в конце концов всегда можно разбудить пк по wake on lan 😁 И кстати прокручивать можно же и старыми-добрыми page up/page down.
у меня завалялся металический корпус от гитарной примочки, давно хотел сделать для него юсб педаль для игры WordOfWarcraft на сбитие магического каста в pvp да и не только, всегда не хватало кнопок мыши-клавы, а педалью будет очень удобно, теперь проще пареной репы! Спасибо!
Спасибо за видео. Хотелось бы увидеть ввывод информации об включенном на данный момент треке.
Мне нравится ваша работа и что вы делаете. Пожалуйста, переснимите видео про processing и про то, как с ним работать в visual studio code. Пожалуйста 😢
Насчет выхода из сна. Еще в первой части я спрашивал про определение (работу) вашей клавиатуры в биосе. Называется этот режим что-то вроде Boot Keyboard. Было бы здорово увидеть его реализацию в следующей версии вашей библиотеки.
Спасибо за информацию, то есть клавиатура должна поддерживать этот функционал, как я понял.
@@ArduNotes верно
Спасибо за информацию и ждём продолжения
Спасибо, очень вовремя напомнили. Планирую сделать usb педаль для переключения раскладки.
Сразу собирай комп в корпусе пианино - будет три педали. Клавиатура неудобная, правда...
@@doctorbsd😂
Я на твоей библиотеке сделал нано с двумя резисторами по 100 Ом + 2.2 Ком с вкл/выкл от самой ардуинки. + Сделал контролируемость действий по Serial командам. Тобишь у меня две USB ( USB Serial ( родной вход к НАНО ) + USB клиент ). Без стабилитронов, родной 5V. HID изначально ставлю в end чтобы USB порты не роняли детект между друг с другом. USB Клиент не использует питание и заземление (общее).
Здравствуйте! Ваши работы безумно вдохновляют нашу семью! Подскажите, пожалуйста, какой паяльник Вы бы посоветовали приобрести?
Спасибо . Полезно было бы сделать дополнительное устройство управления для фьюжин 360. Дядя Паша применяет специальное устройство для этого.
Удвою этого господина
Присоединяюсь, это был бы мега-полезный проект
Давно Гайверу писал чтоб такое запилил). Ну теперь нужно такое же, но по блютузу. А еще есть платы на Али с круглым дисплеем, с тачСкрином, с блютуз и вай фай на борту - вот прикольно было бы управление мультимедиа сделать на такой с графическим интерфейсом))). На Али оно около 1000 руб стоит. А я пока пользуюсь мини клавой с энкодером от китайцев. Работает по блютуз и по проводу - оч удобная вешь, хотя собрана колхозно. На работе у меня громкая блютуз колонка в одной стороне, телефон на заряке в другой стороне, а этот пульт управления всегда рядом и если кто-то приходит я оч быстро могу убавить громкость, перемотать или остановить музыку).
Крутейший выпуск. Спасибо за Ваш труд и отличную либу!
С сном там есть свой прикол вида аппаратного прерывания материнки, т.е. надо эмулировать отправку данных именно в usb порт, а не через биос(во время сна он не даёт vhid работать)
По поводу сна. Через панель управления в устройства и принтеры, в свойствах конкретного устройства должно быть указано, что может выводить из сна.
Спасибо за информацию!
Несколько лет работает ардуинка в машине к магнитоле андроид , физическая крутилка громкости и ик порт для пульта на руле , но на меге с аппаратным юсб ... никаких проблем , очень удобно !
Офигенный проект. Давно хотел себе пульт для компа.
7:44 всегда интересовал вопрос: нафига на всех новых ИК приёмниках крест из металла корпуса спереди?
классный выпуск. очень практичный.
Модуль минимального значения intX_t (тип из stdint.h) всегда на единицу больше максимального значения, иначе для 0 место не нашлось бы.
Ух, первый diy проект от Егора!
На mega8 и v-usb делал дополнительные кнопки для макросов на клавиатуре ещё в 16 или 17 году. Всё во благо лени=). С переходом на 1с 8.3 стала не актуально, но клавиатура сохранилась на память. За исход брал статью Маленькая USB пакость
Спасибо за работу, буду нетбук старый с телевизором интегрировать.
Ничикон молодец, как всегда топ.
Маленький, но полезный проект. Хотелось бы узнать, возможно ли андуинкой расшифровывать сигналы из usb? Например сделать проводную клавиатуру беспроводной, esp32 расшифровывает сигналы и по блютузу отправляет на комп, и где-то в клавиатуре аккумулятор с платой зарядки .
Приветствую друзья, Как старую метеостанции Vitek 6404 подключить к Ардуино? и чтоб всё показывало? Дисплей, кнопки. просто база перестала видеть внешний датчик.
Видео интересное! Спасибо! Есть идея геймпад сделать. Умеет ли данная либа выдавать устройство за xbox 360/one controller?
6:28 в диспетчере устройств в настройках HID устройства на вкладке "Управление электропитанием" есть галочка " Разрешить выводить этому устройству компьютер из ждущего режима". Может она и не дает выводить из сна комп?
Даёшь пульт на esp8266 с управлением с телефона по wi-fi
Круто! Оч интересно было посмотреть!
спасибо за видео!
А можно использовать платы типа Wemos D1 Mini?
Вещь шикарная. Но если б туда прикрутить блютус ( почти во всех ноутах есть, да и в стационарник копеечный), то было б куда удобнее пользоваться при просмотре кинох с дивана)
BT HID - это немного другое. Но реализовать с нужным модулем не сильно труднее. Есть тема USB HID over Bluetooth на 4пда с кучкой примеров как такое собрать.
Отличный проект ❤
Добрый вечер, можно ли на даннлй платформе реализовать снятие показаний со счетчика, который имеет 485 выход?
Круто. А как сделать приемник HID устройств? Вроде даже у ESP32 это под большим вопросом.
это компьютер!
Прикрутить аппаратный USB-хост
очень бы хотелось подключить безпроводную клавиатуру(с утеряным или неисправным свистком) к компу,допустим через блютуз или юсб на крайняк.Лежат,я думаю,у многих такие клавы без дела,да и мышки тоже.
99% там nRf24 модуль поможет.
Подскажите как использовать данную библиотеку с матричной клавиатурой?
По поводу вывода из сна. Возможно в настройках устройства в винде стоит запрет на вывод этим устройством из сна. В диспетчере устройств, свойства нужного оборудования и там вкладка управление электропитанием.
Так с клавиатуры работает
@@__Goodwin__ так клавиатура это другое устройство и в нем стоит разрешение на пробуждение от сна
@@user-dn4el6qr4j тут более интересный вопрос как оно вообще определяется в диспетчере устройств? Драйвер же фактически отсутствует. Скорее всего как неизвестное оборудование и управление подобными настройками вообще будет не доступно. Мне кажется без написания драйвера для винды или маскировки под известное устройство ничего не выйдет
@@__Goodwin__ оно должно высвечиваться как HID устройство и используется универсальный драйвер как для любой китайской нонейм клавиатуры или мыши.
Пользуюсь slicontrol под Com порт и ик ду. Глянь там библиотеку
на кассетной деке маяк есть выход под пульт можно как-то реализовать этот пульт в виде плеера на пк выход с деки в линейный вход и слушать музыку и управлять им ?
У "Маяка" на сколько я знаю, пульт проводной был, который в этот разъем подключался. И, следовательно, работал он по принципу замыкания контактов разъема между собой. Если есть принципиальная схема аппарата 100% можно на ардуино сделать ИК-приемник, который можно туда подключить, чтобы по командам с пульта он замыкал эти контакты.
В плане пластика для 3D печати на мой взгляд самый универсальный PETG.
Спасибо большое за видео
Чтобы корпус был визуально красивее, его обязательно шлифовать надо. В сущности. наверное, всё шлифуют, где вид важен. Либо наждачкой, либо химически очень аккуратно, дихлором
Спасибо, но ПЛА плохо обрабатывается. Вот ХИПС тот же - да.
ABS Ацетоновой баней отлично обрабатывается @@ArduNotes
Не знал о существовании такой крутой либы , поэтому колхозил через прогу USB COM Manager , при нажатии той или иной кнопки на пульте она запускала бат файл , а тот в свою очередь открывал программы или же сайты в браузере )
...когда-то давно на серьезном компутерном сайте пытался узнать, почему нельзя с usb клавиатуры разбудить пк, а с pc/2 - можно... Получил несколько ничего не значащего спама, а ты, типа кнопку выведи от дверного звонка. И вот, мимоходом, сразу, как минимум двое, походя, на видеохостинге подсказывают где копать, и почему так происходит... Чудны дела твои, компутерный бох... Спасибо.
Хотел повторить проект, заказал платку , установил ядро как в инструкции, скетч компилируется но когда нажимаю загрузить выходит ошибка загрузки. В чём может быть причина?
Алекс, можно поподробней, как управлять с помощью данного устройства проигрывателем AIMP? По USB на планшете с виндой . Спасибо...
Красава! На высоте !!! )))
Вот бы сделали материал про модуляторы, демодуляторы сигналов с частотной манипуляцией. 🙏 К примеру есть приёмник "селектор частот демодулирующий" И несколько передатчиков которые в двух проводную линию передают данные, каждый на своей несущей частоте. Очень интересно как это реализовать на дуньке😅
Привет великим ардуинщикам,есть вопросик не совсем по теме видео.Недавно вышла новая версия encButton библиотеки,которая не совместима с предыдущими версиями,был скетч с большой кечуй вычислений с плавающей точкой и замкнутыми циклами, в таком случаи я просто кидал тик в прерывания по таймеру и все отлично работало с этой же либой так не получается точнее не совсем получается,в случаи с енкодером я просто использую функцию tickISR() а вот с кнопками такая штука не катит,есть способ как это решить? Заранее большое спасибо.
Почему не катит? По идее так же на прерывания или PCINT тикер кнопки повесить.
@@ArduNotes В том то и суть,если просто кинуть tick в прерывания по таймеру то ничего не меняется от слова совсем,у енкодера есть функция tickISR которою я кидаю в прерывания по таймеру и в сетапе устанавливаю setEncISR в true и все работает а в кнопке тупо такой функции нет, есть только функция pressISR которая сообщает факт нажатия и само собой в прерывании по таймеру она ничего не дает,я занимаюсь этим всем делом не давно так что могу что-то не понимать, но как я понял что как таковой реализации обработки по прерыванию именно таймера по крайней мере для кнопки нет,а штука довольно полезная ибо не все используют все три (а точнее два свободных) таймера в той же 328 ,че добру пропадать)
А есть ли возможность подключить несколько потенциометров и управлять ими как микшером громкости определенных приложений ?
А можно ли реализовать управление мышкой при помощи гироскопа?
Конечно, было бы желание
Канал просто лутшый можете сделать гайды по кодингу микроконтролеров симейства ESP
Надо попробовать. Интересно как в системе обрабатывается нажатие клавы: через WinAPI с флагом LLKHF_INJECTED или как реальная физ.клава?
Это хардварная юсб клава, все идет через стандартные дрова от винды, конечно без флага. Интересно, почему интересуетесь?
Здравствуйте, я в этом новичок, у меня вопрос, сделал почти такую без ИК, но прошивка слетает после перезагрузки
На современных клавах нет кнопки СОН, а мне ее использование очень удобно. (вечером - СОН, утром ENTER)
Несколько мес. назад я читал что для такой альтернативы подходит только какая-то одна Ардуин`ка, у меня ее нет, и покупать ради этой прихоти как-то не хотелось.
А сейчас узнаю что можно использовать другие Ардуин`ки, и это уже интересно. Прикол* 6:30 можно как-то обойти?
Уважаемый автор, могу я к вам обратиться с просьбой помочь наладить из про микро игровой геймпад на 16 кнопок+2 аналога ? для меня это крайне сложно. Хотя бы просто скажите, эта задача вообще возможна ? или пинов не хватит, если не хватит то как выйти из положения ?
Знает кто как из микроконтроллера сделать приёмник для геймпада xbox series? Либо же эмулятор, что бы комп думал что к нему подключен геймпад и контроллер выполнял какие то запрограмированные действия?
Теперь еще гироскоп с акселерометром прикрутить и можно будет писать код вращая эту штуку на известной оси)
был не рабочий usb джойстик. вместо крестовины поставил энкодер, на кнопки сделал горячие клавиши. удобно.
А можно ьаким макаром сделать клавиатуру с парой десятков кнопок чтоб их в софте назначить и крутилку для управления осями там же. Для 3д моделирования будет годно. Это некий аналог спейс маус, только под себя.
Я человек простой.. (и старый видимо по комменту ) ставлю сорок лайк за труд и ум.
Офигенная штука, вот бы ещё беспроводную версию, было бы идеально просто - можно тогда сделать кастомный пульт, который можно установить где угодно и при этом не будет мерзких проводов 😊
Было бы интересно, через 2.4 или bt подключить
@Artemon-yl5ze через тот же WiFi. Роутеры, думается, есть у всех - на компе поднимаем "сервер", IP статический, и взаимодействуем.
433@@Artemon-yl5ze
Attiny88 шьётся, но пишет USB устройство не опознано, что может быть? Провод вроде хороший, во всяком случае с капризными устройствами работал.
Очень хотелось бы увидеть реализацию подключения тачпада от современного (или относительно современного) ноутбука к компьютеру. Да так, что бы все жесты нативно поддерживались в Windows, как на ноутбуках. Эти тач-пады используют интерфейс i2c, но как его правильно адаптировать в USB и представить компьютеру - мне не ясно.
те что можно наклеить на экран стоят как новая матрица или бу ноут, смысл?
@@dltech Что, какой наклеивающийся тачпад, тачпад это технология synaptic которая предоставляется пользователю сенсорную панель, она есть почти на всех ноутах, хотя я встречаю щас чаще трекпады от elan
от старых ноутов тачпады ps/2, легко распаивается проводом напрямую в ps/2 разъем на материнке, если он есть конечно))
@@Raider160009 Он про новые ноуты, с i2c
@@Raider160009некоторые USB были
Хз кто как, а я затарился lgt8f328p, на нем будет работать?
Тоже крутилку хочу собрать, только с подсветкой текущей громкости. Нашел круговую адресную ленту и кноб в размер красивый. Вот если бы еще рассказали как с компа отдать инфу о громкости. Т.е. нужна одновременная работа и HID и какой-то передачи данных от сервера с компа.
Скорее всего нет. Часть VUSB написана на асм, а у лгбт за счет оптимизации ядра некоторые инструкции выполняются тупо меньше тактов, чем ожидается. Из-за высокой скорости (сравнительно) юсб, сама реализация опирается на эти тайминги, и даже если установить 16 мгц на лгбт, нет гарантии, что будет работать испрано, но попробовать стоит.
После сна не пробуждается? Копай в сторону электропитания в панели управления. Отключаются юсб скорей всего
Спасибо за либу, спасибо за труд!
Чет я не совсем понял в начале видео вроде показали, что нужна обвязка из радиодеталей для подключения к USB, а в итоговом проекте напрямую подключают к USB.
В нескольких местах сказано - "эта платка удачная, потому что обвязка на ней уже есть". Для голого МК и нанки понадобится 2 стабилитрона на 3.6в и 2 резика на 68Ом + резик пуллап 1.5ком.
Спасибо! Видимо слушал невнимательно. @@ArduNotes
Выложи исходники на другой файлообменник, пожалуйста.
крутяк!
добавить блютус и вывод трека на экранчик например из спотифая)
Библиотеку можно будет подгрузить только ZIP файлом через программу, выбираем Скетч затем Подключить библиотеку и затем zip архив
Вот вопрос как это прописать не через прогу
Как подключить возможность линейного контроля уровня звука?
Осталось только приделать аккумулятор и блютуз модуль😊
Бес провода бы ещё, акк + нрф модули
Могу предположить что компьютер не ставит галочку в устройстве которое даёт вывод пк из режима сна, Аппаратно и программно не решить, нужно самим всё делать и искать (Я так думаю)
А можно ли самостоятельно сделать аналог SpaceMouse?
в ютубах уже есть такие проекты и довольно неплохие
Зачем эти заморочки с тинькой, если синяя таблетка по деньгам тоже самое, но USB HID без всяких танцев с бубнами работает?
Напиши ссылку на нормальную синюю таблетку, эта чехарда с STM-платами отбивает всё желание ковыряться в них.
На алике блю пилы один поддельный хлам...говорят что можно купить нормальные stm32f4 на черных платках, но это не точно.
@@user-ux2wi9ze3n, можно подумать до кризиса микроконтроллеров все исключительно оригинал на алике покупали. Смотрите отзывы, граждане.
а что если запилить нечто похожее на flipper zero? ну такое сильно урезаное но что бы можно было копировать и эмулировать ИК пульты, наборы команд с этих пультов и хранить все это дело в памяти или на СД карте. может даже возможность копировать ключи от домофонов
во-первых флиппер дорогой
во-вторых там уже есть копирование ик пультов, насколько знаю
@@danielfox957 да в курсе что он дорогой. И в курсе что в нем есть эти функции. Поэтому и предлагаю запилить свой, более дешёвый и простой аналог
Можно на этой бибе руль с обвесом для симуляторов сделать?
А поддержку USB HID геймпада ты так и не запилил?))
почему я не могу по ссылкам на али проходить?
посмотри в биосе, там настраивается разрешение включения пк по клаве или мыше, не помню как пункт называется (у разных производителей по разному). Но там интуитивно понятно. У меня заработало.
Если ты глянул видео, то должен понимать, что у ничикона всё настроено на компе, ибо обычной клавой он комп разбудил. Он спрашивает, что в либе нужно прописать, чтобы девайс умел с компом общаться, пока тот спит.
А что, V-USB на версиях Windows старше семёрки теперь работают?
В последний раз когда проверял, тайминги запуска опроса устройства на Windows 8+ сократили и микроконтроллер тупо не успевал запустится к моменту запросу дескриптора, что приводило к сообщению "Последнее подключенное USB устройство работает неверно".
Вот это прям реально круто!
Покупал attiny 88 за 80руб. Спасибо за идею!!!
А на всяких RP2040 нельзя делать крутые USB клавиатуры и прочие пакости? они вроде не космических денег стоят.
Было бы прикольно к регулятору прикрутить модуль сегментных индикаторов с процентами громкости в системе. Это возможно?
принцип действия тогда другой надо, общение через стандартный сериал порт (как ардуино отладчик) и запускать программу на ПК которая читает порт и эмулирует нажатие клавиш, а заодно и отправляет текущий уровень громкости. это позволит и другие фишки реализовать. плюс можно реализовтаь на любой обычной ардуине, но девайс не будет отпределяться как обычная клавиатура.
Ждём мультимедиа контроллер на stm32
Помню прикручивал keyboard.release к библиотеке клавиатуры которая умела только кликать. Чтобы упростить жизнь с запоминанием зажатых клавиш реализовал кольцевой буфер который сам отпускал последнюю клавишу. И та библиотека вроде умела в 8 клавиш
void KeyD(byte keyStroke){
for (int i = 1; i < BUFFER_SIZE; ++i){
if (reportBuffer[i] == 0){
KeyDown(keyStroke, i);
return;
}
}
}//Нажимет символ и помещает информацию о нажатии в первый свободный(!!!) слот
У нас буфер не кольцевой (FIFO), а по типу стека реализован.
👍👍👍
Интересно получится ли собрать этот проект на stm32f030, используя ядро стм в среде ардуино?
Нет, смотрите в сторону F401, G431 и прочих младших с USB
А USB-UARTом она может прикинутся ?
тоже интересует этот вопрос
Зашкурь и покрась из баллончика, будет как заводская.