- Настольный USB регулятор громкости для компьютера с энкодером
- Шаг 1: Необходимые детали
- Шаг 2: Припаиваем Trinket к крутилке
- Шаг 3: Программируем Trinket
- Шаг 4: Проверка крутилки
- Шаг 5: Печать корпуса на 3D принтере
- Шаг 6: Прикручиваем электронику
- Шаг 7: Добавляем девайсу вес
- Шаг 8: Изготовление и установка нижней крышки
- Шаг 9: Завершающий
- Подборка плат для регулировки громкости при сборке своего усилителя мощности
- Переменный резистор ALPS RK27
- Моторизованный регулятор громкости с селектором входов
- Моторизованный регулятор громкости с селектором без экрана
- Релейный регулятор громкости
- Плата предварительного усилителя на LC75342
- Плата предварительного усилителя на PGA2311
- Реализация PGA2311 от SURE
- Продвинутый регулятор на MUSES72320
- Физический регулятор громкости для компьютера
- Железо
- Прошивка
- Как это работает
- Пара прыжков с бубном
- Корпус
- Идеи для доработки
- Список покупок или элементная база
Настольный USB регулятор громкости для компьютера с энкодером
В этом проекте мы создадим Ардуино-совместимый USB-регулировщик уровня громкости на контроллере Trinket от Адафруит и датчике угла поворота (крутилке) и схему регулятора громкости с энкодером. В конце мы напечатаем на 3D принтере корпус, заполним основу свинцовой дробью для придания веса и стабильности, а затем вырежем лазером акриловое основание.
Код для Ардуино нуждается в использовании библиотек Adafruit Trinket, которые можно скачать здесь (потребуется конкретно библиотека «TrinketHidCombo»). Больше информации можно найти здесь. Код для Ардуино можно скачать здесь.
Шаг 1: Необходимые детали
- Adafruit Pro Trinket, 5V, 16MHz (удостоверьтесь, что взяли версию на 5V, а не 3.3V)
- Датчик угла поворота (на фото крутилка со стержнем в виде буквы D, но в зависимости от кнопки, ваша крутилка может отличаться)
- Около 60см 5жильного кабеля. Сплющите и залудите концы кабеля как показано на картинке
Пять 15саниметровых отрезков термоусадки диаметром 3,5 — 4 см
Шаг 2: Припаиваем Trinket к крутилке
У крутилки есть 5 пинов — три с одной стороны и две с другой. Два пина на одной стороне связаны с кнопкой, они замыкаются, когда стержень крутилки зажат и будут служить для отключения звука. Эти пины не имеют полярности, и не имеет значения, каким образом вы припаяете к ним провода. Три пина на другой стороне — сигнальные. Если вы повернёте крутилку стороной с тремя пинами к себе, а стержень будет указывать вверх, то левый пин будет сигналом » A», средний — землей, правый – сигналом «B». Это отражено на прикреплённой картинке.
Соедините Trinket с крутилкой следующим образом:
- Пин #0 на Trinket к сигналу «A» на крутилке.
- Пин #1 на Trinket к одному из пинов кнопки на крутилке.
- Пин #2 на Trinket к сигналу «B» на крутилке.
- Пин 5V на другой пин кнопки на крутилке.
- Пин GND на Trinket к земле на крутилке.
Перед спайкой удостоверьтесь, что термоусадка есть на каждом проводе и максимально полно закройте каждый провод после припайки. Основа будет заполнена свинцовой дробью и провода будут контактировать с металлом, поэтому их нужно изолировать максимально качественно.
Шаг 3: Программируем Trinket
Откройте ИДЕ Ардуино. Скачайте и установите библиотеки Adafruit Trinket, а также код для контроллера звука (ссылки в начале проекта). Установите тип платы на «Adafruit Trinket 16MHz», и Programmer на «USBtinyISP».
Trinket должна быть в режиме Bootloader, иначе она не сможет принимать код. При первом подключении к USB порту компьютера, зелёный диод загорится, а красный будет мигать в течение 10 секунд, а затем погаснет. В этом 10секундном промежутке Trinket будет находиться в нужном режиме. Также можно ввести Trinket в режим Bootloader в любое время, просто нажав кнопку на той части Trinket, которая находится с противоположной стороны от USB порта.
Я обнаружил, что у ИДЕ Ардуино уходит больше 10 секунд на то, чтобы скомпилировать, проверить и отправить код на плату. Поэтому следите за зеленым прогрессбаром в нижней части окна ИДЕ и нажимайте кнопку на Trinket только тогда, когда он доходит до середины. В приложенном видео виден нужный нам прогрессбар. Когда он доходит примерно до середины, я нажимаю кнопку reset на Trinket.
Trinket будет принимать код только в тех случаях, когда прогрессбар дойдёт до конца, а 10 секундный промежуток еще не завершится. Если красный диод непрерывно горит перед тем, как выключится, значит код принимается. Если режим Bootloader закончился, а приём кода не начался, то вы увидите в ИДЕ Ардуино сообщение об ошибке на оранжевом фоне, просто повторите всё заново.
Шаг 4: Проверка крутилки
После того, как программирование завершено и Trinket перезагрузится, у вас появится возможность управлять громкостью звука при помощи крутилки. Вращение по часовой стрелке увеличит громкость, обратное вращение должно уменьшить громкость. Нажатие на кнопку крутилки должно выключить звук. Если вдруг окажется, что вращение вызывает обратный эффект, значит сигналы «A» и «B» на вашей крутилке имеют обратный порядок. Для решения проблемы вы можете поменять местами провода на крутилке. Либо поменяйте местами определение пинов (0 и 2) на строках 3 и 4 в коде Ардуино, а затем заново прошейте Trinket. В видео, прикреплённом выше, вы можете убедиться, что крутилка действительно управляет громкостью звука на компьютере.
Шаг 5: Печать корпуса на 3D принтере
Файл для 3D печати можно скачать здесь. Квадратный блок снаружи корпуса нужен для поддержки модели при печати. Все блоки поддержки легко отделяются, единственный сложный участок — это поддерживающий материал под мостиком, который будет служить для крепления Trinket. Для того чтобы убрать его, я использую комбинацию из отвёртки, угловых пинцетов и плоскогубцев. Важно убрать этот блок, или, по крайней мере, вытащить максимально возможную его часть, так как это пространство дальше будет заполняться свинцовой дробью.
Шаг 6: Прикручиваем электронику
Установите Trinket в корпус, закрутите шурупы. Вставьте крутилку через отверстие сверху, оденьте плоскую шайбу, гайку и крепко закрутите.
Все отверстия напечатаны на 3D принтере. Базовые размеры для винтов 2-56. Используйте два винта 2-56 x 1/4″ для крепления задней части платы. Если вы хотите пакет из 100 винтов, их можно приобрести здесь.
В качестве альтернативы, если вы хотите купить только то, что необходимо для создания вашего проекта, то можно приобрести это здесь.
Шаг 7: Добавляем девайсу вес
Корпус заполним свинцовой дробью — это придаст веса и стабильности. У нас выйдет около 175 грамм. Это не даст нашему внешнему регулятору громкости скользить по столу, в то время как вы крутите кнопку.
Удостоверьтесь, что дробь не попала в полсть, куда устанавливается Trinket. Используйте пинцет, чтобы протолкнуть дробь под мостик, о котором писалось выше и заполнить всю нижнюю часть доверху. Проверьте, что дробь плотно заполняет все пространство, иначе наш девайс будет издавать звук маракаса во время тряски, но и не переборщите, ведь нам нужно, чтобы нижняя крышка плотно прилегала при монтаже.
Шаг 8: Изготовление и установка нижней крышки
Файл DXF для нижней крышки доступен на Thingiverse. Я вырезал его лазером из 3 мм акриловой пластины. Крышку можно прикрутить шурупами, либо просверлить в ней углубления и прикрутить винтами с плоской головкой. Завершите работу с крышкой наклеиванием четырёх резиновых ножек — это не даст девайсу скользить.
Шаг 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 усилитель решение на свой вкус и бюджет.
Источник
Физический регулятор громкости для компьютера
Энкодер — это датчик угла поворота. Их бывает два вида: абсолютные и относительные(инкрементные).
В случае инкрементного энкодера, который я использовал, при вращении рукоятки получаем информацию о направлении вращения: по часовой стрелке или против. Сильно упрощая, при вращении на некоторый градус приходит сигнал, и так каждые N градусов. В моём случае каждые 18 градусов(энкодер имеет 20 импульсов на 360 градусов).
Понятно и подробно про работу энкодера можно почитать здесь.
Значение с энкодера будут передаваться на компьютер через arduino digispark — компактная вариация на тему ардуино, где программатором выступает сам микроконтроллер atiny85. Фишка дигиспарка в том, что его можно запрограммировать как hid-устройство: после подключения к компьютеру он будет определяться как клавиатура/мышь/итд и не нужно ставить на компьютер дополнительные программы.
Помните шутку, про то, что любую вашу задумку уже в совершенстве реализовал какой нибудь азиат? В поисках ответов, как заставить работать мой велосипед я нашёл 5 вариантов сборки подобных устройств. А 2 из них — на той же элементной базе, что использовал и я. В итоге я просто скопировал код у ребят из adafruit, переподключил энкодер так, как рекомендуют это они и всё заработало! Сразу. Без танцев с бубном.
Но обо всём по порядку.
Железо
Прошивка
Для начала с гитхаба 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. Arduino digispark — $1.25
- 2. Инкрементный энкодер с кнопкой — $0.99
- 3. Рукоятка — $3.99
- 4. Немного проводов, паяльник, припой, usb-провод, какой нибудь корпус — условно бесплатно
- 5. Более-менее прямые руки — бесценно
Итого $6.23, при этом можно сэкономить на рукоятке, но можно хорошо потратиться на красивый корпус.
Источник