Как сделать регулятор громкости для компьютера

Обновлено: 04.07.2024

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

Поскольку оперативно регулировать громкость системного динамика нет необходимости (достаточно один раз отрегулировать ее по своему вкусу), то для этой цели можно использовать всего один резистор, включенный последовательно с динамиком (рис. 1.1). Его сопротивление следует подобрать в пределах 100. 1000 Om, мощность 0.25 или 0.5 W. При сопротивлении резистора 0. 100 Om громкость звучания динамика достаточно большая и практически не уменьшается.

При наличии некоторого свободного времени и желания, можно даже собрать небольшую схему, позволяющую время от времени изменять громкость системного динамика. Один из возможных вариантов показан на рис. 1.2. Особенность схемы состоит в том, что регулятор громкости подключен непосредственно к динамику, но это вполне оправдано, поскольку иного способа регулировки громкости в данном случае просто нет. Подобное включение используется в абонентских приемниках проводного вещания. Переменный резистор R2 должен принадлежать к группе C (логарифмическая зависимость) или A (линейная зависимость), его сопротивление должно находиться в пределах 1. 3.3 kOm, мощность 0.25 или 0.5 W.

Замечание 1. При проведении монтажных работ внутри корпуса компьютера следует быть осторожным, не допускать замыкания вновь создаваемых цепей на корпус (GND, общий провод) компьютера, а так же с другими цепями.
Замечание 2. Все сопротивления указаны для динамика с сопротивлением 8 Om. Для динамика с сопротивлением 4 Om разделите их на 2.

none Опубликована: 2010 г. 0 0


Вознаградить Я собрал 0 0


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

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


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

Понятно и подробно про работу энкодера можно почитать здесь.

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

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

Железо


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


Изночально я не планировал делать обзор, поэтому взял попавшийся под руки МГТФ.

Прошивка


Для начала с гитхаба digistump(разработчиков digispark) скачиваем Digistump.Drivers.zip из которого устанавливаем драйвера согласно разрядности вашей ОС(DPinst.exe или DPinst64.exe).
Затем ставим Arduino IDE и открываем его. Добавляем ссылку для менеджера плат, скачиваем в менеджере плат «Digistump AVR Boards» и выбираем плату. Как это сделать подробно и с гифками показано в вики digistump.
Теперь скачиваем библиотеку Adafruit-Trinket-USB (Прямая ссылка на скачивание) из которой копируем папку «TrinketHidCombo» в «C:\Program Files (x86)\Arduino\libraries»(или куда было установлено arduino ide).
Открываем эту самую папку «TrinketHidCombo», открываем подпапку «examples/TrinketVolumeKnobPlus» и в ней открываем файл «TrinketVolumeKnobPlus.ino».
Нажимаем «загрузка»(стрелка вперед), ждем пока скетч скомпилируется и появится приглашение для подключения дигиспарка:Только после этого подключаем наше устройство к компьютеру и ждем завершения загрузки.
Секунд через 5 дигиспарк «отвалится»(раздастся звук отключения устройства) и переподключится уже как hid-устройство ввода.

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

Как это работает

Если повернуть рукоятку энкодера, п.о. интерпретирует это как сигнал добавить или уменьшить громкость. Для этого средством библиотеки эмулируется нажатие мультимедийных кнопок клавиатуры «увеличить громкость» и «уменьшить громкость». А так же «mute».

Пара прыжков с бубном

Ибо до танцев не дотягивает.

С первого раза получилось немного не так как хотелось и регулировка работала наоборот(при вращении по часовой стрелке звук уменьшался). Решение было простым и банальным:
я заменил
на то есть поменял местами входные пины.

Потом я решил, что изменение громкости на 24% при полном обороте рукоятки — это слишком медленно. И я просто дублировал код, эмулирующий нажатие кнопок увеличения и уменьшения громкости:
было заменено на
А потом я подумал, что отдельная кнопка приглушения музыки музыки бесполезна — можно просто крутнуть регулировку влево. А вот возможность поставить музыку на паузу будет гораздо интереснее.
Для реализации этого, я заменил
на
Список возможных клавиш можно подсмотреть в файле «TrinketHidCombo/TrinketHidCombo.h».

Корпус


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

Идеи для доработки

Есть мысль реализовать переключение треков. Дополнительные кнопки добавлять не хочется, а вот с имеющейся можно поиграть. Первый возможный вариант — это как на телефонной гарнитуре: двойное нажатие — следующий трек, тройное — предыдущий. Второй вариант — нажать на рукоятку и повернуть: поворот по часовой стрелке — следующий трек, против часовой — предыдущий. Или вообще комбинированный вариант, когда по двойному/тройному нажатию будет переключение, а поворот с нажатием будет работать как перемотка вперед/назад. Я пока не решил как мне больше нравится, поэтому еще не реализовал ни один из вариантов.

Список покупок или элементная база

  1. 1. Arduino digispark — $1.25
  2. 2. Инкрементный энкодер с кнопкой — $0.99
  3. 3. Рукоятка — $3.99
  4. 4. Немного проводов, паяльник, припой, usb-провод, какой нибудь корпус — условно бесплатно
  5. 5. Более-менее прямые руки — бесценно

Вывод


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

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

В этом проекте мы создадим Ардуино-совместимый USB-регулировщик уровня громкости на контроллере Trinket от Адафруит и датчике угла поворота (крутилке) и схему регулятора громкости с энкодером. В конце мы напечатаем на 3D принтере корпус, заполним основу свинцовой дробью для придания веса и стабильности, а затем вырежем лазером акриловое основание.


Шаг 1: Необходимые детали


  • Adafruit Pro Trinket, 5V, 16MHz (удостоверьтесь, что взяли версию на 5V, а не 3.3V)
  • Датчик угла поворота (на фото крутилка со стержнем в виде буквы D, но в зависимости от кнопки, ваша крутилка может отличаться)
  • Около 60см 5жильного кабеля. Сплющите и залудите концы кабеля как показано на картинке

Шаг 2: Припаиваем Trinket к крутилке



Соедините Trinket с крутилкой следующим образом:

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

Шаг 3: Программируем Trinket



Trinket должна быть в режиме Bootloader, иначе она не сможет принимать код. При первом подключении к USB порту компьютера, зелёный диод загорится, а красный будет мигать в течение 10 секунд, а затем погаснет. В этом 10секундном промежутке Trinket будет находиться в нужном режиме. Также можно ввести Trinket в режим Bootloader в любое время, просто нажав кнопку на той части Trinket, которая находится с противоположной стороны от USB порта.

Шаг 4: Проверка крутилки

Шаг 5: Печать корпуса на 3D принтере







Шаг 6: Прикручиваем электронику



Установите Trinket в корпус, закрутите шурупы. Вставьте крутилку через отверстие сверху, оденьте плоскую шайбу, гайку и крепко закрутите.

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

Шаг 7: Добавляем девайсу вес



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

Шаг 8: Изготовление и установка нижней крышки





Шаг 9: Завершающий


Насадите на штырь крутилки 38мм кнопку. Кнопку, которую использовал я, вы можете найти здесь. Помните, что моя кнопка подходит для штырька D-образной формы. Если вы будете использовать крутилку с плоским штырьком, покупайте кнопку, подходящую для вас.

Теперь вы можете подключить USB кабель и дать компьютеру около 15 секунд на то, чтобы обнаружить девайс. Теперь вы готовы управлять громкостью!

Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.

При сборке DIY аудиоусилителя возникает вопрос: а как регулировать громкость? Самый простой вариант сдвоенный переменный резистор. Но сейчас же 21-й век. А как же не вставая с дивана или с использованием цифровых технологий.

Рассмотрим простые аналоговые и сложные цифровые решения. Все платы продаются на на Алиэкспресс. Там самый широкий ассортимент для тех, кто интересуется звуком. Все перечисленные варианты для применения в DIY аудио проектах.

Перечислим от простого к… интересному.

Переменный резистор ALPS RK27


Открывает подборку самый простой и надежный вариант — переменный резистор. Но не совсем простой, ALPS RK27 проверенный и качественный вариант для регулировки громкости.

Номиналы 10, 20, 50, 100, 250 и 500 кОм. Диаметр вала 6 мм, длина 25 мм. Разброс сопротивления по каналам минимальный.

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

Моторизованный регулятор громкости с селектором входов


Это, по сути, тоже аналоговое регулирование громкости переменным резистором, но функционал тут расширенный.

  • Пульт ДУ
  • Селектор трех входов на реле с управлением от энкодера
  • Экран
  • Моторизованная громкость
  • Приглушение звука «mute»

Экран (1602) показывает активный вход и уровень громкости.

Плата питается от 9 В 1 А переменного напряжения.

Моторизованный регулятор громкости с селектором без экрана


Другая версия моторизированного регулятора с пультом ДУ.

Отличие от предыдущей:

  • Удобный пульт
  • 4 входа сигнала
  • Нет экрана, светодиодная индикация входа
  • Есть вариант выбора входа кнопкой или энкодером

Шлейфы между блоками в комплекте.

Сопротивление переменного резистора типовое: 50K. Питание устройства 5-12 В переменного тока.

Релейный регулятор громкости


Это разновидность дискретного регулятора громкости. Точные резисторы (1%) тут переключаются восьмью реле, а переменный резистор непосредственно не связан с входным сигналом.

Плюсы такого решения:

  • Нет треска при регулировке
  • Независимые каналы
  • Нет разбаланса каналов
  • Можно разместить около входных разъемов, а регулятор вынести на переднюю панель

Размеры платы 86х72 мм, питание постоянным напряжением 5 В.

Плата предварительного усилителя на LC75342


Интересный вариант как для предварительного усилителя, так и для встраивания в усилитель мощности. Построен на чипе LC75342 от SANYO, он имеет темброблок.

  • Пульт ДУ
  • Селектор на 4 входа на реле
  • Экран и энкодер
  • 80 шагов регулировки громкости, шаг 1 Дб
  • Регулировка НЧ (±20 дБ), ВЧ (±10 дБ) и баланса
  • Приглушение звука
  • Память настроек

Питание: 12 В переменного напряжения.

Плата предварительного усилителя на PGA2311


Говоря о регулировки громкости, нельзя обойти стороной PGA2311. Регулятор на этой плате на заглавном фото в подборке.

Регулировка громкости от -95 дБ до +10 дБ с шагом 1 дБ. Усиление всего 31 дБ.

Тут так же: пульт, экран и селектор трех входов с управлением энкодером.

Микросхема хорошая, точная. Одно плохо — стало много подделок. Но поменять ее тут не проблема.

Питание платы: переменное напряжение 9-0-9 В 1 А.

Реализация PGA2311 от SURE


Качественная реализация предварительного усилителя на PGA2311 от Sure. Управление уровнем осуществляется энкодером на отдельной плате.

  • Регулировка: -95,5 до 10 дБ
  • Шаг: 1,5 дБ
  • THD+N: 0.0006%
  • С/Ш: 108 дБ

Питание платы: 12 В постоянно напряжения.

Продвинутый регулятор на MUSES72320


Завершает подборку навороченный вариант на MUSES72320. Аудиофильское качество.

В лоте есть несколько вариантов экрана, в том числе VFD и несколько вариантов питания.

Регулировка от 0 до -111.5 дБ с шагом 0.25 дБ. Разделение каналов: — 120 дБ.

Для бескомпромиссного DIY.

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

Читайте также: