Привет, Хабр! В этой статье хочу поделиться простым но интересным проектом в виде вот такой USB‑кнопки:
Зачем и для чего?
По приколу! При нажатии она посылает сигнал левой кнопки мыши и клавиши Enter, таким образом ее можно использовать например при покупках в интернете (навести курсор на «купить» и ударить по кнопке) или чтобы отправить важное сообщение (для этого используется Enter).
Примерно так, да
Что еще умеет?
Еще можно аппрувать pull‑request'ы, запускать приложения и вообще любое действие, которое можно сделать с помощью этих двух клавиш:). Кнопка проектировалась удароустойчивой, т. е. бить по ней можно со всей силы и кулаком, она не сломается. Также внутри есть круговая адресная светодиодная RGB лента с тремя режимами:
Яркий красный свет всеми светодиодами — при нажатии
Эффект загрузки (желтый светодиод бегает по кругу) — в течение 10 секунд после нажатия
Эффект «дыхания» — кнопка начинает светиться случайными светодиодами и случайным цветом спустя 10 секунд после нажатия (как режим ожидания)
Видео работы
Инструкция по сборке
Для сборки понадобятся:
3D принтер
Arduino leonardo micro beetle (например отсюда)
Круговая адресная светодиодная лента — необязательно (вот такая)
Кнопка (примерно вот такая)
Термоклей
Провод USB
Все исходники (3д модели и код) находятся тут
Инструкция:
Напечатать все детали — требуются подпорки, для крышки можно использовать динамическую толщину слоя
Установить кнопку в нижнюю часть на термоклей
Установить светодиоды, тоже на термоклей
Припаять провод, кнопку и светодиодную панель к ардуино
Прошить приложенным ардуино скетчем
Приклеить крышку сверху к кнопке
Готово!
Фото внутренностей
Недостатки конструкции и мои просчёты:
Первый просчет довольно очевиден — несмотря на то, что светодиоды цветные, через красную крышку ВНЕЗАПНО поступает в основном красный цвет. Теоретически, если крышку сделать белой, то это будет неплохим светильником.
Второе — из‑за особенностей конструкции крышка держится только за счет кнопки. Это не влияет на работоспособность, но из‑за этого она немного колеблется за счет люфтов в кнопке. Но зато итоговая толщина кнопки составляет всего 3 см!
Возможные доработки
Переделать модель чтобы убрать люфты
Сделать ее беспроводной
Напечатать белую крышку и сделать RGB лампу
На этом все. Прошло более трех лет с момента публикации прошлой статьи, и вот я решил вернуться в ряды писателей :)
Все ссылки на магазины приведены в качестве примера, автор не получает за них вознаграждение
Комментарии (19)
drhouse
28.08.2023 05:01+2Агутин не против? =)) (шутка)
Еси серьезно, то спасибо. Интересный пост. Было бы время ...
IvanPetrof
28.08.2023 05:01+2Если нет принтера, можно найти стандартную кнопку с корпусом (гуглится "кнопочный пост")
N1X
28.08.2023 05:01"Кнопочный пост" все же несколько другое, из промышленного и поменьше размером. А это хорошо гуглится как "Аркадная кнопка"
IvanPetrof
28.08.2023 05:01Аркадная выглядит сильно гламурно. Так и хочется нажать. И кулаком по ней жалко лупить. То ли дело промышленный стандарт))
Hidden text
Сразу видно, что нажимать только в случае крайней необходимости. Мало ли что?...
SuperTEHb
28.08.2023 05:01Точно Леонардо? Смотрю на фотографии, а она совсем другая.
Так-то тут и диджиспарка хватило бы.
Duke_nukeum Автор
28.08.2023 05:01Моя плата просто сделана в формате дигиспарка, а камень на ней стоит как у леонардо -- Atmega32u4, и в системе она определяется как леонардо
Не могу проверить, хватит ли дигиспарка, кажется у него RAM будет маловато, т.к. сейчас используется минимум 474 байта, а в дигиспарке есть только 512. Только если скетч оптимизировать, тогда хватит)SuperTEHb
28.08.2023 05:01+1Тогда что же это за плата? В списке написано "ардуино Леонардо", я беру в магазине именно её, а потом собрать ничего не могу. Подстава получается.
хватит ли дигиспарка
Точно хватит. Проект будет совсем другой, на программной реализации USB, но в сети есть уйма примеров подобных занятных "клавиатур".
Ещё порекомендую надеть на провод кусочек термоусадки. Так провод в месте выхода будет защищён от переламывания.
MaFrance351
28.08.2023 05:01Вообще, если поставить прогу типа "Serial to keyboard", то возможно будет обойтись даже самым дешёвым клоном Nano на базе МК типа LGT.
Пробовал, работоспособно...
Arhammon
28.08.2023 05:01Никак не могу добраться и сделать себе педали на 32u4, потому что вечно возникает ситуация руки чем-то заняты, а нажимать какую-нибудь кнопку надо - вот тут бы пригодились 2 или 3 педали, кому как привычнее.
Пока писал вообще в джойстик для управления курсором идея трансформировалась. Но подозреваю юзабельную механику для такого делать будет довольно долго.
SquareRootOfZero
28.08.2023 05:01У меня есть подключаемый по USB к компьютеру трёхпедальный моноблок, купленный на Амазоне у каких-то китайцев. Вот, казалось бы, какими-то мелкими механическими моментами создатели умудрились изгадить неплохую идею до практически полной неюзабельности. Изначально планировал приспособить под игры — ну, бывает, что какую-то необычную кнопку надо нажать нечасто, но когда надо, так уж надо, а промах и попадание в другую кнопку потере очередной жизни подобно — вот, думал, для каких-то таких действий должно отлично зайти. Хер там плавал. Ход у педали долгий, при том момент собственно регистрации нажатия на кнопку неясный. Пружина достаточно тугая, чтобы приходилось с некоторым усилием давить, но недостаточно тугая, чтобы на педали можно было постоянно и без напряжения держать ступню — значит, когда кнопка внезапно понадобится, придётся её нащупывать под столом ногой и херня выйдет. Наконец, сам блок педалей весьма лёгкий и от использования здорово елозит туда-сюда под столом, усугубляя предыдущий пункт. Для игр, в итоге, вообще не зашло, иногда использую, когда надо перепечатать фрагмент текста из видео, назначив на педали глобальные хоткеи паузы/перемотки, и то утомляет. Переделать бы на нормальные тугие кнопки с коротким ходом, встроенные в увесистое основание, да руки в этом плане из жопы растут...
А в качестве джойстика видел в продаже девайс в виде пластиковой полусферы — кладётся под ноги плоской стороной вверх, наклоняешь её ногами. Думаю, если самому делать что-то подобное, можно попробовать старый смартфон туда приколхозить, чтобы показания датчиков наклона на комп отправлял.
MaFrance351
28.08.2023 05:01А, может, что-то околопромышленное туда вставить?
Типа такого, например:
Сам когда-то думал педаль на фото подключить. Они ещё используются как ПБ в метро.
SquareRootOfZero
28.08.2023 05:01Я, помню, когда-то ходил в бассейн, где в душевой были кнопки в полу, включающие воду. Кнопка была металлическая, почти плоская, но чуть-чуть выступающая куполом наверх, а края заподлицо с полом. Можно было прям стоять на ней ногой, контролируя, что вот она, тут, и при этом никаких мискликов, но нажималась, при желании, легко и быстро. Вот что-то такое, мне кажется, было бы идеально для просто "кнопки в полу". А хардкорную промышленную педаль, думаю, имеет смысл, если уже хочется регистрировать степень нажатия.
MaFrance351
28.08.2023 05:01В бассейне больше запомнились кнопки в джакузи, включающие гидромассаж. Но там конструкция была чуть другая, металлическая крышка и в ней чуть утопленная резиновая кнопка. Хотя пальцем ноги нажимать вполне удобно.
А хардкорную промышленную педаль, думаю, имеет смысл, если уже хочется регистрировать степень нажатия.
Конкретно мой экземпляр — просто выключатель. В отличие, скажем, от педалей в троллейбусе, никаких промежуточных положений не имеет.
Arhammon
28.08.2023 05:01Наиболее простым решением видится установка 2х пружин - одна просто возвратная, вторая тугая входящая в зацепление за скажем миллиметр до срабатывания кнопки. Если буду делать, начну с поворотной педали ибо самый простой вариант, если будет не очень то в сторону "автомобильных" посмотрю. А будет скорее всего не очень, просто потому что поворотной конструкцией есть что прищемить итп.
Регистрация степени нажатия, электрически тоже не велика проблема, начиная элементарно с хорошего потенциометра. А механика опять же проблема.
Увесистое основание, если есть полости, элементарно делается бетоном.
Dr_Faksov
28.08.2023 05:01-2Я очень извиняюсь, но качество печати для "кнопки для принятия Очень Важных Решений" не то.
Если заявляете, что сделали "Феррари", то не надо его красить из баллончика с краской :)
ntitov007
Сгодится для отправки необдуманных писем, о которых можно пожалеть в последствии. А после нажатия, пока ещё работает световая индикация - таймер , отправку сообщения можно отменить.