352

Универсальная клавиатура своими руками. Часть первая

Начитался постов про недоМаска, про фальшивое импортозамещение и суровые тюменско-китайские производственные взаимоотношения... Решил начать делиться процессом своей разработки :)
Представляю вашему вниманию - чудо! (нет)

Да, именно с этого началось мое резкое желание продолжать-таки этот проект.
Немного предыстории - хотелось сделать что-то подобное еще на первом курсе магистратуры, когда выбирал тему диплома, да уперся в какие-то программные проблемы, даже сам не помню во что именно, но тогда ничего не получалось и тему я в итоге взял совсем другую... Но кто знал, что спустя несколько лет я найду эту недоделку и решу попытаться приложить к ней руки снова)

В чем суть? Все просто - имеем 8 физических кнопок, у которых вместо обычных колпачков - дисплеи. Вроде где-то было, не? *StreamDeck косо смотрит на меня*
А в чем преимущество? Отличный вопрос!

По моей первоначальной задумке, улучшений должно быть много, как минимум:
- уменьшение стоимости готового продукта;
- расширенные возможности программирования;
- автоматическое распознавание активного окна и подгрузка набора горячих клавиш для него;
- работа от аккумулятора и через bluetooth.

Сейчас небольшой технический абзац, кому скучно, можно сразу мотнуть дальше)
Основная проблема, с которой я столкнулся в момент создания этого прототипа - дисплеи, работающие по шине I2C, имеют всего 2 варианта адреса, соответственно, я не могу просто взять и подключить все дисплеи паровозиком)

Решение нашлось достаточно быстро - использовать хаб, работающий в режиме стрелки на рельсах - одномоментно подключен только один дисплей, а стрелка на рельсах быстро-быстро скачет по каналам и выводит разную картинку на дисплеи с одинаковым адресом. Появилась другая проблема - надо как-то рулить одним объектом экрана но с разными данными) но и тут помогла комплексная параметризованная функция вывода, чтобы рисунок подавался в зависимости от номера включенного канала.

Техничка закончена, можно двигаться дальше налегке)
Победив проблему и выведя-таки разные картинки на дисплеи, захотелось уже потыкаться и поэмулировать клавиатуру! А обычная макетка не позволяет мне расставлять элементы так, как я хочу. Окей, топаем в магазин, затариваемся радиодеталями, спустя часа 3-4 пайки получаем уже в какой-то степени рабочий экземпляр:

Артефакты на дисплеях возникают ввиду удачно совпавшей герцовки камеры и ФПС дисплеев)
На этот момент почувствовал себя не электронщиком, а сварщиком

Окей, очередной день, пару часов как перетекший в следующий, закончился большим успехом для меня и очень маленьким для человечества)) кнопки стали реагировать на нажатия и стали сворачивать мне окна, копировать и вставлять текст, сохранять документы!

Здесь я понял, что останавливаться уже ни в коем случае нельзя и нужно продолжать разработку) пусть и не выстрелит, пусть не будет востребовано, но это сделает меня счастливым, потому что это мое хобби)

Что в планах на будущее:
1. Добавить крутилку (куда же без нее, громкость регулировать, или же настраивать как горизонтальную/вертикальную прокрутку)
2. Осваивать эмуляцию блютуз-клавиатуры
3. Рисовать схему не на макетке, а на нормальной плате, и не из модулей, а из электронных компонентов с нуля
4. Писать софтину-программатор на ПК, чтобы настраивать скрипты и рисунки клавиш из нее, а не перепрошивая каждый раз плату

На сегодня все, спасибо дочитавшим за внимание, буду рад любой критике и советам)

TECHNO BROTHER

2.2K постов13.9K подписчиков

Правила сообщества

1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.

3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины

8
DELETED
Автор поста оценил этот комментарий
Как бы, полно вариантов. Не думаю что у Вас будет дешевле.
https://ru.pinterest.com/pin/more-oled-united-keys-offers-ol...
Иллюстрация к комментарию
раскрыть ветку (1)
17
Автор поста оценил этот комментарий
Честно, пока сложно по итоговой стоимости сориентироваться) для меня победой будет даже если я просто соберу полностью готовое устройство с хорошим качеством)
показать ответы
18
Автор поста оценил этот комментарий
Артемий Лебедев с этой суеты начинал пиариться, а потом покрасил волосы)
раскрыть ветку (1)
8
Автор поста оценил этот комментарий
Я понял, чего стоит бояться)) буду отгонять мысли, как только появятся)
8
DELETED
Автор поста оценил этот комментарий
Дело хорошее, подпишусь.
раскрыть ветку (1)
8
Автор поста оценил этот комментарий
Спасибо)
показать ответы
4
Автор поста оценил этот комментарий

Может кто-то объяснить, зачем нужна такая клавиатура? Есть какая-то принципиальная польза или это так, очередной гаджет для любителей гаджетов?

раскрыть ветку (1)
4
Автор поста оценил этот комментарий
Да запросто, давай объясню)
Штука полезная, когда тебе приходится часто иметь дело с рутинными действиями - постоянное использование одного и того же сочетания клавиш, одинаковый шаблон текста
Ты просто настраиваешь нужный скрипт на каждую клавишу - получаешь нажатие, например, alt-ctrl-delete в один клик одной клавишей
Я, как айтишник, собираюсь использовать частые длинные команды на этой клавиатуре, где не всегда представляется возможным просто копировать-вставить, потому что на удаленных машинах работаешь
показать ответы
2
Автор поста оценил этот комментарий

Дисплей 7 дюймов с тачем вот вся клавиатура, самое сложное будет написать программу с привязкой кнопок и изображения к действиям на ПК.

раскрыть ветку (1)
4
Автор поста оценил этот комментарий
Это, конечно, намного проще вариант, но вслепую уже не будешь пользоваться, тактильного отклика нет, совсем не то
показать ответы
0
Автор поста оценил этот комментарий

Можно как вариант на фотополимере из прозрачной смолы сделать тонкие пластинки на которых будет рельеф повторять основной смысл иконки на экране, тогда в слепую можно будет ощутить. Но сами понимаете, этот вариант будет подходить исключительно для финальной версии.

Мне кажется тут достаточно будет высоты примерно 0.25мм +-, что не должно сильно исказить картинку с экрана.

Я бы мог это даже проверить и показать, если пришлете простой код с примерно подходящей вам картинки для экранчика как на картинке (у меня нет свободного и подобного вашему, но возможно смогу освободить один). Я повторю иконку в 3д и воплощу из смолы и сфотографирую итоги.

nashatirko@gmail.com для связи

Иллюстрация к комментарию
раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Вариант то интересный, но теряется суть экранчика - иконки же меняются на лету, по загрузке в клавиатуру. А что с объёмными пластинками делать? Каждый раз печатать по новой?
показать ответы
0
DELETED
Автор поста оценил этот комментарий

Идея отличная! А как они нажимаются? И да, дисплеи нужно поменьше достать. В идеале, квадратные и пикселей можно поменьше. Монохромным иконкам достаточно 16х16, только сам размер пикселя побольше. Ну и какие-то прозрачные крышки туда просятся. В китайский OLED-дисплей тыкать - так себе идея, долго он не проживет. Кстати, как вариант, почему бы не сделать по-отдельности - дисплей, а под ним кнопка?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Так и сделано) дисплей не сенсорный, сейчас там физическая тактильная кнопка, позже буду думать над мембраной и ножничным механизмом)
показать ответы
0
Автор поста оценил этот комментарий

А если rpi pico на rp2040? Пара I²C на борту, умеет быть HID, стоит чуть дороже ардуино нано у китайцев

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Лежит такая штука, да) думаю, кстати, о ней, ведь она умеет в два процесса, один из которых можно задействовать на эмуляцию клавы, а второй на обновление данных от компа
Иллюстрация к комментарию
0
Автор поста оценил этот комментарий

Супер, сохранил. Нравится, может тоже буду делать, следующим проектом)

И энкодер с кнопкой да, просится.
Можно еще обратную связь замутить, чтобы кнопки выводили информацию.. ну это так..


Решение нашлось достаточно быстро - использовать хаб, работающий в режиме стрелки на рельсах - одномоментно подключен только один дисплей, а стрелка на рельсах быстро-быстро скачет по каналам и выводит разную картинку на дисплеи с одинаковым адресом.
А как реализовали? По описанию напоминает мультиплексор+сдвиговый регистр. Первый расширить входы, второй - выходы.


Они все такие эти дисплеи, что у них всего 2 адреса китайцы прописали?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Энкодер уже стоит, скажу по секрету😅 а насчёт расширения портов я использовал i2c hub troyka, от Америки, по сути он открывает 8 полноценных шин, но доступных поочередно, то есть как отправлять, так и получать данные можно со всех каналов
С обратной связью надо будет как-то придумывать, чтобы через HID данные читать с компьютера, это еще все предстоит) пока даже иконки прибиты гвоздями в прошивке)
0
Автор поста оценил этот комментарий

так двигается дисплей или как?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
У дисплея 4 точки с контактами - они все с одной стороны
Они припаиваются жестко к плате, а противоположная сторона имеет люфт в виду большого рычага воздействия относительно этих точек контакта
Что позволяет снизу поставить кнопку, которую будет нажимать дисплей
показать ответы
0
Автор поста оценил этот комментарий
Когда можно оформить предзаказ?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Пока рано) могу упомянуть, когда можно будет) сейчас ещё очень много нужно разработать, завтра будет пост о новых изменениях)
0
Автор поста оценил этот комментарий

Ну, на самом деле "есть варианты". У меня давно задумка, пока что теоретическая, именно как сделать тачскрин "тактильным". Для вашего варианта с фикисрованной позицией и формой кнопок идеально подойдет. Защитные стекла (как для экрана смартфона) в размер "кнопок" на тач экране. И суть тач экрана (именно как экрана) с подачей на кнопки любой картинки-анимации, чего угодно, сохраняется, что сделает гаджет дешевле и проще, и кнопки будут ощущаться рельефными островками. Единственное, не будет ощущения нажатия.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Точно не скажу, но по-моему blackberry экспериментировали со слепой печатью на тачах - вышли тактильные бугорки на месте каждой клавиши) но для чего? Какую цель преследуем?)
Если просто тач ради тача - то геморроя больше, чем пользы
Если хочется упростить схему подключения и управления - можно же просто использовать матричную схему подключения кнопок, тогда на 100 кнопок нужно всего 20 выходов, а не 100)
5
Автор поста оценил этот комментарий

После того как взлетел stream deck много кто стал делать свои аналоги. https://github.com/FreeYourStream/freedeck-hardware, насколько я знаю Free Deck получил наибольшее распространение. Советую ознакомиться если не в курсе об этом проекте, там и готовые схемы плат, и софт, и видео туториалы.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Ого, честно, даже не видел такую тему, а тут даже кнопки под экранами, как у меня...
Спасибо) в любом случае, тут надо прошивку на флешку каждый раз заливать, я же хочу напрямую) хоть на фото и видно слот под sd карту, она там нужна для хранения текущей прошивки, но заливаться она будет проводом через Ардуино и софтину на ПК
0
Автор поста оценил этот комментарий

Клевая идея :)


Полную клавиатуру бы из таких клавиш. Меняешь язык в системе - на клавиатуре меняется раскладка.

Можно разные режимы сделать:

* на клавишах два языка сразу (по дефолту)

* один язык, который активный

* вообще без буковок для слепой печати

* режим для игр (только wasd или стрелочки)


И вероятно можно регулировать яркость?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Полную тоже реально сделать, только вот это уже будет совсем дорого - в этом проекте самая дорогая статья расходов - экраны)
0
Автор поста оценил этот комментарий

Переехать на ESP32. WiFI / BT  сразу на борту, обновление прошивки по воздуху, энергосбережение.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Можно рассмотреть, если есть аппаратный USB контроллер, как у Arduino Leonardo и подобных
показать ответы
0
DELETED
Автор поста оценил этот комментарий

Можно купить свитчи для клавы и вместо кейкапов повесить экраны. Но вот только здоровые они пипец.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Свитчи, конечно, интересный вариант, но придётся сразу много направляющих делать, чтобы экран равномерно ходил, как клавиша пробел на механических клавиатурах
Да и плюсом экран 128*64 был выбран потому, что на него можно много информации поместить - текст, пару изображений 64*64, техническую информацию (температуру ЦПУ, погоду, еще что-нибудь)
показать ответы
14
спасатель драконов
Автор поста оценил этот комментарий
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
А ценник? Да и экранчики больно маленькие, линзы искажают больно
показать ответы
0
Автор поста оценил этот комментарий

если дисплей не ездит, зачем их так много, нельзя взять 1 большой, в чем идея то?

раскрыть ветку (1)
Автор поста оценил этот комментарий
А куда должен ездить дисплей?
Если он будет один, как распознать, куда именно нажимается? Тач?
А идея сделать физический щелчок кнопки, так что под каждым отдельным дисплеем своя кнопка
Тем самым установка одного дисплея - потеря идеи отдельных физических кнопок
показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества