|
Простой сетевой аудиоконтроллер
Статьи публикуются по мере поступления. Для упорядоченного тематического
поиска воспользуйтесь блоком "Карта сайта"
Мне понадобилась решить старую проблему: переключение между динамиками и наушниками на моем ПК без необходимости вставлять и возиться в гнездах с проводами .
Что вам понадобится
1x Arduino, оснащенный ATMEGA168 (или 328) с Ethernet
1x5V DPDT-реле.
1x BC337 NPN- транзистор .
1x 4.7K резистор.
1x диод 1N4001.
3x 3,5 мм гнезда для стереонаушников.
1x 3-контактный 0,1-контактный разъем.
Библиотека Webduino для среды разработки Arduino.
Эскиз NetAudioSw Arduino.
Чтобы лучше объяснить, как все сочетается, я решил сделать две принципиальные схемы (которые можно найти ниже). Первая схема ( рис. 1 ) показывает , как схема драйвера реле подключена к Arduino, а вторая схема (рис. 2 ) показывает, как один аудиовход и два выхода подключены к контактам реле.
Рис. 1: Цепь драйвера ретранслятора
Схема драйвера реле достаточно проста. Vcc (5v) взят из платы Arduino для питания схемы, а цифровой контакт ввода / вывода (контакт 4 используется в моем эскизе) от Arduino подключен к базе транзистора NP3N BC337 через резистор 4.7K. Обратите внимание, что вы не можете использовать контакты ввода / вывода Digital I / O 10,11,12 и 13, поскольку они используются Ethernet Shield. Диод 1N4001, подключенный параллельно через катушку реле, используется для защиты транзистора и Arduino от коротких импульсов высокого напряжения, когда реле активировано и деактивировано.
Рис. 2: Подключение аудио-выхода к ретранслятору
Оба вывода левого и правого канала входного аудиоразъема подключены к двум выводам, ближайшим к катушке реле. Выводы левого и правого канала (обозначенные L и R на схеме) соответственно разъемов выхода 1 и выхода 2 соединены с двумя оставшимися парами контактов реле, как показано на рисунке 2. Важно: в этой схеме должны использоваться отдельные площадки для питания и аудиовходов / выходов! Они обозначены на обеих диаграммах как «Аудио Земля» [Для аудиовходов и выходов] и «Заземление питания» [Для схемы драйвера реле].
Как это работает
Когда реле выключено (нет питания, или контакт управления реле на Arduino LOW), выход № 1 будет подключен к источнику аудиовхода. Когда реле находится в состоянии «Включено», контакт реле установлен в положение «HIGH», выход №2 будет подключен к источнику аудиосигнала.
Использование программного обеспечения
Эскиз NetAudioSw прост в использовании. Чтобы настроить его для собственных нужд, вам необходимо изменить следующие строки:
#define CTRL_PIN - определяет, какой цифровой контакт ввода / вывода используется для управления реле. По умолчанию установлено значение 4.
Static uint8_t mac [] - устанавливает MAC -адрес для Ethernet-экрана. Измените это, если оно конфликтует с MAC-адресами других устройств в вашей локальной сети.
Static uint8_t ip [] - устанавливает IP -адрес Ethernet-экрана. Измените это в соответствии с вашей собственной схемой адресации.
После того, как вы настроили его под свои нужды, просто введите IP-адрес, назначенный для Ethernet Shield, в свой веб-браузер.
Вы можете добавить суффикс /output1.html, чтобы переключиться на выход 1 и /output2.html на адрес для переключения на выход 2. Если вы просто введите IP-адрес Ethernet Shield без суффикса в свой браузер, вы получите страницу Со ссылками на оба URL. Лучше было бы пометить оба URL-адреса, чтобы вы могли переключаться между выходами одним щелчком. Эскиз также сохраняет последнее известное состояние реле в ЭСППЗУ. Таким образом, если Arduino теряет питание или сбрасывается, он восстановит реле до последнего известного состояния при запуске.
Я попытался сделать это как можно проще, поэтому я пропустил такие вещи, как индикаторные светодиоды и переключатель для переключения реле с платы Arduino.