Есть идея поставить между телефонным аппаратом и трубкой Arduino. Контакты отвечающие за микрофон и за динамик я нашел, но к каким контактам Arduino их лучше подключить, чтобы сигнал идущий по ним можно было анализировать?
Громкость звуков поступающих с микрофона в телефон и из телефона в трубку. При этом, чтобы это не сильно отражалось на качестве телефонного разговора.
Я тоже так думал, но сомневался, переваривает ли он переменный ток. Еще бы придумать, как померить максимальное напряжение и ток которые могут идти по кабелю телефонной трубки. Чтобы не спалить ардуинку через этот аналоговый вход
Переменный ток, наверное, стоит выпрямить. Контроллер понимает только постоянный. Возможно, нужна развязка. Одним словом, нужно очень хорошо подумать над схемой. Не торопитесь, может, народ чего толкового подскажет, тут хватает спецов по любым вопросам.
Стесьняюсь спросить у топикастера А в итоге то что должно получится то? Для чего ардуина будет анализировать сигнал?
А поискать RX/TX по распиновке своей моделителефона, чтобы еще данными обмениваться, не пробовали? Например СМС с телефона получать, чтобы проанализировав текст выполнять команды на ардуинке.
Моя работа связана с очень частой работой по телефону. Я даже руководство уговорил купить мне гарнитуру. Но я до сих пор не доволен. Я люблю слушать музыку и аудиокниги. Поэтому хочу организовать такую девайсину, в которую я воткну гарнитуру, наушники, микрофон, плеер, телефон Cisco, и смогу спокойной работать. А она будет за меня переключать на телефон когда звонят или я говорю с кем-то в реальности. И возвращать обратно музыку, когда вокруг тишина. К сожалению, был завал и идея отложилась. Но сейчас выдалось время и я смог продумать более детально: HiFi Zvonilka - проект реализующий упрощение жизни музыкального офисного планктона. Суть девайса в том, что к нему подключается телефон и источник музыки ( плеер ), а выходят из нее наушники с микрофоном. В тот момент когда пользователь говорит по телефону работает связь телефон-наушники, когда разговор заканчивается, в наушниках опять появляется музыка. Коробка к которой подключаются: Плеер, киска, наушники, микрофон, гарнитура платроникс, (питание/батарейки). Условия работы: Вкл: Система сама обрабатывает наличие устройств и звуков на устройствах и на основе полученных данных уже сама выбирает текущие каналы ввода-вывода. Выкл: Жесткая связка : Киска - Платроникс Введем не совсем корректные определения. def: Каналы ввода - это киска и плеер. def: Каналы вывода: наушники, наушники гарнитуры, микрофон, микрофон гарнитуры. Каналы ввода кобинируются всегда работают парами. Возможные пары: Наушники, микрофон. (headphones,mike) Наушники, микрофон гарнитуры. (headphones,headset) Гарнитура (headset). Пара наушники гарнитуры + микрофон кажется глупой и не осмысленной. Итого получается, что у включенной системы в каждый момент времени есть следующий данные: Подключен ли плеер? (is_pleer_in) Подключены ли наушники? (is_headphones_in) Подключен ли микрофон? (is_mike_in) Подключена ли гарнитура? (is_headset_in) Есть ли звук в плеере? (is_music_on) Прошло ли t_music секунд с последнего звука в плеере? (is_music_timeout) Есть ли звук в микрофоне? (is_mike_on) Тут микрофоном называется и гарнитурный и отдельный одновременно Прошло ли t_input секунд с последнего звука в микрофоне? (is_mike_timeout) Есть ли звук в телефоне? (is_phone_on) Прошло ли t_phone секунд с последнего звука в телефоне? (is_phone_timeout) Какая пара вывода выбрана? (output_mode) Дальнейшая логика работы: // Проверяем корректность текущей пары ввывода на основе имеющихся устройств. switch( output_mode ) { case headphones, mike: if ( is_mike_in && is_headphones_in ) ; else if ( ! is_headphones_in ) output_mode = headset; else if ( ! is_mike_in ) output_mode = headphones, headset else output_mode = headset; break; case headphones, headset: if ( is_mike_in && is_headset_in ) ; else if ( ! is_headphones_in ) output_mode = headset; else if ( ! is_headset_in && is_mike_in ) output_mode = headphones, mike; else output_mode = headset; break; case headset: if ( is_headset_in ) ; else if ( ! is_headset_in && is_headphones_in && is_mike_in ) output_mode = headphones, mike; else output_mode = headset; break; } result_output = output_mode; // Пара вывода корректна теперь выберем канал ввода. if (! is_pleer_in ) result_input = phone; else { if ( is_mike_on || -- Есть звук на микрофоне ( ! is_mike_on && ! is_mike_timeout ) || -- Звука на микрофоне нет, но он был недавно ( is_phone_on ) || -- Есть звук в телефоне ( ! is_phone_on && ! is_phone_timeout ) || -- Звука в телефоне нет, но он был недавно ( ! is_music_on && is_music_timeout) ) -- Нет музыки достаточно давно. result_input = phone; else result_input = pleer; } Что из себя представляет: 1. 3 диода показывающие, какой режим вывода сейчас используется. 2. 3 тактовые кнопки для включения каждого из режимов. 3. 2 потенциометра - громкость плеера и громкость телефона 4. две тактовые кнопки (для увеличения/уменьшения порога срабатывания микрофона) 5. Разъем 3,5 мама для подключения плеера 6. Разъем 3,5 мама для наушников 7. Разъем 3,5 мама для микрофона 8. Разъем RJ-11 мама для гарнитуры 9. Разъем RJ-11 мама для киски 10. Кнопка включения. Я даже попытался схему нарисовать. Подскажите, все ли в ней правильно. И какие лучше реле/диоды для этого использовать? Спасибо!