Comments 16
Прикольная штука получилась. Когда-то делал отдалённо похожее, но на Pico. А причина проста - самый дешёвый клон Pico, что у меня был, стоил примерно столько же, сколько МК отдельно, а плату разводить было немного лениво.
Один день я пролистывал ленту новостей и наткнулся на кейкап Hornet из Hollow Knight и звезды сошлись, теперь я понимал зачем мне макропад — коллекционировать кейкапы.
Кстати, а насколько удобно пользоваться с такими насадками? Нет боязни при нажатии что-то ненароком отломать?
Кстати, а насколько удобно пользоваться с такими насадками? Нет боязни при нажатии что-то ненароком отломать?
Если честно, то не совсем удобно, т.к. нажать разово нормально, а вот печатать уже я бы не стал. Но в целом сломать не боязно, кроме кейкапа с тонькими рожками (кейкап полого рыцаря, у него рожки толщиной 1-2 мм.), они хоть и не сломаются, но боязно. Например, по началу думал, что кейкап хорнет будет хрупким, но оказалось, что все хорошо, там детали не хрупкие и не маленькие.
Когда-то делал отдалённо похожее, но на Pico
О, интересно, почитаю!
Спасибо, годный DIY! Свитчи для клавиш, насколько я понял, стандартные 3-пиновые использовали? Я по мере вовлечения в мир механических клавиатур начал обрастать разными свитчами, и вот уже заказал про запас на Али контактные площадки (Kailh hot-swappable PCB Socket CPG151101S11), чтоб не паять свитчи и можно было их легко менять.

Да, они, правда там только 2 металических пина, но в сумме 3.
Интересно, про контактные площадки, крепко ли они держат клавишу. Это конечно не проблема, но провода я тоже не люблю зачищать и паять)
делал макропад и из numpad клавиатур и просто отдельный макропад покупал 12кнопок / 4 энкодера, но как то не прижилось. а вот мышки с 12ью кнопками с боку - имба. уже не представляю жизнь без таких. энкодер в основной клавиатуре тоже удобно и обычно достаточно.
AutoHotKey также использую, даже одно время делал какие то сложные комбинации на нумпаде основной клавиатуре но тоже не приживается, не удобно контролировать постоянно состояние numpad (цифры/стрелки).
Я бы сделал DIY мышку со множеством кнопок, но не представляю как это сделать, там вроде какие-то механические детали, чтобы определять движения с помощью лазера. Только если взять готовую мышку и разобрать её на части. Знаю, что есть наборы, чтобы распечатать корпус на 3д принтере для мышки, а потом туда вставить плату и детали из набора, но это не совсем то.
Я хочу клавиатуру из двух кнопок. Но так чтобы я мог быстро программировать код клавиши.
Из того, что я успел посмотреть, то и на Raspberry Pi Pico и на других микроконтроллерах для того, чтобы изменить код клавиши нужно залить новую прошивку. Возможно, это можно сделать и по-другому, но я этого не знаю, может кто поправит. Вроде и QMK это тоже про залить прошивку с новыми значениями клавиш.
Обычно, т.к. у МК будет поддержка USB, то залить новую прошивку не проблема.
Я попытался коротко и просто объяснить проблему матричных клавиатур и не стал углубляться, потому что материала очень много и думаю есть какая-нибудь статья даже на Хабре
Туть https://habr.com/ru/articles/394585/ достаточно подробно
Спасибо, что описали опыт использования rv003usb. Хоть для USB миллиард решений, и конкретно для клавомышей даже существуют модули CH9329, это решение достойное.
В первой часты вы жаловались, что rv003usb не работает через USB-изолятор. На самом деле через изолятор на ADUM3160 из коробки не работают никакие устройства USB 1.0. Этот изолятор настраивается на режим 1.0 или 1.1 аппаратно, пайкой перемычки.
Спасибо, что подсказали с изолятором, никогда бы не догадался.
Китайцы это не пишут, а в описании микросхемы режимы работы есть. Я не пробовал, но вроде существуют вот такие варианты
с переключателем
Без перепайки перемычек работает связка хост-изолятор-хаб-клавиатура. Или уже скоростные изоляторы USB 2.0 на основе или CH318 или ADuM3165/66.
В конечном итоге, как всегда, мне понравилась идея делать модульно и все устройство разбил на части: плата контроллера (MacroPad Controller), плата с 3-мя энкодерами (Encoders Module), две платы со светодиодом (Led Module) и одна плата с разъемом usb (куплена на Aliexpress).
Модульная архитектура интересна еще тем, что модули заменяемые, если кто-то решит делать такое же устройство, например, на другом микроконтроллере, то может заменить только одну плату.
Как раз, взять rpi-pico или любую другую плату с USB и достаточным количеством контактов и подпаяться проводами - гораздо лучшая затея.
Потому как это "прототип", и даже если вы захотите сделать еще одно устройство, то, наверняка, изменений будет достаточно много, что исходные платы тоже придется переделывать.
Ну и там можно 15 кнопок + 3 энкодера (с кнопками) безо всяких матричных опросов и диодов.
А если уже готовый "продукт" делать, то всяко лучше - одна плата и стандартные разхемы для свитчей.

эта картинка (как и большинство в гугле по запросу энкодер) очень далека от действительности, если вы используете распространенные дешевые энкодеры с Али.
Ибо в реальности, сигналы получаются сдвинуты не на 90, а на единицы градусов. И это без учета дребезга. Отсюда как пропуски шагов, так и "вращение" в произвольную сторону.
Ну и если так хочется разобраться более детально, как работает USB, Endpoints, HID-Descriptors, то AVR + V-USB все же интереснее/нагляднее.
А если говорить про практичность, то лучше смотреть в сторону nrf52 - помимо USB можно использовать BLE и батарейное питание. Или же zigbee/matter использовать все то же устройство для управления умным домом.
С одной стороны вы говорите правильные вещи, с другой на многое уже дал ответ в статье. Например, делать на Raspberry Pi Pico мне не хотелось, больше из-за того, что мне интереснее более детально разобраться в CH32V003, т.к. чаще его использую. Поэтому и на AVR слабо поглядываю, но в то же время мне AVR нравится, поэтому иногда и там что-то делаю охотно.
Схема энкодера возможно не правильная, но для понимания сути и принципов работы верная, т.к. по ней видно, что в местах, когда сигналы не совпадают происходит поворот. И этого достаточно, чтобы в коде реализовать правильный алгоритм.
И вы как-то странно написали по поводу продукта, т.к. в целом эта клавиатура полноценный продукт. Сделанная по фабричным технологиям, т.е. я могу сделать еще и еще такую же без проблем, они будут одинаковые. (Или заказать, файлы тоже на руках.) Здесь вопрос в целосообразности, цене и качестве. Но даже при этом, от этой клавиатуры до полноценного продукта не так далеко. Но ничего из этого не было моей целью, и это отразил в статье, потому что по сути это DIY клавиатура.
А с nrf52 и BLE соглашусь, эту технологию я еще всерьез не пробовал и хотел. Например, когда делал брелок с светодиодной матрицей, очень хотел добавить туда BLE, но оно не влезало.
Information
- Website
- timeweb.cloud
- Registered
- Founded
- Employees
- 201–500 employees
- Location
- Россия
- Representative
- Timeweb Cloud

Разработка USB-клавиатуры без поиска лёгкого пути