Arduino

индекс
193,58

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

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

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

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

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

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

+59
2 мая 2009, 17:41
19

комментарии (62)

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

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

+1
Liksys #
В топку все. Игры — зло.

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

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

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

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

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

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

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

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

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

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