Pull to refresh

Удобный регулятор громкости для ПК

Reading time1 min
Views27K
Arduino / Freeduino (в обычном — не Mega варианте) имеет 6 входов АЦП, позволяющих измерять значение напряжения (в диапазоне 0-5В). Скорострельность у него не шибко быстрая, поэтому цифровой осциллограф сделать не получится :). Зато у меня получилось сделать очень простой регулятор громкости для компьютера с тремя ползунками — отдельно Master, отдельно Wave, отдельно MIDI, и разместить его в 5" отсеке компьютера.
imageimage
Под катом небольшое описание, ссылки на исходники, видео, и конкурс «угадай мелодию» :)

Реализация проста как две копейки — собираем на переменных резисторах делители напряжения в нужном количестве. Сопротивления можно брать в широком диапазоне: от 470Ом до 500кОм и даже шире. Я в магазине нашел на 330к. Со стороны Arduino программа измеряет напряжение на входах, и если обнаруживает изменение, шлет новое значение вместе с номером канала в компьютер. Со стороны ПК программа открывает порт, и по приходу данных меняет громкость на соответствующей линии Вашей звуковой карты.

Как обычно выкладываю все исходники, а также бинарники, и схему (если ее так можно назвать :)).
Исходники + бинарники
схема :)
К программе есть небольшое описание.

Исходники старался писать простые и понятные. С регулированием громкости под виндами сам детально не разбирался — использовал чью-то библиотеку (еще давно, когда сам был фидошником, знал что такое ZMH, и регулярно посещал пойнтовки кто-то мне ее по нетмылу прислал).

И в завершение выкладываю небольшое видео с демонстрацией работы — здесь как-то случайно получился конкурс «угадай мелодию». Нужно угадать мелодию с 7 нот — приз, к сожалению не предусмотрен, но мне будет очень приятно, если среди хабралюдей найдутся люди с пересекающимися музыкальными вкусами.

Tags:
Hubs:
+59
Comments62

Articles