Привет, Хабр! В этой статье хочу поделиться простым но интересным проектом в виде вот такой USB‑кнопки:

Зачем и для чего?

По приколу! При нажатии она посылает сигнал левой кнопки мыши и клавиши Enter, таким образом ее можно использовать например при покупках в интернете (навести курсор на «купить» и ударить по кнопке) или чтобы отправить важное сообщение (для этого используется Enter).

Примерно так, да
Как в меме
Как в меме

Что еще умеет?

Еще можно аппрувать pull‑request'ы, запускать приложения и вообще любое действие, которое можно сделать с помощью этих двух клавиш:). Кнопка проектировалась удароустойчивой, т. е. бить по ней можно со всей силы и кулаком, она не сломается. Также внутри есть круговая адресная светодиодная RGB лента с тремя режимами:

  1. Яркий красный свет всеми светодиодами — при нажатии

  2. Эффект загрузки (желтый светодиод бегает по кругу) — в течение 10 секунд после нажатия

  3. Эффект «дыхания» — кнопка начинает светиться случайными светодиодами и случайным цветом спустя 10 секунд после нажатия (как режим ожидания)

Видео работы

Инструкция по сборке

Для сборки понадобятся:

Все исходники (3д модели и код) находятся тут

Инструкция:

  1. Напечатать все детали — требуются подпорки, для крышки можно использовать динамическую толщину слоя

  2. Установить кнопку в нижнюю часть на термоклей

  3. Установить светодиоды, тоже на термоклей

  4. Припаять провод, кнопку и светодиодную панель к ардуино

  5. Прошить приложенным ардуино скетчем

  6. Приклеить крышку сверху к кнопке

  7. Готово!

Фото внутренностей
Штош, сверху она выглядит получше
Штош, сверху она выглядит получше
А вот 3д модели. Я к сожалению потерял файл проекта fusion 360, так бы показал красивые рендеры как она выглядит изнутри.
А вот 3д модели. Я к сожалению потерял файл проекта fusion 360, так бы показал красивые рендеры как она выглядит изнутри.

Недостатки конструкции и мои просчёты:

  1. Первый просчет довольно очевиден — несмотря на то, что светодиоды цветные, через красную крышку ВНЕЗАПНО поступает в основном красный цвет. Теоретически, если крышку сделать белой, то это будет неплохим светильником.

  2. Второе — из‑за особенностей конструкции крышка держится только за счет кнопки. Это не влияет на работоспособность, но из‑за этого она немного колеблется за счет люфтов в кнопке. Но зато итоговая толщина кнопки составляет всего 3 см!

Возможные доработки

  • Переделать модель чтобы убрать люфты

  • Сделать ее беспроводной

  • Напечатать белую крышку и сделать RGB лампу

На этом все. Прошло более трех лет с момента публикации прошлой статьи, и вот я решил вернуться в ряды писателей :)
Все ссылки на магазины приведены в качестве примера, автор не получает за них вознаграждение

Комментарии (19)


  1. ntitov007
    28.08.2023 05:01
    +3

    Сгодится для отправки необдуманных писем, о которых можно пожалеть в последствии. А после нажатия, пока ещё работает световая индикация - таймер , отправку сообщения можно отменить.


  1. drhouse
    28.08.2023 05:01
    +2

    Агутин не против? =)) (шутка)

    Еси серьезно, то спасибо. Интересный пост. Было бы время ...


  1. IvanPetrof
    28.08.2023 05:01
    +2

    Если нет принтера, можно найти стандартную кнопку с корпусом (гуглится "кнопочный пост")


    1. N1X
      28.08.2023 05:01

      "Кнопочный пост" все же несколько другое, из промышленного и поменьше размером. А это хорошо гуглится как "Аркадная кнопка"


      1. IvanPetrof
        28.08.2023 05:01

        Аркадная выглядит сильно гламурно. Так и хочется нажать. И кулаком по ней жалко лупить. То ли дело промышленный стандарт))

        Hidden text

        Сразу видно, что нажимать только в случае крайней необходимости. Мало ли что?...


  1. FirstEgo
    28.08.2023 05:01

    Если беспроводную, то можно в чемоданчике.


  1. SuperTEHb
    28.08.2023 05:01

    Точно Леонардо? Смотрю на фотографии, а она совсем другая.

    Так-то тут и диджиспарка хватило бы.


    1. Duke_nukeum Автор
      28.08.2023 05:01

      Моя плата просто сделана в формате дигиспарка, а камень на ней стоит как у леонардо -- Atmega32u4, и в системе она определяется как леонардо

      Не могу проверить, хватит ли дигиспарка, кажется у него RAM будет маловато, т.к. сейчас используется минимум 474 байта, а в дигиспарке есть только 512. Только если скетч оптимизировать, тогда хватит)


      1. SuperTEHb
        28.08.2023 05:01
        +1

        Тогда что же это за плата? В списке написано "ардуино Леонардо", я беру в магазине именно её, а потом собрать ничего не могу. Подстава получается.

        хватит ли дигиспарка

        Точно хватит. Проект будет совсем другой, на программной реализации USB, но в сети есть уйма примеров подобных занятных "клавиатур".

        Ещё порекомендую надеть на провод кусочек термоусадки. Так провод в месте выхода будет защищён от переламывания.


        1. Duke_nukeum Автор
          28.08.2023 05:01

          Спасибо, согласен, поправил в статье


        1. MaFrance351
          28.08.2023 05:01

          Вообще, если поставить прогу типа "Serial to keyboard", то возможно будет обойтись даже самым дешёвым клоном Nano на базе МК типа LGT.
          Пробовал, работоспособно...


  1. Arhammon
    28.08.2023 05:01

    Никак не могу добраться и сделать себе педали на 32u4, потому что вечно возникает ситуация руки чем-то заняты, а нажимать какую-нибудь кнопку надо - вот тут бы пригодились 2 или 3 педали, кому как привычнее.

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


    1. SquareRootOfZero
      28.08.2023 05:01

      У меня есть подключаемый по USB к компьютеру трёхпедальный моноблок, купленный на Амазоне у каких-то китайцев. Вот, казалось бы, какими-то мелкими механическими моментами создатели умудрились изгадить неплохую идею до практически полной неюзабельности. Изначально планировал приспособить под игры — ну, бывает, что какую-то необычную кнопку надо нажать нечасто, но когда надо, так уж надо, а промах и попадание в другую кнопку потере очередной жизни подобно — вот, думал, для каких-то таких действий должно отлично зайти. Хер там плавал. Ход у педали долгий, при том момент собственно регистрации нажатия на кнопку неясный. Пружина достаточно тугая, чтобы приходилось с некоторым усилием давить, но недостаточно тугая, чтобы на педали можно было постоянно и без напряжения держать ступню — значит, когда кнопка внезапно понадобится, придётся её нащупывать под столом ногой и херня выйдет. Наконец, сам блок педалей весьма лёгкий и от использования здорово елозит туда-сюда под столом, усугубляя предыдущий пункт. Для игр, в итоге, вообще не зашло, иногда использую, когда надо перепечатать фрагмент текста из видео, назначив на педали глобальные хоткеи паузы/перемотки, и то утомляет. Переделать бы на нормальные тугие кнопки с коротким ходом, встроенные в увесистое основание, да руки в этом плане из жопы растут...


      А в качестве джойстика видел в продаже девайс в виде пластиковой полусферы — кладётся под ноги плоской стороной вверх, наклоняешь её ногами. Думаю, если самому делать что-то подобное, можно попробовать старый смартфон туда приколхозить, чтобы показания датчиков наклона на комп отправлял.


      1. MaFrance351
        28.08.2023 05:01

        А, может, что-то околопромышленное туда вставить?
        Типа такого, например:



        Сам когда-то думал педаль на фото подключить. Они ещё используются как ПБ в метро.


        1. SquareRootOfZero
          28.08.2023 05:01

          Я, помню, когда-то ходил в бассейн, где в душевой были кнопки в полу, включающие воду. Кнопка была металлическая, почти плоская, но чуть-чуть выступающая куполом наверх, а края заподлицо с полом. Можно было прям стоять на ней ногой, контролируя, что вот она, тут, и при этом никаких мискликов, но нажималась, при желании, легко и быстро. Вот что-то такое, мне кажется, было бы идеально для просто "кнопки в полу". А хардкорную промышленную педаль, думаю, имеет смысл, если уже хочется регистрировать степень нажатия.


          1. MaFrance351
            28.08.2023 05:01

            В бассейне больше запомнились кнопки в джакузи, включающие гидромассаж. Но там конструкция была чуть другая, металлическая крышка и в ней чуть утопленная резиновая кнопка. Хотя пальцем ноги нажимать вполне удобно.


            А хардкорную промышленную педаль, думаю, имеет смысл, если уже хочется регистрировать степень нажатия.

            Конкретно мой экземпляр — просто выключатель. В отличие, скажем, от педалей в троллейбусе, никаких промежуточных положений не имеет.


      1. Arhammon
        28.08.2023 05:01

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

        Регистрация степени нажатия, электрически тоже не велика проблема, начиная элементарно с хорошего потенциометра. А механика опять же проблема.

        Увесистое основание, если есть полости, элементарно делается бетоном.


  1. Dr_Faksov
    28.08.2023 05:01
    -2

    Я очень извиняюсь, но качество печати для "кнопки для принятия Очень Важных Решений" не то.

    Если заявляете, что сделали "Феррари", то не надо его красить из баллончика с краской :)


  1. dragonnur
    28.08.2023 05:01

    Сирену ещё надоть :-)