Добавить в корзинуПозвонить
Найти в Дзене
mysku.ru

Физический регулятор громкости для компьютера

Фактически все устройства воспроизведения музыки имеют возможность регулировки уровня громкости. На телефоне есть кнопки + и -, на колонках переменный резистор, автомагнитола регулируется энкодером итд. Но вот с компьютером незадача — для регулировки громкости нужно двигать мышкой в трей за системной громкостью или громкостью плеера. И это неудобно. Для решения этой задачи собрал некоторое устройство… Я решил, что проще и удобнее всего будет реализовать управление громкостью вращением рукоятки энкодера. В случае инкрементного энкодера, который я использовал, при вращении рукоятки получаем информацию о направлении вращения: по часовой стрелке или против. Сильно упрощая, при вращении на некоторый градус приходит сигнал, и так каждые N градусов. В моём случае каждые 18 градусов(энкодер имеет 20 импульсов на 360 градусов). Понятно и подробно про работу энкодера можно почитать здесь. Значение с энкодера будут передаваться на компьютер через arduino digispark — компактная вариация на тему
Оглавление

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

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

-2

В случае инкрементного энкодера, который я использовал, при вращении рукоятки получаем информацию о направлении вращения: по часовой стрелке или против. Сильно упрощая, при вращении на некоторый градус приходит сигнал, и так каждые N градусов. В моём случае каждые 18 градусов(энкодер имеет 20 импульсов на 360 градусов).

Понятно и подробно про работу энкодера можно почитать здесь. Значение с энкодера будут передаваться на компьютер через arduino digispark — компактная вариация на тему ардуино, где программатором выступает сам микроконтроллер atiny85. Фишка дигиспарка в том, что его можно запрограммировать как hid-устройство: после подключения к компьютеру он будет определяться как клавиатура/мышь/итд и не нужно ставить на компьютер дополнительные программы.

Помните шутку, про то, что любую вашу задумку уже в совершенстве реализовал какой нибудь азиат? В поисках ответов, как заставить работать мой велосипед я нашёл 5 вариантов сборки подобных устройств. А 2 из них — на той же элементной базе, что использовал и я. В итоге я просто скопировал код у ребят из adafruit, переподключил энкодер так, как рекомендуют это они и всё заработало! Сразу. Без танцев с бубном.

Но обо всём по порядку.

Железо

Берем Digispark, энкодер и подключаем согласно схеме из доков к библиотеке или моей зарисовке:

-3

2 верхних контакта энкодера — это кнопка(рукоятку можно не только крутить, но и нажать на неё). Один из них подключается к контакту P1, второй к 5V. Какой куда — без разницы.

3 нижних контакта — выход энкодера. Средний подключаем к GND, крайние к P0 и P2. Изначально я не планировал делать обзор, поэтому взял попавшийся под руки МГТФ....

-4

Прошивка...

Расширенная версия обзора доступна на сайте MYSKU.ru

Вывод

-5

Самое главное — устройство работает. Работает без задержек, без сбоев. На любом компьютере, с любой О.С.

При этом есть мысли по улучшению корпуса и добавлению дополнительных действий.

И как оказалось — всё весьма просто. Главное это идея, а реализация — вопрос десятый. Так что дерзайте)