Мультимедиа контроллер и USB-HID за сотку! EasyHID ч.2
ฝัง
- เผยแพร่เมื่อ 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 - วิทยาศาสตร์และเทคโนโลยี
Шёл 2023 год. Мы программировали мышки на Ардуино
там в стандарте прям отдельный список требований к bootable клавиатуре (usb hid pdf, стр 74). Дело в том что клавиатуру должен определять не только windows, но и bios. Там он должен отвечать нормально на часть запросов и конфиг клавиатуры должен быть не мудреным, а стандартным. А еще есть отдельный флажок bootable в дескрипторе. Попробую поиграться со своей usb библиотекой на stm32, по крайней мере stm32 hal с биосом конфликтовать не должен. но вот как эти меги научить работать с биосом, я хз.
Хотелось бы видеть возможность кастомной инициализации HID, создание виртуальных осей и кнопок
Спасибо большое за твой труд!
Что бы облагородить корпус можно кисточкой обработать его дихлорэтаном, без фанатизма. Сгладит слои печати, можно получить как глянцевую(кистью) так и матовую поверхность(ватным диском). Вначале попробуйте на внутренней поверхности, вдруг не понравится результат, для пластика разных производителей результат может отличаться. Я пользуюсь бюджетным пластиком от НИТ результаты меня устраивают. Спасибо за видео.
Спасибо за видео. Хотелось бы увидеть ввывод информации об включенном на данный момент треке.
Ну с биосом там дело такое.. есть два стула: keyboard boot protocol и keyboard report protocol для работы по usb-hid достаточно второго, первый нужен чтобы реализовать работу с bios. Возможно если покопаться в hid specification и hid usage tables можно более менее разобраться в этом безобразии, но объем документации там конечно отпугивает😅Меня в своё время это отпугнуло, в конце концов всегда можно разбудить пк по wake on lan 😁 И кстати прокручивать можно же и старыми-добрыми page up/page down.
Спасибо за информацию и ждём продолжения
Как же я благодарен тебе за библиотеку EasyHID, она очень помогла автоматизировать нудный рабочий процесс.
Спасибо, очень вовремя напомнили. Планирую сделать usb педаль для переключения раскладки.
Сразу собирай комп в корпусе пианино - будет три педали. Клавиатура неудобная, правда...
@@doctorbsd😂
Насчет выхода из сна. Еще в первой части я спрашивал про определение (работу) вашей клавиатуры в биосе. Называется этот режим что-то вроде Boot Keyboard. Было бы здорово увидеть его реализацию в следующей версии вашей библиотеки.
Спасибо за информацию, то есть клавиатура должна поддерживать этот функционал, как я понял.
@@ArduNotes верно
у меня завалялся металический корпус от гитарной примочки, давно хотел сделать для него юсб педаль для игры WordOfWarcraft на сбитие магического каста в pvp да и не только, всегда не хватало кнопок мыши-клавы, а педалью будет очень удобно, теперь проще пареной репы! Спасибо!
Крутейший выпуск. Спасибо за Ваш труд и отличную либу!
Мне нравится ваша работа и что вы делаете. Пожалуйста, переснимите видео про processing и про то, как с ним работать в visual studio code. Пожалуйста 😢
Спасибо . Полезно было бы сделать дополнительное устройство управления для фьюжин 360. Дядя Паша применяет специальное устройство для этого.
Удвою этого господина
Присоединяюсь, это был бы мега-полезный проект
классный выпуск. очень практичный.
А можно использовать платы типа Wemos D1 Mini?
По поводу сна. Через панель управления в устройства и принтеры, в свойствах конкретного устройства должно быть указано, что может выводить из сна.
Спасибо за информацию!
7:44 всегда интересовал вопрос: нафига на всех новых ИК приёмниках крест из металла корпуса спереди?
Офигенный проект. Давно хотел себе пульт для компа.
Я на твоей библиотеке сделал нано с двумя резисторами по 100 Ом + 2.2 Ком с вкл/выкл от самой ардуинки. + Сделал контролируемость действий по Serial командам. Тобишь у меня две USB ( USB Serial ( родной вход к НАНО ) + USB клиент ). Без стабилитронов, родной 5V. HID изначально ставлю в end чтобы USB порты не роняли детект между друг с другом. USB Клиент не использует питание и заземление (общее).
Ничикон молодец, как всегда топ.
Приветствую друзья, Как старую метеостанции Vitek 6404 подключить к Ардуино? и чтоб всё показывало? Дисплей, кнопки. просто база перестала видеть внешний датчик.
Модуль минимального значения intX_t (тип из stdint.h) всегда на единицу больше максимального значения, иначе для 0 место не нашлось бы.
Видео интересное! Спасибо! Есть идея геймпад сделать. Умеет ли данная либа выдавать устройство за xbox 360/one controller?
С сном там есть свой прикол вида аппаратного прерывания материнки, т.е. надо эмулировать отправку данных именно в usb порт, а не через биос(во время сна он не даёт vhid работать)
Ух, первый diy проект от Егора!
Круто! Оч интересно было посмотреть!
На mega8 и v-usb делал дополнительные кнопки для макросов на клавиатуре ещё в 16 или 17 году. Всё во благо лени=). С переходом на 1с 8.3 стала не актуально, но клавиатура сохранилась на память. За исход брал статью Маленькая USB пакость
Давно Гайверу писал чтоб такое запилил). Ну теперь нужно такое же, но по блютузу. А еще есть платы на Али с круглым дисплеем, с тачСкрином, с блютуз и вай фай на борту - вот прикольно было бы управление мультимедиа сделать на такой с графическим интерфейсом))). На Али оно около 1000 руб стоит. А я пока пользуюсь мини клавой с энкодером от китайцев. Работает по блютуз и по проводу - оч удобная вешь, хотя собрана колхозно. На работе у меня громкая блютуз колонка в одной стороне, телефон на заряке в другой стороне, а этот пульт управления всегда рядом и если кто-то приходит я оч быстро могу убавить громкость, перемотать или остановить музыку).
Отличный проект ❤
Даёшь пульт на esp8266 с управлением с телефона по wi-fi
Спасибо за работу, буду нетбук старый с телевизором интегрировать.
Несколько лет работает ардуинка в машине к магнитоле андроид , физическая крутилка громкости и ик порт для пульта на руле , но на меге с аппаратным юсб ... никаких проблем , очень удобно !
По поводу вывода из сна. Возможно в настройках устройства в винде стоит запрет на вывод этим устройством из сна. В диспетчере устройств, свойства нужного оборудования и там вкладка управление электропитанием.
Так с клавиатуры работает
@@__Goodwin__ так клавиатура это другое устройство и в нем стоит разрешение на пробуждение от сна
@@user-dn4el6qr4j тут более интересный вопрос как оно вообще определяется в диспетчере устройств? Драйвер же фактически отсутствует. Скорее всего как неизвестное оборудование и управление подобными настройками вообще будет не доступно. Мне кажется без написания драйвера для винды или маскировки под известное устройство ничего не выйдет
@@__Goodwin__ оно должно высвечиваться как HID устройство и используется универсальный драйвер как для любой китайской нонейм клавиатуры или мыши.
Алекс, можно поподробней, как управлять с помощью данного устройства проигрывателем AIMP? По USB на планшете с виндой . Спасибо...
Красава! На высоте !!! )))
Вещь шикарная. Но если б туда прикрутить блютус ( почти во всех ноутах есть, да и в стационарник копеечный), то было б куда удобнее пользоваться при просмотре кинох с дивана)
BT HID - это немного другое. Но реализовать с нужным модулем не сильно труднее. Есть тема USB HID over Bluetooth на 4пда с кучкой примеров как такое собрать.
Маленький, но полезный проект. Хотелось бы узнать, возможно ли андуинкой расшифровывать сигналы из usb? Например сделать проводную клавиатуру беспроводной, esp32 расшифровывает сигналы и по блютузу отправляет на комп, и где-то в клавиатуре аккумулятор с платой зарядки .
6:28 в диспетчере устройств в настройках HID устройства на вкладке "Управление электропитанием" есть галочка " Разрешить выводить этому устройству компьютер из ждущего режима". Может она и не дает выводить из сна комп?
Здравствуйте! Ваши работы безумно вдохновляют нашу семью! Подскажите, пожалуйста, какой паяльник Вы бы посоветовали приобрести?
очень бы хотелось подключить безпроводную клавиатуру(с утеряным или неисправным свистком) к компу,допустим через блютуз или юсб на крайняк.Лежат,я думаю,у многих такие клавы без дела,да и мышки тоже.
99% там nRf24 модуль поможет.
Привет великим ардуинщикам,есть вопросик не совсем по теме видео.Недавно вышла новая версия encButton библиотеки,которая не совместима с предыдущими версиями,был скетч с большой кечуй вычислений с плавающей точкой и замкнутыми циклами, в таком случаи я просто кидал тик в прерывания по таймеру и все отлично работало с этой же либой так не получается точнее не совсем получается,в случаи с енкодером я просто использую функцию tickISR() а вот с кнопками такая штука не катит,есть способ как это решить? Заранее большое спасибо.
Почему не катит? По идее так же на прерывания или PCINT тикер кнопки повесить.
@@ArduNotes В том то и суть,если просто кинуть tick в прерывания по таймеру то ничего не меняется от слова совсем,у енкодера есть функция tickISR которою я кидаю в прерывания по таймеру и в сетапе устанавливаю setEncISR в true и все работает а в кнопке тупо такой функции нет, есть только функция pressISR которая сообщает факт нажатия и само собой в прерывании по таймеру она ничего не дает,я занимаюсь этим всем делом не давно так что могу что-то не понимать, но как я понял что как таковой реализации обработки по прерыванию именно таймера по крайней мере для кнопки нет,а штука довольно полезная ибо не все используют все три (а точнее два свободных) таймера в той же 328 ,че добру пропадать)
Спасибо большое за видео
Чтобы корпус был визуально красивее, его обязательно шлифовать надо. В сущности. наверное, всё шлифуют, где вид важен. Либо наждачкой, либо химически очень аккуратно, дихлором
Спасибо, но ПЛА плохо обрабатывается. Вот ХИПС тот же - да.
ABS Ацетоновой баней отлично обрабатывается @@ArduNotes
Круто. А как сделать приемник HID устройств? Вроде даже у ESP32 это под большим вопросом.
это компьютер!
Прикрутить аппаратный USB-хост
Добрый вечер, можно ли на даннлй платформе реализовать снятие показаний со счетчика, который имеет 485 выход?
спасибо за видео!
Уважаемый автор, могу я к вам обратиться с просьбой помочь наладить из про микро игровой геймпад на 16 кнопок+2 аналога ? для меня это крайне сложно. Хотя бы просто скажите, эта задача вообще возможна ? или пинов не хватит, если не хватит то как выйти из положения ?
А можно ли реализовать управление мышкой при помощи гироскопа?
Конечно, было бы желание
Хз кто как, а я затарился lgt8f328p, на нем будет работать?
Тоже крутилку хочу собрать, только с подсветкой текущей громкости. Нашел круговую адресную ленту и кноб в размер красивый. Вот если бы еще рассказали как с компа отдать инфу о громкости. Т.е. нужна одновременная работа и HID и какой-то передачи данных от сервера с компа.
Скорее всего нет. Часть VUSB написана на асм, а у лгбт за счет оптимизации ядра некоторые инструкции выполняются тупо меньше тактов, чем ожидается. Из-за высокой скорости (сравнительно) юсб, сама реализация опирается на эти тайминги, и даже если установить 16 мгц на лгбт, нет гарантии, что будет работать испрано, но попробовать стоит.
на кассетной деке маяк есть выход под пульт можно как-то реализовать этот пульт в виде плеера на пк выход с деки в линейный вход и слушать музыку и управлять им ?
У "Маяка" на сколько я знаю, пульт проводной был, который в этот разъем подключался. И, следовательно, работал он по принципу замыкания контактов разъема между собой. Если есть принципиальная схема аппарата 100% можно на ардуино сделать ИК-приемник, который можно туда подключить, чтобы по командам с пульта он замыкал эти контакты.
Пользуюсь slicontrol под Com порт и ик ду. Глянь там библиотеку
Подскажите как использовать данную библиотеку с матричной клавиатурой?
На современных клавах нет кнопки СОН, а мне ее использование очень удобно. (вечером - СОН, утром ENTER)
Несколько мес. назад я читал что для такой альтернативы подходит только какая-то одна Ардуин`ка, у меня ее нет, и покупать ради этой прихоти как-то не хотелось.
А сейчас узнаю что можно использовать другие Ардуин`ки, и это уже интересно. Прикол* 6:30 можно как-то обойти?
Интересно получится ли собрать этот проект на stm32f030, используя ядро стм в среде ардуино?
Нет, смотрите в сторону F401, G431 и прочих младших с USB
а что если запилить нечто похожее на flipper zero? ну такое сильно урезаное но что бы можно было копировать и эмулировать ИК пульты, наборы команд с этих пультов и хранить все это дело в памяти или на СД карте. может даже возможность копировать ключи от домофонов
во-первых флиппер дорогой
во-вторых там уже есть копирование ик пультов, насколько знаю
@@danielfox957 да в курсе что он дорогой. И в курсе что в нем есть эти функции. Поэтому и предлагаю запилить свой, более дешёвый и простой аналог
В плане пластика для 3D печати на мой взгляд самый универсальный PETG.
Канал просто лутшый можете сделать гайды по кодингу микроконтролеров симейства ESP
Теперь еще гироскоп с акселерометром прикрутить и можно будет писать код вращая эту штуку на известной оси)
А есть ли возможность подключить несколько потенциометров и управлять ими как микшером громкости определенных приложений ?
А можно ли самостоятельно сделать аналог SpaceMouse?
в ютубах уже есть такие проекты и довольно неплохие
А поддержку USB HID геймпада ты так и не запилил?))
Библиотека совместима с OS на базе Unix?
Мак и Линукс подхватят?
P.S. Давно мне так сильно не хотелось повторить проект из ютуба)
Когда оно работает, то да, на Mac и на Linux всё хорошо.
Когда и почему иногда не работает, пока не разобралась. Поэтому есть (вряд ли большой) шанс, что глючность связана с операционками.
на счет спорного вопроса, ничего спорного ж нету) данные хранятся в дополнительном коде, - 0 нету, значит - 128
А на всяких RP2040 нельзя делать крутые USB клавиатуры и прочие пакости? они вроде не космических денег стоят.
Осталось только приделать аккумулятор и блютуз модуль😊
А что, V-USB на версиях Windows старше семёрки теперь работают?
В последний раз когда проверял, тайминги запуска опроса устройства на Windows 8+ сократили и микроконтроллер тупо не успевал запустится к моменту запросу дескриптора, что приводило к сообщению "Последнее подключенное USB устройство работает неверно".
Офигенная штука, вот бы ещё беспроводную версию, было бы идеально просто - можно тогда сделать кастомный пульт, который можно установить где угодно и при этом не будет мерзких проводов 😊
Было бы интересно, через 2.4 или bt подключить
@Artemon-yl5ze через тот же WiFi. Роутеры, думается, есть у всех - на компе поднимаем "сервер", IP статический, и взаимодействуем.
433@@Artemon-yl5ze
Чет я не совсем понял в начале видео вроде показали, что нужна обвязка из радиодеталей для подключения к USB, а в итоговом проекте напрямую подключают к USB.
В нескольких местах сказано - "эта платка удачная, потому что обвязка на ней уже есть". Для голого МК и нанки понадобится 2 стабилитрона на 3.6в и 2 резика на 68Ом + резик пуллап 1.5ком.
Спасибо! Видимо слушал невнимательно. @@ArduNotes
Надо попробовать. Интересно как в системе обрабатывается нажатие клавы: через WinAPI с флагом LLKHF_INJECTED или как реальная физ.клава?
Это хардварная юсб клава, все идет через стандартные дрова от винды, конечно без флага. Интересно, почему интересуетесь?
Зачем эти заморочки с тинькой, если синяя таблетка по деньгам тоже самое, но USB HID без всяких танцев с бубнами работает?
Напиши ссылку на нормальную синюю таблетку, эта чехарда с STM-платами отбивает всё желание ковыряться в них.
На алике блю пилы один поддельный хлам...говорят что можно купить нормальные stm32f4 на черных платках, но это не точно.
@@user-ux2wi9ze3n, можно подумать до кризиса микроконтроллеров все исключительно оригинал на алике покупали. Смотрите отзывы, граждане.
А USB-UARTом она может прикинутся ?
тоже интересует этот вопрос
Хотел повторить проект, заказал платку , установил ядро как в инструкции, скетч компилируется но когда нажимаю загрузить выходит ошибка загрузки. В чём может быть причина?
был не рабочий usb джойстик. вместо крестовины поставил энкодер, на кнопки сделал горячие клавиши. удобно.
Вот это прям реально круто!
Attiny88 шьётся, но пишет USB устройство не опознано, что может быть? Провод вроде хороший, во всяком случае с капризными устройствами работал.
Помню прикручивал keyboard.release к библиотеке клавиатуры которая умела только кликать. Чтобы упростить жизнь с запоминанием зажатых клавиш реализовал кольцевой буфер который сам отпускал последнюю клавишу. И та библиотека вроде умела в 8 клавиш
void KeyD(byte keyStroke){
for (int i = 1; i < BUFFER_SIZE; ++i){
if (reportBuffer[i] == 0){
KeyDown(keyStroke, i);
return;
}
}
}//Нажимет символ и помещает информацию о нажатии в первый свободный(!!!) слот
У нас буфер не кольцевой (FIFO), а по типу стека реализован.
добавить блютус и вывод трека на экранчик например из спотифая)
Очень хотелось бы увидеть реализацию подключения тачпада от современного (или относительно современного) ноутбука к компьютеру. Да так, что бы все жесты нативно поддерживались в Windows, как на ноутбуках. Эти тач-пады используют интерфейс i2c, но как его правильно адаптировать в USB и представить компьютеру - мне не ясно.
те что можно наклеить на экран стоят как новая матрица или бу ноут, смысл?
@@dltech Что, какой наклеивающийся тачпад, тачпад это технология synaptic которая предоставляется пользователю сенсорную панель, она есть почти на всех ноутах, хотя я встречаю щас чаще трекпады от elan
от старых ноутов тачпады ps/2, легко распаивается проводом напрямую в ps/2 разъем на материнке, если он есть конечно))
@@Raider160009 Он про новые ноуты, с i2c
@@Raider160009некоторые USB были
А на ESP8266 работать будет?
Нет, прерывания совершенно другие. Надо либу переписывать слегка. Но на esp8266 вроде уже реализован vusb как я помню
Кто-нибудь пытался её к линуксу подключить? Если да, то скажите пожалуйста работает или нет, может драйвер какой нужен?
По идее драйвер HID стандартного должен быть по умолчанию в пингвине
Работает. Linux Mint.
Но работает не всегда. Связано ли с операционкой, пока не разобралась.
После долгих настроек у меня получилось в моём Debian'е запустить, драйвер оказался привередливым но доверчивым)
Знает кто как из микроконтроллера сделать приёмник для геймпада xbox series? Либо же эмулятор, что бы комп думал что к нему подключен геймпад и контроллер выполнял какие то запрограмированные действия?
Здравствуйте, я в этом новичок, у меня вопрос, сделал почти такую без ИК, но прошивка слетает после перезагрузки
После сна не пробуждается? Копай в сторону электропитания в панели управления. Отключаются юсб скорей всего
Можно на этой бибе руль с обвесом для симуляторов сделать?
А на Digispark Attiny 85 нельзя это собрать?
Можно, собирал подобное устройство, только без ИК
@@WD40651 я в интернете находил только с откючением звука на кнопке энкодера, а хотелось бы управлять воспроизведением. Сам не программирую, только схему собрать могу
Я человек простой.. (и старый видимо по комменту ) ставлю сорок лайк за труд и ум.
Вот бы еще блютуз прикрутить
Как подключить возможность линейного контроля уровня звука?
Получается либа круче чем стандартная для дигиспарк)
Даёшь бюджетную версию тестера инициализации.
Там все намного-намного сложнее чем кажется. Уже изучали вопрос.
Могу предположить что компьютер не ставит галочку в устройстве которое даёт вывод пк из режима сна, Аппаратно и программно не решить, нужно самим всё делать и искать (Я так думаю)
Как будто бы, слишком мало полигонов при экспорте - из-за этого корпус выглядит не цилиндром, а многоугольником. Во фьюжене, при экспорте можно настроить количество полигонов.
оу оу оу - а почему я не сделал этого раньше? ))
Вот бы сделали материал про модуляторы, демодуляторы сигналов с частотной манипуляцией. 🙏 К примеру есть приёмник "селектор частот демодулирующий" И несколько передатчиков которые в двух проводную линию передают данные, каждый на своей несущей частоте. Очень интересно как это реализовать на дуньке😅
Отвал башки! Очень нужно!
В библиотеке есть функции эмуляции педалей, руля?)
Нет
Бес провода бы ещё, акк + нрф модули
Ждём мультимедиа контроллер на stm32
Реализуйте "messageasy" клавиатуру на джойстиках пожалуйста. Это офигенная клава на андроиде на которой можно набирать текст очень быстро и вслепую. Причём если будут тактильные ощущения, то скорость слепого ввода сильно возрастёт, а ошибки из-за неверного позиционирования пальца пропадут. Скорость ввода вплотнур приблизится к слепому десятипальцевому на обычной клаве.
Хардварнойрверсии-брелочка очень не хватает.