USB регулятор громкости для ПК и не только

Здравствуйте, уважаемые читатели. Сегодня я расскажу, как я делал внешний регулятор громкости для компьютера. Устройство подключается к USB-порту компьютера, определяется как стандартное HID-устройство, драйвера устанавливать не нужно. При вращении ручки регулируется громкость, при нажатии происходит приглушение звука. За подробностями прошу под кат…

Предисловие

Девас был сделан чисто из спортивного интереса, просто захотелось сделать такую поделку. В основе устройства энкодер и Digispark — небольшая Arduino-совместимая платка от Digistump на базе микроконтроллера Attiny85. Есть платы c разъемом микро-USB, я использовал вариант с обычным разъемом USB типа А, ссылка:

Ну и выше названный инкрементальный энкодер с кнопкой, ссылка:

Схема устройства

Красный и зеленый провод это кнопка энкодера, замыкается при нажатии на ручку. Синий, черный и коричневый это выход энкодера для отслеживания вращения ручки.

Программная часть

Для работы устройства необходимо прошить микроконтроллер, я использовал готовое решение от Adafruit.

1. Первым делом нужно скачать драйвера для нашей платы Digispark — прямая ссылка

2. Устанавливаем Arduino IDE (я использовал версию 1.6.7) и добавляем ссылку для менеджера плат, в менеджере плат скачиваем «Digistump AVR Boards» и выбираем плату «Digispark (Default — 16.5mhz)». Подробная инструкция как это сделать в Digistump Wiki


3. Скачиваем библиотеку Adafruit-Trinket-USB. Из скачанного архива нам нужна папка «TrinketHidCombo», добавляем её в Arduino IDE — копируем в «C:\Program Files (x86)\Arduino\libraries».

Все готово для прошивки нашей платы, Digispark прошивается немного не так как остальные Arduino платы.
Открываем TrinketVolumeKnobPlus.ino, путь размещения — C:\Program Files (x86)\Arduino\libraries\TrinketHidCombo\examples\TrinketVolumeKnobPlus\
Нажимаем «Загрузка», скетч скомпилируется и появится приглашение для подключения Digispark:

Вставляем Digispark в USB порт и ожидаем завершения загрузки. По окончании через несколько секунд Digispark переподлючится уже как HID-устройство ввода.

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

В данном устройстве программное обеспечение эмулирует нажатие мультимедийных клавиш клавиатуры:
• уменьшить громкость, код:
TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_DOWN)
• увеличить громкость, код:
TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_UP)
• приглушение звука, код:
TrinketHidCombo.pressMultimediaKey(MMKEY_MUTE)
Теоретически можно эмулировать любые клавиши клавиатуры, список клавиш можно посмотреть в библиотеке TrinketHidCombo.h

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

Печатная плата и корпус

Решил сделать устройство в цилиндрическом корпусе с большой «крутилкой». Из массива бука выточил заготовку под корпус.

Такого же диаметра из алюминия выточил ручку для энкодера.

По размерам внутреннего диаметра деревяной заготовки нарисовал плату в Sprint-Layout
Ссылка для скачивания — тут

С помощью ЛУТ изготовил плату

Установил энкодер и разъём USB (выбрал USB типа B для надежности), у платки Digispark немного обрезал «разъем» и припаял ее к основной плате. К энкодеру подключил Digispark проводками.

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

В деревяном корпусе вырезал прямоугольное отверстие для разъёма USB типа B. Это оказалось самым трудоёмким процессом, корпус относительно мал, пришлось максимально аккуратно работать. После этого дерево обработал льняным маслом

Саморезами закрепил внутренности в корпусе

Энкодер немного «гулял» внутри корпуса, чтобы его зафиксировать изготовил из текстолита такую пластину

Пластина надевается на ось энкодера, фиксируется двумя гайками, её размеры точно по внутреннему диаметру корпуса. Теперь энкодер сидит как влитой

Осталось одеть большую алюминиевую «крутилку»

Демонстрация работы устройства


Вместо эпилога

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

Всем спасибо за внимание.
Добавить в избранное +267 +472
+
avatar
+25
Отлично! Теперь бы с блютусом.
+
avatar
+2
или с логитековским uniflying, или как его там. блютус-то не во всех стационарных компах есть…
+
avatar
  • walkman7
  • 18 сентября 2018, 11:44
+6
А разве Logitech Unifying это не проприетарная технология?
+
avatar
0
и кто помешает её раскопать и повторить? я до сих пор вспоминаю, как мы во времена ДОС днями сидели раскапывали как сетевые прерывания работают… потому что даже в interrupt list всего не было…
+
avatar
0
с логитековским uniflying
а смысл?)
+
avatar
+12
ну не в каждой мышке есть боковое колесо, да и отдельный настольный регулятор громкости — это красиво ;)
+
avatar
+8
А uniflying, наверное во всех есть…
+
avatar
0
у очень многих беспроводные мышки и клавиатуры. а с учетом того что у логитека цены в последнее время вполне демократичные (не на всё), а качество типично на порядок лучше китая — ну можно утверждать что у очень и очень многих. но блютус будет проще в реализации, наверно, потому что для unifying я сходу либ не нашел.
+
avatar
+5
Ну учитывая, что свои наиболее дешевые устройства Logitech не оснащает un-ing приемником- полагаю, что bluetooth все-же более распространенная на ПК технология.
+
avatar
  • iamjdoe
  • 21 сентября 2018, 06:24
0
Ещё бы они левый Shift в реальности делали таким, как на картинке с коробки…
+
avatar
  • Dzot
  • 08 декабря 2018, 06:35
0
Все мыши что не брал у них говно, ломаются
+
avatar
  • Kybb
  • 19 сентября 2018, 09:44
+5
Делал с BT, не удобно, т.к. зачастую надо переподключаться к устройству, ну и особенность BT, что подключение точка-точка.
Переделал на arduinoPRO(atmega32u4) с модифицированной библиотекой HID + WiFi ESP8266 + приложение под Android через AppInvertor, еще добавил ИК светодиод.
Так гораздо удобнее, т.к. устройство всегда готово принимать команды по сети, к тому же можно с любого браузера управлять(мне пригодилось только для отладки)

Функциональность:
— можно регулировать звук через приложение, можно через энкодер. Через энкодер не понравилось, то шаги пропускает, то пару шагов не в ту сторону пробегает. Там странная история описывать не буду.
— можно включать/выключать монитор по ИК каналу(предварительно надо считать код посылки от пульта для своей техники)
— добавил мультимедийные кнопки Prev, Next, Play/Pause в приложение. C Play/Pause всё плохо, т.к. для работы с youtube поставил расширение в Хром, если несколько вкладок с контентом что можно запустить, то при нажатии Play/Pause срабатывает сразу для всех вкладок. Надо переделать на пробел. Лень ))
Корпус на 3D принтере, одна из первых распечаток на свежесобранном принтере, посему по виду жуткое гуро.

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

А после того как увидел красоту автора поста, то моя поделка напоминает стаканчик от йогурта в который насыпали деталек и все обильно залили термоклеем, а в конце примотали usb-кабель лейкопластырем для пяток.
+
avatar
0
. Хотел выложить проект в открытый доступ, но всякие мелкие особенности моей реализации потребовали слишком много времени для доводки что бы повторить без проблем
Имхо лучше выложить, чем не выложить.
+
avatar
  • vitgo
  • 19 сентября 2018, 10:21
0
Согласен, думаю многим будет интересно.
+
avatar
  • Kybb
  • 19 сентября 2018, 12:13
+3
+
avatar
  • freehab
  • 19 сентября 2018, 11:35
0
Попрошу выложить) Интересна реализация. Я свою реализацию пытался делать, но ардуины попались паленые и ничего не вышло)
+
avatar
  • koalexx
  • 18 сентября 2018, 09:47
+2
симпатично! Мне понравилось +
+
avatar
  • akovn
  • 18 сентября 2018, 09:48
+2
Круто)
+
avatar
  • ACKET77
  • 18 сентября 2018, 09:50
+3
Супер, снимаю шляпу!
+
avatar
  • Um-ka
  • 18 сентября 2018, 09:50
+6
Просто взял либу и пример из нее и всё сразу взлетело? Круто!
5 за изготовление корпуса! А залить компаундом не вариант?
+
avatar
-1
Прикольная поделка, в машине не вижу применения( понятно дело, что можно в кармане таскать, что бы громкость на плеере уменьшать, но зачем), а вот у компа норм.
+
avatar
-2
чтобы убавлять, не надо не берешь
+
avatar
  • Diego182
  • 18 сентября 2018, 09:51
+9
Приятно посмотреть на изделие, особенно когда руки прямо заточены и могут сделать такое как на фабрике, даже симпатичнее. а если повторить, за $$$, сколько бы такое стоило?
+
avatar
  • 2013
  • 18 сентября 2018, 09:51
+1
«Прямые руки», светлая голова
+
avatar
  • CasmSar
  • 18 сентября 2018, 09:53
0
Не вижу смысла, кроме рукоблудия, когда есть Volume2
+
avatar
+6
Не вижу смысла, кроме рукоблудия, когда есть Volume2
«Windows 10, 8.1, 8, 7»
А я вижу смысл :)
Еще есть минимум Linux, MacOS, Android, iOS.
+
avatar
  • Cucumber
  • 19 сентября 2018, 20:27
+1
На линуксе без программ, по дефолту так работает
+
avatar
-2
кому как. тебя и не заставляют брать
+
avatar
  • irzyxa
  • 03 декабря 2021, 23:17
0
А я наоборот, рекомендовал бы Volume2 для такого регулятора, будет прекрасным визуальным дополнением.
+
avatar
+1
Красивый корпус.

p.s предрекаю картинку с троллейбусом :)
+
avatar
+5
Относительно простое и в то же время невероятно удобное приспособление, оданако. Вы молодец, продолжайте творить в том же духе :)
+
avatar
  • vitgo
  • 18 сентября 2018, 11:48
+13
Если успею закончить будет еще один проэкт в этом месяце. Там поделка немного сложнее.
+
avatar
  • freehab
  • 19 сентября 2018, 11:36
0
Можно поподробнее как сделана крутилка?
+
avatar
  • vitgo
  • 19 сентября 2018, 13:46
0
Ручка просто шайба, с другой стороны отверстие диаметром 6 мм
+
avatar
  • harusame
  • 16 октября 2020, 23:01
0
а как добавить пару кнопок для ввода паролей. к каждой кнопке по паролю.
+
avatar
  • wwest
  • 18 сентября 2018, 09:56
0
Офигеть! Ё
Это подарок любому, хоть сейчас в производство!
Вот только у меня к корпусу ДУ с пультом шло с люминисцентным дисплеем.Всё с пульта управляется, в том числе вкл. и выкл.ПК.
21 век вроде на дворе…
+
avatar
+10
Вам эти штуки надо ставить на поток и продавать)… а я бы ещё usb-c вместо разъема от принтера поставил, чтобы быть в тренде)))
+
avatar
  • astap76
  • 18 сентября 2018, 10:05
+6
Про поток согласен, я бы купил )).
+
avatar
  • fps
  • 18 сентября 2018, 17:36
+3
На поток — это соревноваться с китайцами на их поле. Бесполезно, у них всё равно дешевле выйдет.

Надо позиционировать как эксклюзивную дизайнерскую вещь ручной работы. Для аудиофилов, ценителей латуни и т.п. )
+
avatar
  • ventura
  • 18 сентября 2018, 18:54
+2
Бесполезно, у них всё равно дешевле выйдет.
Ага, скажите это китайцам. Я вот уже несколько лет периодически мониторю подобный девайс. Предложений совсем негусто, да и дешевле, чем баксов за 20 ещё не встречал. Притом корпус полностью пластиковый, т.е. стоит копейки.
+
avatar
  • vismyk
  • 18 сентября 2018, 19:31
+2
Таки проще сделать, однако. ;) Был уже тут обзор похожей самоделки, тоже на DigiSpark'е и была давно в комментах ссылка на девайс на PIC'е каком-то.
+
avatar
  • CuMr
  • 18 сентября 2018, 19:59
0
В комплекте с деревянной мышкой ))
+
avatar
0
мышкой, клавой, пультом, и приемник для всего этого богатства в эту хреновину впереть.
+
avatar
  • CuMr
  • 19 сентября 2018, 01:36
0
Я про это
+
avatar
0
ну там мужик маньяк реальный, в хорошем смысле этого слова. но китайцы уже производят и клавы и мыши в больших количествах, так что оно круто, но бесполезно уже.
+
avatar
  • CuMr
  • 19 сентября 2018, 13:09
-1
Яб сказал упоротый на
Надо позиционировать как эксклюзивную дизайнерскую вещь ручной работы. Для аудиофилов, ценителей латуни и т.п. )
+
avatar
+1
Вообще никакого разъёма не должно быть. жестко закреплённый провод и точка. Разъём в таком девайсе только на время отладки, а при эксплуатации на постоянном подключении это зло — контакты расшатываются, девайс начинает «летать» в системе и прочее, не говоря о возможности реально поломать разъём.
+
avatar
  • Yurio
  • 18 сентября 2018, 09:58
+1
Красиво. А почему разъем большой и «старый»? MicroUSB или Type-C явно аккуратнее выглядел бы.
+
avatar
  • fps
  • 18 сентября 2018, 10:40
+2
Тем более, что платы Digispark есть и вот в таком исполнении:

за те же деньги.
+
avatar
  • origamid
  • 18 сентября 2018, 10:49
+9
Потому что такой разъем более надежнее чем микро. И возможно только такой был в наличии))
+
avatar
+3
Я тоже не понимаю зачем стремиться к миниатюрности, когда достаточно места. На больших устройствах маленький разъем смотрится как дефект или дырка.
+
avatar
  • vitgo
  • 18 сентября 2018, 11:39
+12
Потому что такой разъем намного надежнее
+
avatar
  • Harwest
  • 18 сентября 2018, 12:39
+4
Можно было просто вывести из корпуса шнур с качественным кабелем Type-A, не?
+
avatar
+3
ОЧЕНЬ неправильное решение. прям вот совсем неправильное.
+
avatar
  • Harwest
  • 18 сентября 2018, 12:58
+2
Скажите это производителям проводных мышей :)
+
avatar
  • Eeyore
  • 18 сентября 2018, 18:00
+1
Стандарт УСБ предписывает неразьемные соединения для устройств на скорости УСБ1.0 и разьемные для 2.0 и выше.
+
avatar
0
то есть все USB1.0 устройства нужно каждый раз к материнке паять, да?
+
avatar
  • Eeyore
  • 18 сентября 2018, 22:56
+1
С другой стороны паять. Поэтому у всех клавиатур и мышей провода припаяны.
+
avatar
+1
нет, не припаяны. обычно как раз стоят разъемы. внутри. у нормальных производителей. у дешманского китая — припаяно, да.
+
avatar
  • Eeyore
  • 19 сентября 2018, 02:53
+1
Приятно встретить еще большего зануду, чем я сам.
+
avatar
+1
Да ладно :-)
Имел честь в свое время уничтожить кучу фирменных Майкрософтовых шарикомышей (еще COM-овских) — таки-даже в то время шнур к плате через разъем крепился
+
avatar
  • Eeyore
  • 19 сентября 2018, 06:17
-1
По-моему понятно, что я имел в виду отсутствие наружного разьема «мамы», а не как именно кабель присоединен к плате внутри девайса.
+
avatar
+1
Я понял так же, как и предыдущие товарищи.
+
avatar
  • Eeyore
  • 19 сентября 2018, 18:05
0
Ну тогда извиняюсь, что я непонятно выразился.
+
avatar
+2
Тогда — Вы сами себе противоречите.
Стандарт УСБ предписывает неразьемные соединения для устройств на скорости УСБ1.0 и разьемные для 2.0 и выше.
С другой стороны паять. Поэтому у всех клавиатур и мышей провода припаяны.
я имел в виду отсутствие наружного разьема «мамы», а не как именно кабель присоединен к плате внутри девайса
Куча USB3-хабов имеют паяные хвосты. Внешние диски, боксы под 2,5 диски, сканеры, картридеры. И много чего еще USB2 и USB3 — имеет паяный хвост…
+
avatar
  • Eeyore
  • 19 сентября 2018, 18:07
0
Китайские- запросто. У меня когда-то был док для айПода, он подключался кабелем с «папой» с двух сторон.
+
avatar
+1

На фото — «тыл» веб-камеры Microsoft LifeCam Cinema с интерфейсом USB2
А как всем известно — Майкрософт была одним из участников создания спецификации USB2.
Или — что положено Юпитеру Майкрософт-у — не положено китайцам? :-)
+
avatar
  • Eeyore
  • 19 сентября 2018, 19:24
0
Черт его знает, может быть я ошибся. Я прочитал об этом очень давно, но подробностей не помню. А камера вполне может работать на скорости USB1, при этом она будет совместима с портами USB2. Навалом мышей и клавиатур, на которых пишут USB2, хотя на контроллер в них- USB1.
+
avatar
0
Да нет — все верно, по стандарту положен съемный шнур.
Но по факту — на него положили болт с первых же дней :-)
И проблем от его отсутствия особых и нет
+
avatar
  • CKYHC
  • 21 сентября 2018, 11:30
0
вы извратили понятие.
а там внутре разъём…
и ОП, стандарт соблюдён.
+
avatar
0
Камера с USB1 будет обеспечивать 1-2 кадра в секунду на низком разрешении.
+
avatar
0
«Поэтому у всех клавиатур и мышей провода припаяны.»

не выкручивайся, не в военкомате ©. если стандарт предписывает паять — значит паять. а где будет разъемное соединение — начхать, если оно есть.
+
avatar
  • Eeyore
  • 19 сентября 2018, 18:06
0
Я имел в виду наружный разьем для пользователя, но, судя по всему, нечетко выразил свою мысль.
+
avatar
+1
Сменяемость шнура, например.
+
avatar
+1
и выбор его оптимальной длины. и цвета, кстати.
+
avatar
  • Harwest
  • 19 сентября 2018, 06:51
0
Про цвет согласен. Для поделки автора нужен полупрозрачный экранированный золотистый кабель :)
+
avatar
0
было бы идеально.
+
avatar
0
Серебристый лучше.
+
avatar
-2
спроси разрабов. ищи на таип си. гугл открыт
+
avatar
  • sir0ta
  • 18 сентября 2018, 17:31
+1
У меня этих мини и микро не так и много. А вот USB A-B килограммами.
+
avatar
+3
Круто, теперь надо сделать выносную крутилку колёсика мыши и клавиш клавиатуры, если ещё остались свободные usb порты и место на столе)
+
avatar
  • Dfcz22
  • 18 сентября 2018, 13:02
+5
Нет, теперь надо сделать дистанционное управление ручккой этого регулятора. :)
+
avatar
  • netkey
  • 18 сентября 2018, 10:07
+1
Отлично, тоже подумывал о подобном варианте! Наконец то расстанусь с клавиатурой logitech g15 с которой до сих пор из за удобной регулировки звука, и дисплея…
+
avatar
  • migel
  • 18 сентября 2018, 10:09
+1
Тоже такие сибирал, так пока на макетках и остались, платы с microUSB только брал, команду громкости дублировал, чтобы крутить меньше надо было)))
+
avatar
+7
Хачу. Продается?
+
avatar
  • sedoy287
  • 18 сентября 2018, 10:14
+1
Отлично! Ща китайцы слижут и ляпать начнут долларов по 30… А потом скажут, скажут- сами придумали…
Автору- моё рукопожатие и дальнейшего изобретательства… ЗдОрово! Спасибо.
+
avatar
  • Electron
  • 18 сентября 2018, 10:16
+4
Они выпускают такое ) только в железном корпусе, на ТаоБао цена где то 2000 рублей + доставка
+
avatar
  • Delanet
  • 18 сентября 2018, 10:23
+1
Вот если бы полностью из бамбука…
+
avatar
+13
авторский вариант мне лично на порядок более симпатичен…
+
avatar
+2
Powermate oт griffin уже больше 10 лет точно. Он и звук может регулировать и ещё кучу всего.

griffintechnology.com/powermate-usb-classic-aluminum
+
avatar
  • sir0ta
  • 18 сентября 2018, 17:33
+1
Он и звук может регулировать и ещё кучу всего
Так и тут не мешает ни кто дописать интерфейс. Плюс вместо той же тиньки взять что-то по больше и втулить туда гироскоп и прочее.
+
avatar
  • Eeyore
  • 18 сентября 2018, 18:02
0
Вот, как раз хотел написать. У меня такой был лет 15 назад. Стоил где-то $40. Из за кривых драйверов постоянно переставал работать.
+
avatar
  • ventura
  • 18 сентября 2018, 18:59
+2
Стоил где-то $40
Стоила «всего-лишь» $31.50 Вангую, что начинка за те же 4 бакса. То ли алюминий нынче такой дорогой, то ли «инновации».
+
avatar
  • REM1X
  • 18 сентября 2018, 10:15
-1
Было бы неплохо версию, чтобы не в винде звук менялся,
а для подключения наушников / гарнутур / колонок.
+
avatar
0
Респект! Давно мечтал о такой штуке, но руки дошли только до ушного усилителя вмонтированного в переднюю панель компа.
+
avatar
  • Djovani
  • 18 сентября 2018, 10:16
+4
С помощью ЛУТ изготовил плату
Странный ЛУТ. Я рейсфедером ровнее рисовал )))
Девайс конечно бесполезный (как для меня), но мега симпатишный!
Надо делать!

P.S. китайцы делают большую, плюшевую кнопку Enter и продают за бешеные деньги
ru.aliexpress.com/item/Creative-Hand-Pillows-USB-Big-Enter-Key-Computer-Large-Enter-key-Any-Vent-Pillows-Button-Desktop/32833927683.html
+
avatar
  • vitgo
  • 18 сентября 2018, 11:55
+4
Странный ЛУТ. Я рейсфедером ровнее рисовал )))
Сдвинулась бумажка когда нагревал утюгом.
+
avatar
0
кнопку Enter
продают за бешеные деньги
Имеют право — за Единственно Правильную J-Форму!)
[«им» подобная попытка последовать — считается:]
+
avatar
0
за Единственно Правильную J-Форму!)
Неправда ваша! Единственно правоверный энтер имеет форму перевёрнутой буквы L
+
avatar
  • RaJa
  • 26 сентября 2018, 19:59
0
Простите, а где там «бешеные деньги?» 8 долларов? А как вы думаете, сколько будет стоить такой регулятор громкости если вы закажете изготовление деревянного корпуса и алюминиевой ручки на ЧПУ станке?
+
avatar
  • Alex_74
  • 18 сентября 2018, 10:20
-1
Идея хорошая. Можно разработку использовать для передачи управления в платы типа малинки-апельсинки.

А так громкость лучше крутить аналоговым переменником на УНЧ
+
avatar
0
громкость лучше крутить аналоговым переменником
Именно-и-только-здесь есть (неиспользованная автором) возможность создать удобные лично вам пресеты ускорения-замедления, «магнитные» установки и даже ключевые паттерны для дополнительных функций
(надо лишь уложить всё это в оставшиеся неиспользованными 2к;)
+
avatar
  • rbskates
  • 18 сентября 2018, 10:26
+4
Шикарно! Делал такой же, но корпус печатал. Выглядит, конечно, не так великолепно.
Прототип
+
avatar
  • Nobeus
  • 18 сентября 2018, 10:31
+2
Золотые руки! Тихо завидую в тряпочку…
+
avatar
  • Dimoman
  • 18 сентября 2018, 10:34
+7
Ух ты! офигенная вещь, всегда хотел такую. А то ХЗ как громкость регулировать. Можно ещё Bluetooth?
Есть же в этом мире нормальные люди которые делают полезные вещи, а не выкладывают обзор на 1000-й китайский фонарик!
+
avatar
0
Кстати девайс работает также с андроид устройствами, у кого в автомобиле андроид магнитола, можно сделать для неё подобный выносной регулятор громкости.
Ооооо! Круто) Текущая магнитола с кнопками «больше» и «меньше» подбешивает, осталось обмозговать, куда засунуть такой регулятор. А usb разъем свободный вроде есть)
+
avatar
  • vovka36
  • 18 сентября 2018, 12:24
+1
Вот магнитола такое скорее всего не скушает.
+
avatar
  • CKYHC
  • 19 сентября 2018, 11:13
0
засунуть не проблема, начиная от крутилки под подлокотником, шайбой на центральной консоли как у БНВ, или мелкой крутилкой на спице руля.
+
avatar
  • ksiman
  • 18 сентября 2018, 10:41
+1
— После подключения регулятора к порту, через сколько секунд он начинает работать?
— При его подключении, соседние порты USB не сваливаются в режим USB 1.0, на котором регулятор работает?
+
avatar
  • vitgo
  • 18 сентября 2018, 10:49
0
Сразу
+
avatar
  • ksiman
  • 18 сентября 2018, 10:52
+1
Так он сначала загрузчик запускает, а потом прикидывается HID, потому и спрашиваю.
+
avatar
  • vitgo
  • 18 сентября 2018, 11:57
0
На андроиде первый раз когда подключаешь, задумывается секунду, последущие разы — сразу работает.
+
avatar
  • ksiman
  • 18 сентября 2018, 15:03
+2
Я тоже делал такой регулятор и он нифига сразу не работал :(
После подключения секунд 5 надо было ждать пока загрузчик отработает.
+
avatar
  • vitgo
  • 18 сентября 2018, 15:06
+3
Только что проверил на Windows, Вы правы, задержка где-то 2 секунды после подлючения
+
avatar
  • ksiman
  • 18 сентября 2018, 15:20
+2
задержка где-то 2 секунды после подлючения
Понятно, значит на новый контроллерах ставят прошивку с быстрым загрузчиком и это радует :)
+
avatar
+2
Самое красивое, кончено это сам регулятор и деревянный корпус.
тактильно, наверно, очень хорош.
Китайцы делают подобное в разных вариациях, но не так хорошо
Вещь эта очень удобная. У самого стоит регулятор звука от логитеч/крутилка — пластмассовый.
Поддерживаю тех, кто сказал, что эту весч можно поставить на мелкий поток и успешно продавать на заказ.
+
avatar
+9
Получилось отлично!

Тоже делал такое, но не люблю оверхэд, поэтому ваял сам на VUSB.

Режимы такие:
Крутилка влево/вправо — громкость, если крутануть резко — x3 шаг
Нажатие — выключение динамиков
Нажатие и удержание — громкость 50 процентов
Двойное нажатие — режим работы с музыкой,
в нем:

Крутилка — предыдущий / следующий трэк
Нажатие — играть / пауза
Двойное нажатие — выход в режим громкости

Стоит еще светик индикации режима.

50 процентов делал так — смотрел сколько шагов у громкости всего, делал их в минус, затем прибавлять их кол-во / 2
+
avatar
  • oscar_b
  • 18 сентября 2018, 13:20
0
Проектом не поделитесь?
Работает LMS на апельсинке. Было бы очень в тему.
+
avatar
0
Привет не поделитесь свои скетчем?
+
avatar
+3
Вах-вах-вах какой красивый! Однозначно на Кикстартер!
Немножко доработать, добавить подсветку, как у Edifier s2000v например:

Или лед подсветку внутри, что бы вечером не искать крутилку в темноте:
+
avatar
  • Delanet
  • 18 сентября 2018, 13:38
+2
Есть с более крутой подсветкой через Adafruit NeoPixel Ring: µVolume USB Media Control

+
avatar
+2
Красиво! Реально на поток ставь производство!))
+
avatar
-4
Еще замутить, что бы она нажималась.
+
avatar
0
она нажимается, енкодер с кнопкой, смотрите внимательней gif картинки, функция mute там.
+
avatar
  • sswa
  • 18 сентября 2018, 11:21
0
Вы статью то читали? Она нажимается!
+
avatar
+3
всю прочитал, на картинках просто залипал))) просмотрел.
+
avatar
+2
слепой я, пардон
+
avatar
  • Norco-77
  • 18 сентября 2018, 11:20
+1
Была у меня со студийными мониторами Genelec такая штучка, удобно блин)
+
avatar
0
Красиво! Дайош беспроводную! )
+
avatar
+2
Дайош беспроводную! )
Ага, питающуюся от излучений соседних WiFi роутеров. :)
+
avatar
-1
От беспроводной зарядки, вмонтированной в стол.
+
avatar
0
вмонтированной в стол.
Т.е. еще и мебель менять? :)
+
avatar
-2
Это я не для вас написал.
+
avatar
+3
питающуюся от излучений..
От энергичных нажатий на кнопку, конечно!)
+
avatar
  • infino
  • 18 сентября 2018, 11:27
0
Интересно применить Digispark как эмулятор мышки и кликатер, может есть готовые библиотеки?
+
avatar
  • Sanja
  • 18 сентября 2018, 11:32
0
его именно под это задумывали — в основном эмулировать разные HID-устройства. На классической платформе Ардуино аналог — это Arduino Leonardo, они в разы дороже.
+
avatar
  • infino
  • 18 сентября 2018, 11:40
0
Но пока я вижу одни решения как щелкать реле и светодиодами и ни одного решения по эмуляции клавиатур и мышей.
+
avatar
  • Sanja
  • 18 сентября 2018, 11:30
+1
Поделка красивая. Но если бы у меня был станок, я бы сделал так:

* выточил бы из бука грубо два цилиндра
* склеил бы их бутербродом, в середину бы всунул лист оргстекла (например, от коробочки CD)
* выточил бы финишный цилиндр, оргстекло бы при этом обточилось заподлицо с деревом и получило матовую поверхность

Таким образом, внутри можно было бы вставить светодиод (например, Neopixel) и играться цветовой индикацией. Свечение через тонкую прорезь смотрится очень стильно.
+
avatar
0
То, что вы описали (деревянную часть) можно без станка сделать.
+
avatar
  • skif31
  • 18 сентября 2018, 12:10
0
«Так вам ехать или шашечки?»
+
avatar
  • iLink
  • 18 сентября 2018, 11:31
0
Много лет существует решение подобной «крутилки» от tc electronic
www.tcelectronic.com/Categories/Tcelectronic/Computer-Audio/Accessories/LEVEL-PILOT/p/P0D71

Очень просто и профессионально-надежно. Пользуюсь больше 10 лет.
+
avatar
  • romxx
  • 18 сентября 2018, 12:05
+2
Стоит, поди, баксов 200, не меньше. В профаудио за меньше чем за 99 долларов даже в носу не ковыряются.
Я уж не говорю, про то, что делать с XLR на столе у компьютера.
+
avatar
  • iLink
  • 18 сентября 2018, 12:12
0
Стоит, поди, баксов 200
Менее ста, помнится…

Я уж не говорю, про то, что делать с XLR на столе у компьютера.
Работать, если это работа. Или серьезное хобби. :)
+
avatar
  • IGeras
  • 19 сентября 2018, 18:35
0
В Музторге распродажа, отдают всего за 8 900 рублей, налетай!
+
avatar
  • Sylar
  • 18 сентября 2018, 11:35
0
Когда руки растут из правильного места :)
+
avatar
+1
Тут наличие вкуса — половина дела. Рукастых людей много.
+
avatar
  • Eremeev
  • 18 сентября 2018, 11:45
+1
Масса 3D моделей есть на сайте www.thingiverse.com/search?q=digispark+&dwh=815ba0bab454041 для желающих повторить, но при отсутствии токарного станка.
+
avatar
  • bahek29
  • 18 сентября 2018, 12:19
-1
крафт достойный уважения, где токарка? )) почему без литья? ))
+
avatar
  • Shummy
  • 18 сентября 2018, 12:23
0
Не встречал ли кто-то такого же девайса, для эмуляции скролла мыши? Нужно для управления шкалой приемника на RTL-SDR. Есть предложения от именитых брендов для программ монтажа видео, но там ценник конский.
+
avatar
  • vitgo
  • 18 сентября 2018, 12:31
0
В этом устройстве можно «повесить» энкодер на скрол.
+
avatar
  • Shummy
  • 18 сентября 2018, 12:34
0
Это все хорошо, но я из тех, кто купил бы готовое, ибо нечем делать корпус
Все аналогичные готовые устройства заточены под регулировку громкости, может есть вариант перепрошить назначение скролла?
+
avatar
  • vp7
  • 18 сентября 2018, 17:31
+1
Под Arduino (ATMega) есть библиотеки эмуляции HID мышки и клавиатуры.
Год назад покупал клавиатурную матрицу (6x6 или что-то вроде того) и на каждую кнопку вешал свой shotcut.

Название библиотеки не помню (могу поискать если нужно), но всё делалось буквально в пару кликов.
+
avatar
  • Harwest
  • 18 сентября 2018, 12:48
+1
А можно добавить еще 4 микрокнопки «крестом», люфта крутилки хватит нажать на кнопку без сработки кнопки энкодера?
Смысл — нажатием на край крутилки листать треки.
Ну или чисто программно: зажал вниз + провернул крутилку и Preview / Next track. Так даже лучше будет так как ориентироваться по сторонам цилиндра не надо.
+
avatar
  • KVI
  • 18 сентября 2018, 13:19
0
Тогда уж лучше приспособить энкодер от какой-нибудь автомагнитолы. Там и вращение, и нажатие, и качание.
+
avatar
  • Harwest
  • 18 сентября 2018, 13:34
0
Это специально искать надо.
А микрокнопок от мертвых ноутов — мешок.
+
avatar
  • ACKET77
  • 18 сентября 2018, 13:02
+1
Желательно было бы крутилку подвесить на собственный подшипник и подключить через гибкую муфту к энкодеру — так надежнее. Втулка энкодера как подшипник долго не проживет с такой большой рукояткой.
+
avatar
  • Harwest
  • 18 сентября 2018, 13:03
0
Проживет, рукоятка легкая и нагрузка осевая.
+
avatar
  • ACKET77
  • 18 сентября 2018, 13:06
0
Перекосы рукой никто не отменял, а плечо силы у рукоятки неслабое.
+
avatar
  • penzet
  • 18 сентября 2018, 13:24
+1
У Вас руки не из того места ростут в отличии от автора проекта?
+
avatar
  • gengroup
  • 18 сентября 2018, 13:06
0
ШИКАРНО!
Еслиб я мог мечтать о такой, то хотел-бы её пониже, и шнур без торчащего штекера… Обрезал, впаял, через дырочку вывел… ))
Но автору — мегаРЕСПЕКТ!
+
avatar
  • penzet
  • 18 сентября 2018, 13:24
0
Напомнило — labkit.ru/html/autocontrol?id=500
+
avatar
  • PitSmith
  • 18 сентября 2018, 13:28
+3
Несколько лет уже переодически искал такое. За вменяемые деньги не нашел.
Сложилось ощущение что кроме меня это нафиг никому не нужно.
+
avatar
  • penzet
  • 18 сентября 2018, 13:30
0
вменяемые деньги

это сколько числом?
+
avatar
  • PitSmith
  • 18 сентября 2018, 13:53
+1
Рублей 300 максимум
+
avatar
  • bahek29
  • 18 сентября 2018, 20:08
0
если дерево и металл, а не галимый пластик, то даже 500 можно
+
avatar
0
На авито попадались рублей по 500.
+
avatar
  • sinobi
  • 18 сентября 2018, 13:31
0
Такую же крутилку можно сделать для usb RTL-SDR приемника, для плавной прокрутки диапазона приема…
+
avatar
0
А колесом мыши не плавно получается? В sdrsharp шаг уменьшите и будет ок
+
avatar
  • sinobi
  • 18 сентября 2018, 14:44
0
Смысл в том, что вместо мышки такой девайс как валкодер, приятнее чем колесо крутить у мышки.Где т видел, что можно еще и кнопки сделать горячие.Типа панели получается можно на старом ноуте типа цифрового сканера сделать, заточив чист под шарп
+
avatar
0
Ну эт да
+
avatar
0
для плавной прокрутки диапазона
Просто плавной — совершенно не интересно!)
+
avatar
  • wanhoop
  • 18 сентября 2018, 13:44
0
есть такая прога, unified remote, управляет различнымии функциями компа(управление громкостью плеерами браузерами итд) с телефона по wifi, дома ей пользуюсь, очень удобно
+
avatar
  • CuMr
  • 18 сентября 2018, 20:15
0
Хоть сам ей пользуюсь, но! Это надо дотянуться до телефона, открыть приложение (если это первый запуск — еще и пульт выбрать) или вытянуть шторку, и только потом можно регулировать. Гораздо удобнее и быстрее именно аппаратной крутилкой. Причем желательно чтобы эта крутилка была на клаве, как например у G11, G15, G110 и прочих с крутилкой на громкость.
+
avatar
  • dent
  • 18 сентября 2018, 13:48
0
Круто. А есть что-нибудь подобное готовое уже?
+
avatar
-3
есть гугл октрыт
+
avatar
+2
Всё уже было придумано лет 40 назад :) Этот древний пульт даже круче:
+
avatar
0
И USB тогда же придумали? ))
+
avatar
  • Kevolech
  • 18 сентября 2018, 13:51
0
Очень удобная штука! У меня такая идёт штатно с Микролабовскими колонками 2.1.
+
avatar
0
Ещё одна реализация, если кому то будет интересно

+
avatar
  • vkozloff
  • 18 сентября 2018, 15:43
0
При втыкании в комп распознается сразу или дижиспарковский бутстрап ждет 6 секунд?
+
avatar
  • vitgo
  • 18 сентября 2018, 15:47
0
Уже писал выше в комментариях, около 2 секунд
+
avatar
  • vkozloff
  • 18 сентября 2018, 15:57
+1
Ага, нашел. Можно конечно вообще без задержки сделать — в сети есть гайды как заменить бут на тринкетовский, но там шаманство с высоковольтным программированием, надо на отдельной ардуинке делать программатор для разблокировки бутлоадера. Хотя 2 секунды — вполне терпимо :)
+
avatar
0
Красивая, удобная и стильная вещица. Но, сдаётся мне, этот гигантский разъём перевешивает кнопку. Не зря на всех фото шнур вывешен. Если уж так важен надёжный контакт, нужно было без разъёма делать. Если буду сам повторять, учту.
+
avatar
  • GRU
  • 18 сентября 2018, 16:08
+7
вообще такая штука давно существует PowerMate USB называется, правда похоже снята с производства,


но есть PowerMate Bluetooth

+
avatar
  • Harwest
  • 18 сентября 2018, 17:31
0
Ссылка кривая
+
avatar
  • GRU
  • 18 сентября 2018, 18:50
+2
минус то за что? у меня работает

griffintechnology.com/products/audio/powermate-bluetooth
+
avatar
  • Harwest
  • 18 сентября 2018, 18:58
+2
Не мой минус. Но поправил.
+
avatar
  • GRU
  • 18 сентября 2018, 19:11
0
спасибо
+
avatar
  • Harwest
  • 19 сентября 2018, 06:54
0
$60 o_O
out of stock
+
avatar
  • PitSmith
  • 18 сентября 2018, 20:01
+1
цена неадекватная
+
avatar
  • sir0ta
  • 18 сентября 2018, 17:34
0
Спасибо огромное! Обязательно повторю!
комментарий скрыт

+
avatar
  • CKYHC
  • 18 сентября 2018, 20:28
0
что это?
нет не так, ЧТО ЭТО???

вы лилипут с маленькими ручками?
+
avatar
0
А ему не крутить
+
avatar
  • Boriz
  • 19 сентября 2018, 04:51
0
что это?
Ни чего удивительного, что не знаете. Ведь столько сил тратите на комментарии. Вы не романтик — это точно ))).
+
avatar
  • CKYHC
  • 19 сентября 2018, 11:09
0
вы олигофрению и озабоченность не путайте с романтикой.

то что выше лечить нужно.
мало того скобочек наставили а шутку юмора не увидели…
может быть вы и «романтик» но вот что-то мне подсказывает что диагноз ещё и ваш.
+
avatar
  • CKYHC
  • 18 сентября 2018, 20:34
+2
круто, красиво, а знаете почему такое не продаётся? потому что не нужно особо никому.
вот сейчас сижу и думаю — давно хочется на пару-тройку каналов регулятор громкости и мьютить некоторые каналы + микрофон.
причём чтобы потоки брались из разных приложений — такое вытащить наружу нереально практически, и нужен полноценный микшерский пульт…
но понимаю что такое решение скорее есть, стоит правда скорее всего не одну сотню денег, и по правде, такое решение нужно паре человек.
нет но реально красиво)

осталось ещё туда засунуть ЦАП и простенький усилитель для наушников… стоп… такое уже есть.
+
avatar
0
Хм…
Махнуть что ли в настольных бубнелках переменник на систему из обзора?
Задолбало каждые полгода-год их перепаивать :-)
+
avatar
0
При беглом взгляде показалось, что это баночка крема бесчисленной армии жены)) Пропорции и двуцветное решение этому весьма способствуют )) Наверное обзавелся бы таким устройством, но ИМХО углубление для пальца, как на фото заводских образцов, строго обязательно при таком энкодере, бывают ситуации когда не уследил за громкостью и звук бабахнул на полную, особенно часто это происходит, почем-то, когда ребенка только-только спать уложил)) В таком случае без углубления совершить быстро несколько оборотов проблематично… MUTE, конечно, поможет отчасти, но надо будет тянуться к другим регуляторам…
+
avatar
0
MUTE-то чем вдруг не устроил?

Куда тянуться? — жмякнул на колесико и все — а дальше хошь — регулируй громкость (в режиме mute она вполне себе регулируется), хошь — просто жмякни и все восстановится.

Никаких углублений нафиг не надо — их удел — микшерские пульты — т.к. там они постоянно в работе и крутятся одним пальцем из-за этого и служат указателем позиции, которой в случае как здесь (энкодер) попросту не существует.
+
avatar
  • dredivan
  • 19 сентября 2018, 10:31
0
Поделюсь своим опытом, мыши Rapoo MT750 боковым колесико не пользуюсь, через программу X-Mouse Button Control(простая, бесплатная, присутствует русский) переназначил значение боковой прокрутки на изменения уровня громкости. Вот официальный сайт программы www.highrez.co.uk/downloads/XMouseButtonControl.htm
+
avatar
  • CKYHC
  • 19 сентября 2018, 11:34
+1
vitgo, один момент который ИМХО не то что портит, а полностью переворачивает внешний вид и суть продукта.
это дебелый ЮСБ кабель.
обычный микро-ЮСБ, но в тканевой оболочке — а дальше хочешь коричневый, хочешь жёлтый, какой хочешь в общем…

по поводу разъёма и переламывающегося провода решение простое и элегантное:
так как художества у меня ещё те, то лучше под кат…
людям с тонкой душевной организаций вход запрещён!

тут надеюсь понятно что вид со стороны дна.

сразу три зайца минимум убивается
1. кабель подбирается нужной длины, от 20 см до 2 метров с приличным шагом 20, 50, 75, 100, 150, 200 см. нужного цвета/дизайна.
2. сзади не торчит блямбой огромный разъём который упирается во что-то и кабель который не гнётся не мешает и не стаскивает со стола.
3. переломить кабеля и выломать разъёма невозможно — разъём спрятан а из устройства выходит сразу кабель, который можно к тому же дополнительно защитить.
не пункт — но сильно компактнее получается устройство.
а ещё — такие кабеля есть у всех, и стоят обычно дешевле грязи.

P.S. я прекрасно понимаю преимущества Тип-B. но не в этом случае.
+
avatar
  • iamjdoe
  • 21 сентября 2018, 07:02
-2
Полностью согласен!
+
avatar
  • Sv2k
  • 19 сентября 2018, 16:41
0
Надо тоже как нибудь статью запилить… чорт, уже запилил жеж, на гиктаймсе…
Клавиатура
+
avatar
  • Qyix7z
  • 20 сентября 2018, 13:11
0
Здесь не было — значит не считается :)
А я оказывается уже читал Ваш пост на хабре, раз мне сейчас показывают часть каментов как новые.
+
avatar
  • AndyBig
  • 19 сентября 2018, 16:58
0
Отличная реализация полезной штуки, плюс обзору :)
Вот только разъем USB-B тут действительно великоват, лучше смотрелся бы USB-micro :)
+
avatar
  • Sv2k
  • 19 сентября 2018, 18:37
+2
Micro отваливаются только в путь, самый плохой из USB разъемов. Да и внутренности у него раздалбываются при частом подключении/отключении…
+
avatar
+1
Ну хоть тут уже задолбали про разъем — не в нем главное, справедливости ради — зачем его тут часто подключать / отключать в данном девайсе?
+
avatar
  • Boing
  • 20 сентября 2018, 02:53
0
тоже себе хочу! Но у меня дикая не ясная проблема, звуковуха USB на XMOS не хочет мютиться и менять громкость по горячим клавишам клавы и регуляторам Windows. Меняет громкость только из управления громкостью в медиа проигрывателях.
А было бы удобно.
+
avatar
+1
Очевидно, что она просто не является устройством по умолчанию в системе. У меня точно так же с двумя аудиокартами… одна встроенная другая дискретная, софт от дискретной… жмёшь кнопки крутишь крутилку — ноль эмоций а красиво как нарисовано… на деле оно регулирует громкость встроенной карты.
Нет, ну а собственно… а если у тебя 4 звуковых устройства в системе, чью громкость должен регулировать ОДИН регулятор? Все сразу? А если это не нужно пользователю, у него разное назначение каждой из карт…
+
avatar
  • Boing
  • 22 сентября 2018, 21:51
0
очевидно да не очевидно, всё выставлено как надо, ползунки ходят, но сам девайс громкость не меняет. Причем если тыкнуть и открыть микшер громкости приложений, и менять в левой колонке общую громкость девайса — общая громкость не меняется и не мютится, но если индивидуально у какого-то приложения изменить громкость — она поменяется. Хоть в самом приложении воспроизводящем звук поменять громкость, хоть в общем микшере у самого приложения изменить громкость.
+
avatar
0
Это сильно разные вещи. Там где регуляторы приложений это программная регулировка громкости, ещё до того как звук попадает в драйвер и темболее железку. а «общий уровень» это аппаратный регулятор, передаётся через драйвер в железку. И видимо идёт не туда ещё на уровне API.
+
avatar
  • Boing
  • 23 сентября 2018, 12:11
0
я понимаю что и почему не работает, но это вы решили про «Очевидно»))
+
avatar
  • mylltik
  • 21 сентября 2018, 10:34
0
Полезный девайс, хорошая задумка.
+
avatar
0
Думал, кстати, что на основной плате будет сам контроллер распаян. Но нет… какой мысл тогда в дополнительной плате, только энкодер держать? Уже б и всё остальное развел на плате избавившись от ненужного модуля.
+
avatar
0
Автор скажите, после перезагрузки данное устройство не требует переподключения? А то я собрал намедни такое, до вашей статьи, и мне после включения компа нужно переподключать дигиспарк. Спасибо!
+
avatar
  • vitgo
  • 22 сентября 2018, 15:12
0
Сейчас нет возможности проверить, в понедельник скажу
+
avatar
  • vitgo
  • 24 сентября 2018, 08:28
+1
Проверил, после включения или перезагрузки работает, переподключаться не нужно.
+
avatar
0
Спасибо! Буду разбираться.
+
avatar
0
А скажите, какая у вас система? Я ХР, 7, 10 пробовал. Все одно и то же. Не работает после выключения и перезагрузки. Даже опытные ардуинщики не помогли.
+
avatar
  • vitgo
  • 25 сентября 2018, 09:26
0
У меня Windows 7 x64
+
avatar
0
Перепробовал две платы разного исполнения. У кого-то выше в комментах тоже такая проблема. Но пока пути решения нет.
+
avatar
  • SerjNSK
  • 26 октября 2018, 00:14
0
Как вариант. В БИОСе возможно есть настройка, снимать или нет напряжение с усб разъемов при выключении/перезагрузке. Помните, бывает мышки светятся, хотя комп выключен как бы?
+
avatar
0
В БИОСе такой настройки точно нет, есть перемычки на материнке. У меня, к примеру, так кардридер выделывается — если снимать с него напряжение на время гибернации или сна он перестаёт работать пока не передёрнешь питание. Драйвер, видимо, не умеет восстанавливать внутреннее состояние устройства или синхронизировать своё состояние с железом или какой-то посредник этого не умеет.
+
avatar
0
В общем, все заработало само собой, даже после перезагрузки работает, но с платой как на фото. Плата как у автора не работает.Хотя заливал в них одно и то же.
+
avatar
0
В общем, обманул всех, работало с неделю, потом начались проблемы проблемы с компом, пишет «сбой запроса дискриптора устройства» в диспетчере устройств. Может, изначально, оно сразу так и было. Пока пути решения не нашел, интернет-советы не помогли.
+
avatar
  • Harwest
  • 08 ноября 2018, 20:41
0
О! Заказал такую же для мм контроллера, только в отличие от автора темы я ещё добавил три аппаратных кнопки: FF, Play-Pause и Rev
+
avatar
0
Это хорошо. Но для этого у меня есть пульт.))) Но был бы не против, если поделитесь идеей.
+
avatar
  • Harwest
  • 10 ноября 2018, 15:44
0
Идея собственно не моя, на Дигиспарк есть ещё три порта, соответственно подправляешь ino файл и все.
Только я пилю наклонную панель под углом примерно 30 градусов к поверхности стола. На ней в верхней части диск энкодера высотой 5мм, а в нижней части три кнопки в ряд: назад, плей-пауза и вперёд.
+
avatar
0
Решил вопрос другим способом. Так как сей девайс расположен в системнике, а на борту Digispark имеется стаб на 5 вольт и вход на него отдельным пином, то подал питание с 12 вольтовой линии. При перезагрузке и прочем, 12 вольт с блока пропадает и появляется, тем самым «сбрасывая Digispark». Но на другом новом компе проблема нестабильности осталась.
+
avatar
  • Harwest
  • 11 ноября 2018, 20:03
0
Что? Пропадает питание +12 при перезагрузке?!
+
avatar
0
Прошу прощения за ложную информацию. При выключении компа, 12 вольт пропадает, а дежурка 5 вольт остаётся.Ну я и думал что это будет выходом из ситуации. Но проработав дней 5 опять появилась ошибка «сбой запроса дискриптора устройства». Так что война продолжается. Что интересно, на другом компе тоже работает нестабильно. Один человек писал, что ресет не прописан в прошивке. Но я больше по железу, а не по Ардуино.
+
avatar
  • kurtic
  • 26 сентября 2018, 14:23
-1
что только не сделают, лишь бы не покупать клавиатуру с нужными кнопками.
+
avatar
0
Не поверишь. Таких клавиатур практически нет! Или дизайн угробищный, но кнопки есть либо дизайн нормальный, нужные функции и раскладка есть НО НЕТ КНОПОК либо они совмещены с функциональными и вызываются через модификатор, что требует две свободные руки.
+
avatar
  • kurtic
  • 29 сентября 2018, 16:00
0
Genius SlimStar i220 уже несколько лет остается мои идеалом.
+
avatar
0
Она полноформатная, слишком широкая. Есть вариант укороченной по подобию ноутбучных с полноценным цифровым блоком.
+
avatar
  • kurtic
  • 30 сентября 2018, 12:35
0
Я огрызки не люблю. в таком случае вам Rii нужна.
+
avatar
0
Так она полноценная, только клавиши скомпонованы более рационально и отсутствует пустое пространство.
+
avatar
0
А если платку Digispark сунуть в простенький корпус (например, от дохлых флэшки или кардридера) и втыкать в комповый USB, от него — кабель к энкодеру? Одним сочленением меньше и плату не надо делать. Или 1 метр кабеля между платой и энкодером критичен?
+
avatar
  • sir0ta
  • 13 ноября 2018, 14:55
0
Скорее всего будет ловить наводки.
+
avatar
0
Наводки на цифру? На клаву или мышку наводок нет, а на тиньку будут?
+
avatar
  • sir0ta
  • 17 ноября 2018, 12:50
0
Наводки на сигнальный кабель на энкодер.
+
avatar
0
А он там что, аналоговый? Импульсный сигнал с амплитудой практически равной напряжению питания.
+
avatar
0
Энкодер это кнопка, там нет устойчивого цифрового сигнала. когда контакт разомкнут — он ловит помехи только так. Поэтому, как минимум первичную схему надо расположить возле энкодера — подтягивающий резистор и логику, уже с выхода повторителя/инвертора сигнал передавать по длинному проводу будет гораздо надёжнее.
+
avatar
0
На плоском кабеле без экрана длиной 1 м работает нормально.
+
avatar
  • sir0ta
  • 03 декабря 2018, 08:16
0
В том же 3д принтере (как пример) частенько народ занимается экранирванием. Лично у меня энкодер работал не адекватно и местами сам прыгал.
+
avatar
0
Это он у тебя работает пока помех нет.
Они такие коварные бывают, провода длинные разомкнутыми держать не стоит — в грозу там наводится ток, который в отсутствие сопротивления переходит в напряжение и когда пробъёт на соседний провод… пипец будет. У меня на 5 метрах собралось столько энергии что микросхему разломило пополам, а до неё было ещё защиты из двух стабилитронов, которые не успели.
+
avatar
  • Alex_74
  • 21 октября 2018, 18:11
0
m.ru.aliexpress.com/item/32856636893.html аналог китайский
+
avatar
  • lepidot
  • 02 ноября 2018, 21:37
0
Пока читал, запаял на проводках, залил, все работает тут же. Digispark плата с USB. На компе Ubuntu стоит. Без всяких дров само собой пустилось. Приколько, спасибо автору.
+
avatar
  • sir0ta
  • 13 ноября 2018, 14:54
0
Без всяких дров само собой пустилось
Потому что они уже были в системе. бубунта тут не при чем. Не было бы их. ни чего не взлетело.
+
avatar
  • sir0ta
  • 14 ноября 2018, 12:46
0
Ух… приехали мои тиньки )

Пластик остатки, переэкструзия была по первому слою, посему ручка не очень (дальше убавил), а на верхний корпус вообще закончилась нить, т.е. немного стенки не доходят до своего логического завершения. Ну и ладно, как тестовый вариант за глаза. Отверстия под световод залито соплями. Хвост от мышки припаян к USB A контактам. Надо думать что-то из липкого не дно и надо утяжелять. Сильно утяжелять… Следующая версия будет из норм пластика и со всеми недоработками текущего ) Спасибо за наводку )
+
avatar
  • sir0ta
  • 19 ноября 2018, 08:34
+1
Сделал домой:
+
avatar
  • sir0ta
  • 19 ноября 2018, 20:10
0
А тема то на муське уже поднималась разок: mySKU.me/blog/diy/58627.html )))
+
avatar
  • AL_Kur
  • 06 декабря 2018, 01:45
0
Дырку под разъем надо бы пониже, чтоб кабель прямо на стол ложися, не перевешивал.
тут не обязательны ферритовые кольца.
+
avatar
  • beli3oo
  • 07 декабря 2018, 02:08
0
Спасибо за пост ищу подобную тштуку только чтоб использовать как отдельный скрол для монтажа видео, очень не хватает такой штуки
+
avatar
  • naykob
  • 15 января 2019, 22:41
0
Собрал себе нечто подобное на ардуино про микро. Максимально колхозно и с минимальным количеством инструмента. Всё это, по размеру, чуть больше сигаретной пачки. Громкость и мьют управляются тем же энкодером. Яркость подсветки меняется в зависимости от уровня громкости. . Прикрутил энкодер и вот такую клавиатуру(бывают на разное количество кнопок) к куску оргстекла. На один из пинов припаял ИК светодиод на другой светодиод подсветки. Клавиатура подключается всего одним проводом к аналоговому пину ардуино(а на еще один можно «повесить» еще одну такую клавиатуру), не считая питания конешно. Из функционала: Громкость и мьют на ПК. Включение и выключение телевизора. Переключение каналов телевизора (по сути тупо дублируем пульт от телика). Управление кондиционером. Управление люстрой в комнате(вообще можно управлять любой техникой дублируя её ИК пульт). Переключение вывода звука с колонок компа на телик и обратно(переключение между устройствами вывода звука). Изменение интервала времени для ухода компа в спящий режим. Кнопки можно запрограммировать на что угодно. Лишь бы хватило фантазии. По поводу «дерганья» энкодера. Нужно подбирать библиотеки. Не все они одинаковые. И да, кнопка мьют и регулировка громкости очень полезны для меня на работе. Комп стоит далеко от рабочего места а блютус колонка так та вообще посреди рабочего помещения и поверьте, вставать с рабочего места, идти к компу или еще того лучше идти до блютус-колонки что бы выключить звук и поговорить с коллегами, беспокоить сидящего за компом сотрудника дааа… Это же так удобно покрутить колёсиком мышки!!! А так, я не отрываясь от рабочего процесса ХРЕНЯК по энкодеру и музыки нет. Ушел начальник — Хреняк и радио опять включилось. Заиграл весёленький трек, крутанул вертелку и стало еще веселее. Так что буду делать мини версию для работы. Эта, как уже стало понятно, теперь живёт у меня дома. Металлические корпуса продаются например в «чипах» www.chipdip.ru/catalog-show/aluminum-cases. Там же и крутилок много. Надеюсь мой первый комент будет кому-то полезен как пример конструкции или идей для функционала. Есть еще видос с примером работы но я не блогер и стесняюсь)
+
avatar
  • 29oct
  • 31 марта 2019, 17:01
0
А как зависимость яркости от громкости реализована?
А то как я понимаю если прикинуться клавиатурой то можно эмулировать кнопки, а вот обратная связь.
Код или ссылку на инструкцию?)
+
avatar
  • naykob
  • 16 мая 2019, 12:34
0
+
avatar
0
Очень понравился блог! Очень понравилось объяснение! Поделка очень вкусно смотрится! А я в ноябре купил отличную магнитолку ATOTO A6 с кнопочными регуляторами громкости, из китая, и конечно, я вдохновлённый заказал с себе такую платку! Энкодер взял в коробке из гаража. Благо, всякого радиохлама у меня хватает). Проводок тоже не проблема. И вот, сделав всё как мне это виделось, залив програмку в сию приблуду, и проверив на системнике, ноуте и макбуке, на коих всё прекрасно функционировало, я довольный подключил к магнитоле! Но не тут-то было! При подключении, вверху высвечивается буковка «А», и ничего более! Сказать, что я разочарован — это мягко…
+
avatar
  • Ocupant
  • 13 апреля 2019, 21:32
0
Кто подскажет, возможно-ли использовать вместо энкодера джойстик? И как переделать скетч под него.
+
avatar
  • bron999
  • 20 апреля 2019, 17:43
0
Можно конечно.А лучше поставить такой энкодер уже с джойстиком (крутится, наклоняется в 4 стороны + центральная кнопка). Вот мой результат
+
avatar
0
А где такое чудо берется?
+
avatar
  • bron999
  • 06 сентября 2019, 19:49
+1
на алике брал aliexpress.com/item/33053923779.html
+
avatar
0
Спасибо. Надо будет взять для экспериментов :)
+
avatar
0
А на наклон — управление плеером?
У меня стойкое желание на таком джойстике сделать какой-то девайс для навигации в кад системе или каком Фотошопе. Но постоянно хочется или круто и с менюшками, или нафиг оно надо :( какой-то драйвер или софт писать придется что-ли…
+
avatar
  • bron999
  • 15 октября 2019, 20:31
0
да.Переключение видео на ютуб, перемотка.В скетче поддержка нажатий, удержаний, можно привязать комбинации клавиш
+
avatar
  • Klaus
  • 26 апреля 2020, 22:55
0
А там же больше пинов? Есть схема как подключить? И может скетчем поделитесь?
+
avatar
  • SF_124
  • 02 июля 2019, 13:53
0
Здравствуйте, кто-то может помочь? уже две digispark попробовал на двух разных компьютерах, не работает, всё по инструкции, драйвера, ссылка, менеджер и т.д. Если воспользоватся базовыми скетчами, например моргание светодиода, то всё работает, но скетч volumeknobplus не работает, нажимаю загрузить, показывает вставьте устройство, вставляю, но ничего больше не происходит, только один светодиод мограет, а второй непрерывно светит.
+
avatar
  • popt2t
  • 21 декабря 2019, 14:31
0
Всем привет. Решил повторить это устройство. Собрал для проверки на коленках, громкость регулируется, а вот отключение звука почему-то нет. То есть плата видит нажатие кнопки на энкодере, моргает светодиодом но звук не отключается. Система Win 10 x64. В чем может быть причина? Заранее спасибо.
+
avatar
  • popt2t
  • 21 декабря 2019, 15:21
0
Пробовал заменить событие MMKEY_MUTE на MMKEY_PLAYPAUSE никаких изменений, по нажатию кнопки только светодиод моргает.
+
avatar
  • popt2t
  • 21 декабря 2019, 23:59
0
Еще почему-то под Win 7 86/64 устройство не опознано. На 3-х машинах проверено. Под 10-й обеих архитектур все работает кроме сказанного выше. Может быть причина в среде компиляции скетча?
+
avatar
  • ascana
  • 31 января 2020, 10:23
0
Уважаемый автор статьи, спасибо Вам за эту статья. Сделал всё так, как Вы здесь описали. Работает. Но вот встал вопрос — а как теперь залить повторно уже модифицированный код?
+
avatar
  • zamig68
  • 29 февраля 2020, 23:20
0
Вопрос к автору. Можно ли изменить направление вращения энкодера. Чтобы по часовой увеличение громкости, а против часовой уменьшение?
+
avatar
  • zamig68
  • 02 марта 2020, 08:50
0
Ладно с этим разобрался. Еще хотелось чтобы один шаг изменения громкости на компе соответствовал например 3-5 щелчкам энкодера. Сейчас один щелчок энкодера соответствует одному шагу на компе.
+
avatar
0
В общем предпринял я попытки написать код для кнопок
т.е. взял от сюда и прикрутил вместо муты.
Писал для арды первый раз но должно сработать. Сама плата ещё в пути. Если есть ошибки, напишите или как сэмулировать Digispark ATTiny85 так как, чёт не нашёл. Кнопки я ещё поменяю (это так, для примера).
Дополнительная информация
// see tutorial at http://learn.adafruit.com/trinket-usb-volume-knob

#include "TrinketHidCombo.h"

#define PIN_ENCODER_A 0
#define PIN_ENCODER_B 2
#define TRINKET_PINx  PINB
#define BPIN 1
//Переменные кнопок
uint8_t AB = 0;
uint8_t ABOld = 0;
//Переключатель (ввозможно не надо пприсваивать 0)
uint8_t BT1 = 0;
//Переменные кодера
static uint8_t enc_prev_pos   = 0;
static uint8_t enc_flags      = 0;



void setup()
{
  // set pins as input with internal pull-up resistors enabled
  pinMode(PIN_ENCODER_A, INPUT);
  pinMode(PIN_ENCODER_B, INPUT);
  digitalWrite(PIN_ENCODER_A, HIGH);
  digitalWrite(PIN_ENCODER_B, HIGH);

  //Wait for a 30 second
  delay(30000);

  TrinketHidCombo.begin(); // start the USB device engine and enumerate

  // get an initial reading on the encoder pins
  if (digitalRead(PIN_ENCODER_A) == LOW) {
    enc_prev_pos |= (1 << 0);
  }
  if (digitalRead(PIN_ENCODER_B) == LOW) {
    enc_prev_pos |= (1 << 1);
  }
}

uint8_t GetAB() {                                           // Функция устраняющая дребезг
  static int   count;
  static int   oldKeyValue;                                 // Переменная для хранения предыдущего значения состояния кнопок
  static int   innerKeyValue;
  uint8_t actualKeyValue = (analogRead(BPIN) / 171);        // Получаем актуальное состояние
  if (innerKeyValue != actualKeyValue) {                    // Пришло значение отличное от предыдущего
    count = 0;                                              // Все обнуляем и начинаем считать заново
    innerKeyValue = actualKeyValue;                         // Запоминаем новое значение
  }
  else {
    count += 1;                                             // Увеличиваем счетчик
  }
  if ((count >= 10) && (actualKeyValue != oldKeyValue)) {   // Счетчик преодолел барьер, можно иницировать смену состояний
    oldKeyValue = actualKeyValue;                           // Присваиваем новое значение
  }
  return    oldKeyValue;
}

void loop()
{	
 AB = GetAB();            // читаем значение кнопки
  if (AB == 0) ABOld = 0; // все кнопки отпущены

  // клацнули какую то кнопку
  if (AB != ABOld) {
    // запоминаем значение кнопки
    ABOld = AB;

    
    if (BT1 == 0) { 
    if (AB == 1) BT1++;  //Переключатель
    if (AB == 2) TrinketHidCombo.pressMultimediaKey(MMKEY_MUTE);
    if (AB == 3) TrinketHidCombo.pressMultimediaKey(MMKEY_SCAN_NEXT_TRACK);
    if (AB == 4) TrinketHidCombo.pressMultimediaKey(MMKEY_SCAN_PREV_TRACK);
    if (AB == 5) TrinketHidCombo.pressMultimediaKey(MMKEY_PLAYPAUSE);
    }
    if (BT1 == 1) { 
    if (AB == 1) BT1++;  //Переключатель
    if (AB == 2) TrinketHidCombo.pressMultimediaKey(MMKEY_MUTE);
    if (AB == 3) TrinketHidCombo.pressMultimediaKey(MMKEY_SCAN_NEXT_TRACK);
    if (AB == 4) TrinketHidCombo.pressMultimediaKey(MMKEY_SCAN_PREV_TRACK);
    if (AB == 5) TrinketHidCombo.pressMultimediaKey(MMKEY_PLAYPAUSE);
    }
	}


 
  int8_t enc_action = 0; // 1 or -1 if moved, sign is direction

  // note: for better performance, the code will now use
  // direct port access techniques
  // http://www.arduino.cc/en/Reference/PortManipulation
  uint8_t enc_cur_pos = 0;
  // read in the encoder state first
  if (bit_is_clear(TRINKET_PINx, PIN_ENCODER_A)) {
    enc_cur_pos |= (1 << 0);
  }
  if (bit_is_clear(TRINKET_PINx, PIN_ENCODER_B)) {
    enc_cur_pos |= (1 << 1);
  }

  // if any rotation at all
  if (enc_cur_pos != enc_prev_pos)
  {
    if (enc_prev_pos == 0x00)
    {
      // this is the first edge
      if (enc_cur_pos == 0x01) {
        enc_flags |= (1 << 0);
      }
      else if (enc_cur_pos == 0x02) {
        enc_flags |= (1 << 1);
      }
    }

    if (enc_cur_pos == 0x03)
    {
      // this is when the encoder is in the middle of a "step"
      enc_flags |= (1 << 4);
    }
    else if (enc_cur_pos == 0x00)
    {
      // this is the final edge
      if (enc_prev_pos == 0x02) {
        enc_flags |= (1 << 2);
      }
      else if (enc_prev_pos == 0x01) {
        enc_flags |= (1 << 3);
      }

      // check the first and last edge
      // or maybe one edge is missing, if missing then require the middle state
      // this will reject bounces and false movements
      if (bit_is_set(enc_flags, 0) && (bit_is_set(enc_flags, 2) || bit_is_set(enc_flags, 4))) {
        enc_action = 1;
      }
      else if (bit_is_set(enc_flags, 2) && (bit_is_set(enc_flags, 0) || bit_is_set(enc_flags, 4))) {
        enc_action = 1;
      }
      else if (bit_is_set(enc_flags, 1) && (bit_is_set(enc_flags, 3) || bit_is_set(enc_flags, 4))) {
        enc_action = -1;
      }
      else if (bit_is_set(enc_flags, 3) && (bit_is_set(enc_flags, 1) || bit_is_set(enc_flags, 4))) {
        enc_action = -1;
      }

      enc_flags = 0; // reset for next time
    }
  }

  enc_prev_pos = enc_cur_pos;

//Переключатель
if (BT1 == 0) {

  if (enc_action > 0) {
    TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_UP);
  }
  else if (enc_action < 0) {
    TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_DOWN);
  }
  }
  if (BT1 == 1) {

  if (enc_action > 0) {
    TrinketHidCombo.pressMultimediaKey(KEYCODE_ARROW_RIGHT);
  }
  else if (enc_action < 0) {
    TrinketHidCombo.pressMultimediaKey(KEYCODE_ARROW_LEFT);
  }
  }
  TrinketHidCombo.poll(); // check if USB needs anything done
}
+
avatar
  • GTR
  • 24 ноября 2020, 08:51
0
Что за модель энкодера используется (ссылка не работает)? Какие вообще есть к нему требования?