20. Эмуляция клавиатуры | Arduino | НЕ Midi
Вставка
- Опубліковано 27 вер 2024
- Эмулировать нажатие клавиш на клавиатуре с помощью кнопок можно благодаря стандартной бибилиотеки Keyboard для Arduino.
Это может пригодится, если по какой-то причине вам не удается использовать миди сс, или ваш сиквенсер не воспринимает как-либо миди сс команды. Благодя эмуляции клавиатурных клавиш можно задействовать какие-либо экшены в своей DAW
Файлы: yadi.sk/d/PUv_...
Arduino Keyboard Library:
www.arduino.cc...
Полезное видео, давненько ничего не было. Спасибо!
Очередное - Спасибо - Хороший ролик - для начинающего - MIDI-ардуинщика! С Уважением - Андрей из Казахстана - Алматы! :)
Отличное пояснение, без каких то сложных физических явлений, резисторов. Всё чётко и понятно, спасибо за ролик)
Я хочу научится создавать микросхемы для клавиатур. Что бы в итоге получилась полноценная клавиатура для компьютера
Костя, спасибо огромное! Благодаря в основном твоим видео постепенно разбираюсь в теме мидиконтроллеров. Может тебе или тому кто прочтет будет интересно подумать вот над чем: если в музыкальном приложении кнопки переключения пресетов (влево вправо стрелки) не мапятся, но реагируют на KEY_LEFT(RIGHT)_ARROW, то как совместить функциии миди контроллера и клавиатуры на одной плате. У меня teency 3.2, вчера загрузил скетч из этого видео, все норм. Но это keyboard. Не миди))). Остальным регуляторам midi cc не назначить.
ты можешь без труда соеденить скетч из этого видео и любой код для миди команд из бибилотеки Control Surface
на одну и ту же кнопку можешь назначить как команды для клавиатуры, так и команды для миди
Спасибо! Но наверное я чего то не допонимаю, т.к. для скетча в видео нужно устанавливать тип usb порта "keyboard", а для миди соответственно MIDI. Оба кода в одном скетче не выдают ошибок только при установке типа usb "All of the above". Но тогда звук пропадает и в списке устройств 16 портов виднеется))).
@@МаксимЖуравлев-л2ж у usb портов не т такого типа "keyboard". Я понятия не имею что такое all of the above, и где это у тебя находится
Дорогой друг, нет ли у тебя желания сделать видео о мультиплексоре mcp23017 в частности как к нему прикрутить 8 энкодеров в Control Surface, как я понял это единственный вариант увеличить количество энкодеров.
я ещё не встречал ни одной бибилотеки которая бы имела возможность подключения нескольких энкодеров к мультиплекорам.Control Surface пока тоже не имеет такой поддержки. Потенциометры и кнопки можно, а вот энкодеры нельзя
@@kentforthable как бы да я нашёл только это #include
но думаю что проще взять несколько мега 2560 одна будет мастер остальные мультиплексоры в кавычках, по spi или i2c.
получается не хуже джойстика, аппаратного, если аналогично делать на джойстике понадобится Xpadder программа, жаль что на stm32 всё торгуют только на биржах предложениями сделать blink, там совсем оскотинились юзеры, снега зимой не попросишь, ардуинщики хоть продвигают платформу, дружнее намного, хоть также хватает на форумах тех, кто никогда не поможет, а узнав о проекте, быстренько пойдут продавать подобный. Вроде люди интернет создавали переехать из каменного века в цивилизацию, но чем дальше, тем меньше людьми остаются, как голодная саранча не помогут ничем никогда, только себе, себе, себе. Спасибо вам за канал, где хоть как капля воздуха информация. Остальные не рады даже наверное такой информации, им лишь бы продать подороже и лохов побольше найти, диванным программистам-продаванам. Шкурнее и шкурнее многие ардуино stm32 манимейкеры диванные. Чудо, что вообще ещё есть каналы, где есть нормальные люди, которые сделают урок. Одно шкурьё кругом.
нормальные програмисты всегда топят за open source, а те, кто хочет на всё нажиться - мудаки. Я за то,чтобы полезные знания были всегда бесплатными
@@kentforthable Спасибо большое вам за то что плывёте против течения в водовороте денежном.
Input pullup это подтяжка резистора с земли на выбранную ногу. При нажатии кнопки цепь замыкается и на пине появляется высокий сигнал, если не подтянуть этот пин к земле резистором или не использовать программную подтяжку, этот высокий сигнал так и останется там болтаться, даже после отжатия кнопки, давая некорректные данные.
К сожалению, вы всё перепутали. Конфигурация пина в режиме INPUT_PULLUP подключает к пину подтягивающий резистор к питанию, не к земле (к стати резистор, пдключенный к земле называется СТЯГИВАЮЩИМ). И поэтому пин и подключается через кнопку к земле, а в программе нажатие кнопки определяется уровнем LOW, т.е пин подключен к земле, значит кнопка нажата.
а как можно сделать доп клавиши, которых нет на клаве
какие например?
@@kentforthable Мне нужно нумпад сделать. Хочу от старой ps2 его отпилить и к ардуино припаять
@@kentforthable Написать что то точно не смогу. Буду искать готовое что то
На Нано такое можно ли организовать?
плата не имеет значение
@@kentforthable Но вы же говорите в ролике, что если у вас не леонардо или про мини, надо что то там как то прошивать... Не поясните?
@@SmilerSP прошивать я имю в виду нужно превращать утсройство ардуино в устройство миди контроллер, как на моем первом ролике про HIDUINO, я не уверен будет ли работать клавиатура если в скетче будут миди команды, и ардуино будет прошито как миди устройство. Если же кроме кода для клавиатуры в скечте друго ничего нет, то можно спокойно заливать скетч в любую плату ардуино
@@kentforthable бррр... Нипанимаю ниче :))) я просто не нашел ни одного ролика на ютубе, чтоб строили эмулятор клавы на нано. Мне надо это для KVM переключателя. Последовательность нажатий "скролл лок, скролл лок, 1" и "скролл лок, скроллок, 2". Для переключения между компами))))
Все видео что видел, строят на про мини, где стоит другой чип
Спасибо за видео. Не могу найти пример передачи нажатия кнопок через модули bluetooth по следующей схеме: Кнопка->Arduino->Bluetooth-модульHC-05->Bluetooth-модульHC-06->Arduino->ПК. Сложно ли переделать код из вашего примера для беспроводной передачи нажатий?
В библиотеке control surface есть пример для отправки миди через Bluetooth, также там тоже должен быть модуль дисианции
@@kentforthable Спасибо. Посмотрю.
Привет. Можно ли сделать такую симуляцию для клавиш F1-F12 ? И как можно реализовать программно подключение матрицы клавиатурной а не одной кнопки? Спасибо!
для любой клавиши можно сделать симуляцию
wokwi.com/projects/384289931220941825
Огромное Вам спасибо! )@@kentforthable
'Клавиатура' не найдена. Убедитесь входит ли скетч в код '#include '?
Что делать?
без примера кода не возможно что либо узнать
Я уже разобрался там есть код нот ты обьяснил в видео. Теперь проблема со считыванием выводов идет 8 на 8. 8 на колонки 8 на столбцы. Но распиновка идет клавишы 5 потом 8. И опять 5.8. А выводов то 8 на 8. Проблема со скетчем. Именно со считыванием
Заводиться все на уно так как под рукой есть
а как запрограммировать например есть тумблер, и надо чтобы при включении его вверх он срабатывал и при включении вниз повторно срабатывала клавиша
Я пользуюсь библиотекой Control Surface, подойдет пример CCButton , или NoteButon
github.com/tttapa/Control-Surface
Если в ОС стоит русская раскладка, а с такой клавиатуры отправить английские символы - получится ерунда. Например : Если отправить "Hello world" - выведется "Руддо цщкдв". Как это можно решать? Спасибо за видео
не подскажу, не пользуюсь кириллицей в коде
Привет!
Подскажи, пожалуйста, можно ли вместо кнопки использовать пьезоэлемент? И если можно, то как?
Принцип примерно тот же нужен, только вместо кнопки, поезо. Стучишь по пьезо - срабатывает клавиша.
@@Kotyasta пъезо это аналоговый элемент, кнопка - цифровой, если найдешь способ конвертировать аналоговые значения пъзо в нажатие кнопки on/off Тогда получиться сделать. Могу лишь посоветовать поискать скетчи, где конвертируют аналоговые значения в цифру
Ссылка на яндекс не работает (
перезалил
@@kentforthable Благодарю!
У меня не работает! Пишет клавиатура не найдена. Плата Arduino Uno. Дизлайк ставить не буду но и лайк не поставлю!
можете мне на почту написать и прикрепить скрин с ошибками
ты решил проблему? у меня также
случайно не китайская Uno?
@@kentforthable та же проблема- не видит подключенную библиотеку Keyboard.h чип на входе ch340g
@@Sbor_Pomidorov проблема из за чипа CH340G, есть соответствующий ролик в плейлисте про этот чип, можно попробовать эту библиотеку
github.com/TheSos/chkey
Костя, привет, отличное видео. Иногда очень нужно нажать шифт или контрол, и приходилось это делать на клавиатуре. А таким образом можно добавить эти кнопки в свой пульт.
Спасибо! Сделаю себе из парочки numpad с фикспрайса горячие клавиши для 3d max и coreldraw
А как добавить несколько кнопок?
1
Теперь завезу на мегу и крутилки добавлю
искренне спасибо за видео! Как раз разбираюсь с леонардо сейчас, очень помогло)
Все тема закрыта все сделал щас первый прототип тестирую я очень доволен. Кому нужно спрашивайте раскажу как сделать бо информации в интернете нет либо она не работает
Я запустил клавиатуру от синтезатора комп все читает в фл. Теперь проблема как их в hex записать выходит каша
зачем записывать в hex?
Возможно ли таким образом создать механическую клавиатуру?
Попробуйте, может получится, сам не пробовал
Спасибо мужик!
А какой код у кнопки Enter? В списке его нет
www.arduino.cc/reference/en/language/functions/usb/keyboard/keyboardmodifiers/
www.asciitable.com/
Так попробуй: Keyboard.press(KEY_ENTER);
@@kentforthable спасибо, но в таблицах интера нет. KEY_ENTER я пробовал, выдает ошибку. В какой то таблице был код 13, но тоже не работает
@@whether1548 как был прописан ascii код из таблицы?
@@whether1548 Покажи код, как ты его использовал
@@whether1548 вот так попробуй
Keyboard.press(176);