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

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

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

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

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

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

    Поделиться публикацией
    Комментарии 62
      0
      черт, все больше хочется купить эту штуковину (:
        +13
        офигеть. Вот такие бы штуки(Arduino) в кружки моделирования и молодым пацанам никакие CS и Lineage нафиг не нужны были бы
          –11
          В топку линейдж, все продвинутые люди играют в УО ;)))
          На правах флуда ;)))

          А вообще тюнинг ништяковый, я, кстати, системник с ним видел в медиамаркте, своей собираемся его купить, ибо он розовый и со стразиками! )))

          • НЛО прилетело и опубликовало эту надпись здесь
              –2
              Неистово плюсую. Сейчас заново пройду HL2 (+ep1 +ep2) и снова за дело. Остался лишь ep2 :)
                0
                Что бы это понять сколько времени за ними провел? ;)))

                П.С: Непонятно за что сколько плювков в хс, может кто-нибудь еще и комментить будет? ;)
                • НЛО прилетело и опубликовало эту надпись здесь
            +42
            Нужно ещё наоборот, чтобы при изменениях в настройках двигались резисторы. ;-)
              +5
              Не стоит регулировать громкость программным регулятором. Так вы теряете в качестве звука. Громкость должна регулироваться аналоговым регулятором на предусилителе.
                0
                Но конечно сам опыт реализации подобного устройства может пригодиться для других целей и регулировок. Спасибо!
                • НЛО прилетело и опубликовало эту надпись здесь
                    +16
                    Цифровая регулировка громкости подразумевает пересчет сигнала. Динамический диапазон уменьшается, громкость сигнала уменьшается, а уровень шумов остается на прежнем уровне.
                      0
                      Это только в момент изменения громкости или все время? Получается программный регулятор лучше держать на минимальном уровне, а громкость держать через апп. усилитель?
                        +5
                        Все время. Программный регулятор лучше держать на максимальном уровне или где-то 80% от максимального. Т.е. 0 или минус 5-6dB.

                        Почему 80%, а не 100%. Дело в том, что во время работы ЦАП при некотором стечении обстоятельств может возникать клиппинг, т.е. выход цифровых отсчетов за пределы допустимых значений. А также операционные усилители зачастую при 0dB перегружаются и дают бОльший уровень искажений. Но в то же время в правильно спроектированных ЦАП и обвязке, такого происходить не должно.
                  +4
                  В любом случае будущие за скачком в мир аналоговых технологий.
                    0
                    А еще бы сделали регуляторы контраста яркости…
                    разгона видеокарты и процессора
                    и регулятор скорости времени для игор :)
                      0
                      Аналоговый контроллер SloMo в играх в виде колеса Pitch классно смотрелся бы…
                        +9
                        Возвращение кнопки «Turbo»? :)
                          0
                          Ждем в новинках нововведение «Turbo Reset» :)
                      • НЛО прилетело и опубликовало эту надпись здесь
                          +4
                          Эх… У меня уже давно мечта сделать много-много переключателей разных всё это подключить к компу и радоваться =) Только представьте: садитесь вы за комп, переключаете несколько тумблеров (так можо реализовать что-то типа пароля) и тыкаете большую красную кнопку и машина заводится :) Скорость вращения кулером можно было бы регулировать рычагом тяги с самолета например… Сделать пакетный переключатель для статусов в аське =) Громкость вот уже реализовали… Нет предела развитию идеи, всё ограничивается фантазией и свободным временем :)
                            –10
                            у меня дома такой же корпус процессора :)
                              • НЛО прилетело и опубликовало эту надпись здесь
                                  0
                                  Кто подразумевал? Подростки, домохозяйки и прочие малограмотные пользователи, когда не знали, что внутри этой металлической штуки находиться и считали, что вся эта большая штука из которой провода торчат — и есть процессор. Но в наше время, даже и они осведомлены, как выглядит микропроцессор и что внутри корпуса системного блока находятся еще и другие компоненты.
                                    0
                                    Из личного опыта — не все. Довольно много знаю людей, которым это совершенно филолетово — это процессор и точка.
                                    • НЛО прилетело и опубликовало эту надпись здесь
                                      0
                                      «Рекомендую посмотреть английский вариант. Там четко указано — не «процессор», а «микропроцессор»»

                                      А что в английском? en.wikipedia.org/wiki/Central_processing_unit
                                      «A central processing unit (CPU) or processor»
                                      • НЛО прилетело и опубликовало эту надпись здесь
                                          0
                                          И очевидно этот ящик содержит тоже самое, что системный блоr современного компьютера? Или все же он содержит прообраз того, что заключают сегодня в маленькие коробочки?
                                    0
                                    а корпус «телевизора» такой же? (:
                                    +1
                                    тю, у меня системник так вообще на полу… и что теперь каждый раз тянуться?
                                    на клаве удобней же *pardon*
                                    • НЛО прилетело и опубликовало эту надпись здесь
                                        0
                                        Аналоговые регуляторы истово православней кнопочек :) Тупо удобней, да и приятно что-нить подвигать/покрутить…
                                          0
                                          Хотелось именно регулятор в виде движка. Не ручки, которую вращать, и не кнопочек.
                                          Лично мне так как-то органичнее звук менять.
                                          0
                                          не уверен на счет удобно (уж больно мне нравится пульт от Лоджитека), но моддинг оригинальный, уж действительно постарался и хорошо проявил свои знания в электронике
                                            0
                                            Да! Громкость и яркость — вот этих аналоговых регуляторов очень не хватает на современных ПК и ноутах. Кнопки +- тыкать — совсем не то. Что на клавиатуре, что в интерфейсе.
                                              0
                                              есть же колонки с пультом :)
                                                0
                                                Не надо было хардкодить привязку к sndvol.exe, тогда еще что-нибудь можно было бы что-нибудь тем же железом делать.
                                                  0
                                                  Тут не понял. SndVol.exe — такой общеизвестной программы вроде нет.
                                                  Ну и само собой никаких привязок у меня ни к чему нет — если кто-нибудь возьмет исходники, то сможет сделать регулирование той же самой яркости, если есть какой-нибудь вменяемый интерфейс на это дело в ОС, или хотя бы в конкретном драйвере.
                                                  0
                                                  Музыка напомнила Losing My Religion.
                                                    0
                                                    Точно! Музыку так никто и не угадал :(
                                                    +2
                                                    Регулировку громкости, да и вообще чего угодно с помощью реостата можно сделать горздо проще.
                                                    Дело в том, что с незапамятных лет компьютереы оснащаются Game-портом, к кторому предполагалось подключать 2 джойстика или MIDI клавиатуру. Со временем все джойстики стали подключать через USB и про гейм-порт забыли. А ведь к нему можно просто подключить до 4-х реостатов (переменных резисторов) — это будут по 2 оси на каждый джойстик, и еще кажется 4 кнопки.
                                                    Тоесть схема получается очень простая, никакой сложной электроники, и программная часть элементарная — такое устройство распознается Windows как джойстик. Можно считывать показания, и устанавливать например громкость. Товарищ сделал таким образом контроллер для какой-то диджейской программы — реостатами регулировал громкость и скорость воспроизведения треков.
                                                      0
                                                      100% согласен — когда обдумывал пути решения, был и такой вариант — просто конкретная железка — это только пример. Я хотел бы, чтобы мои посты рассматривались как описание простых вещей, которые без особых сложностей реализуются на простых микроконтроллерах, на примере Freeduino/Arduino.
                                                        0
                                                        нехилый там «простой» микроконтроллер. Это же целая плата — сборка :) Еще и с USB выходом — в данном варианте.
                                                        Уж если хотелось просто — делать надо через гейм-порт :)
                                                        ( хотя, как я понимаю — это был просто демо проект на Arduino? )

                                                        У АТМЕГИ8 кстати 10 программных входов АЦП ( если правильно помню ) — можно до 10 регуляторов использовать.

                                                        P.S. кстати для того чтобы сделать возможность «обратной связи» — чтобы при изменении громокости двигались регуляторы — можно использовать пременники с моторчиком встроенным — такие есть, но это естественно не реостаты. Реостаты с мотором я не видел :)

                                                        P.P.S. А вопрос автору — насколько оправдано применение таких плат для простой схемотехники? Я имею ввиду если спаять STK200 или 300 + CodeVision + макетка + кварц + 3 кондера + AtMega8? вот в такой комплектации ( ИМХО для большинства поделок бОльшего не надо ) — по цене? или купить подобную сборку с тойже мегой у Arduino? Потому как паять для каждой сборки заново это мне уже надоело, но я не нашел простой платы в сборе с атмегой 8 в продаже — цену бы узнать. По тем деталям, что я написал стоимость платы с процом — рублей 120-150 ( зависит от того промышленная или обычная мега ) + 70рэ — STK.
                                                          0
                                                          :) ATmega168 конечно не самый простой микроконтроллер, но и далеко не самый серьезный.
                                                          АЦП у них (8/48/168) 6-ти канальный.
                                                          Проект именно для ардуино — движковый задатчик не обязательно для громкости же нужен. Может кто-то этой ардуиной будет задвижку какую-нибудь двигать — она ж не обязательно к компьютеру должна цепляться.

                                                          Насчет переменников со встроенным моторчиком — это было бы интересно — поищу такие в и-нете.

                                                          Применение такой платы для простой схемотехники IMHO оправдано — в том плане, что отладив какой-то проект на этой Arduino его можно будет перенести на самодельную плату из голой Atmega48 например, и мелкой обвязки вокруг нее.
                                                          Я вот, например частенько с ноутбука с ней работаю — там COM-порта нет, и мою первую самодельную Arduino к нему так просто не подключишь: можно тут ее посмотреть :)
                                                          … по цене самодельная конечно подешевле вышла :)
                                                            0
                                                            А я так понял что ардуино есть с атмега8? а сколько ориентировочно цена с SERIAL?
                                                              0
                                                              э… вроде с ATMEGA8 уже никто не делает, но bootloader есть и для нее, так что самодельную совместимую со стандартным софтом сделать никто не мешает.
                                                              Насчет Serial варианта — вот тут один хороший дядька продает набор для сборки за 900р.
                                                              На freeduino.ru готовый за 700 предлагают.
                                                              ...serial вариант я себе сам делал, а вот USB уже покупал за 900 на том же freeduino.ru
                                                        0
                                                        Не подскажите каких нибудь статей про этот вариант?
                                                          0
                                                          en.wikipedia.org/wiki/Game_port
                                                          вот распиновка геймпорта, там написано на какие пины надо вешать реостаты и какого номинала
                                                          подробных статей именно про регулировку громкости — не нашел, так что у вас есть шанс написать ее первому на хабре
                                                        0
                                                        а где этот Arduino можно заказать?
                                                          0
                                                          В москве можно — в этом блоге самая первая статья — там есть ссылки.
                                                          Но дешевле по моему с ebay.com — та мобычно в доставке WWW чтоит free shipping
                                                            0
                                                            В москве есть в Линукс-центре, и еще вроде где-то видел.
                                                            Сам я не с Москвы — заказывал две штуки на freeduino.ru
                                                              0
                                                              Я заказывал вот тут: www.seeedstudio.com
                                                              Доставка за 2 недели. Еще всякой молочевки много.
                                                                0
                                                                Купить кстати можно и www.neotoy.ru/category/arduino.html и там есть модуль EShield для подключения LAN, никто не использовал этот модуль?
                                                                  0
                                                                  Ага. Это такая же freeduino, как и я заказывал на freeduino.ru. И весь ассортимент там такой же. Похоже конторы как-то связаны.
                                                                  А Ethernet Shield я уже заказал на freeduino.ru — скоро прийдет, если чего интересного с ним сделаю — отпишусь.
                                                                    0
                                                                    Вот кстати две реализации pobot.ru/blog/arduino/, первая сделана какой-то самописный вариант, а вторая это webduino подобие веб-сервера для Ардуино
                                                                0
                                                                Схему в Eagle делали? Если да, то почему-бы не выложить sch?
                                                                  0
                                                                  Да что-то даже мысли такой не возникло :)
                                                                  Там же платы разведенной нет — одна схема, а схема такая, что проще словами описать «шесть делителей выведены на входы АЦП»
                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                    0
                                                                    Мне кажется или я достаточно давно уже где-то видел эти фотки?
                                                                      0
                                                                      Прошу прощения перепутал «похожие публикации» с «прямым эфиром»

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

                                                                    Самое читаемое