Подключить Arduino к телефонной линии?
Я хочу подключить Arduino Uno к телефонной линии, чтобы ответить на звонок, записать последовательность Тоны DTMF, генерировать в ответ тон DTMF и повесить трубку.
В телефонной линии используется стандартный разъем RJ11. Когда к линии подключается телефон с тоновым набором, он получает один из двух сигналов:
- стандартный звонок, сигнализирующий о входящем вызове
- более короткая последовательность из двух звонков, сигнализирующая о вызове с местного интеркома.
Я хочу, чтобы мой Arduino прослушивал последовательность «два звонка» и отвечал только на эти вызовы.
Как мне подключить Arduino к телефонной линии? Есть ли щит, предназначенный для этой цели? Я знаю, что могу использовать функцию tone()
для генерации тонов DTMF, но Я предполагаю, что мне нужно будет выполнить некоторую форму дискретного преобразования Фурье, чтобы "читать" тоны DMTF из другой конец линии.
Будем признательны за любые предложения.
@Nathan Osman, 👍6
Обсуждение2 ответа
Вам потребуется аппаратная поддержка для обнаружения и генерации DTMF; Я сомневаюсь, что многие Arduino (вы не сказали, какие, но, может быть, ARM?) обладают достаточной мощностью для запуска БПФ (и предоставления результатов, пока кому-то все равно....) * tone()
может не быть достаточно точным по частоте для обнаружения DTMF вызывающим устройством; вам придется проверить это. Быстрый поиск позволяет найти ряд статей о создании или покупке тональных детекторов и генераторов.
Обнаружение звонка немного проще, но вы, вероятно, все же захотите обнаружить звонок и преобразовать его в уровень аппаратно, а не отслеживать мгновенное линейное напряжение и пытаться программно различать шум, звон, шумный звонок. и разной степени тишины.
* Но, возможно, этот проект Hackaday поможет вам некоторые альтернативные и вычислительно осуществимые идеи.
Хм... Наверное, я недостаточно подумал об объеме обработки, необходимой для ДПФ/БПФ. Хотя (как следует из вашей ссылки) я делаю выборку только для очень небольшого набора частот., @Nathan Osman
Вы можете подключить Arduino к телефонной линии с помощью чипа MT8870D. Эта микросхема может декодировать тоны DTMF. Ниже приведена справочная схема из таблицы данных.
Ниже приведен еще один популярный дизайн в Интернете:
На сайте futurelec доступны готовые модули:
Микросхему Holtek HT9200 можно использовать для кодирования DTMF, который можно взаимодействовать с Arduino. Ниже приведена эталонная схема из таблицы данных.
- Как подключить ардуино к разъему для наушников?
- 16*2 1602A LCD дисплей не отображает никаких символов или контрастности, несмотря на правильное подключение
- Как перейти от Arduino к физическому прототипу
- Запуск емкостного касания на сенсорном устройстве
- Проблема с кодом для мультиплексора SDA/SCL TC9548A и датчиков HMC58 83L.
- Влияет ли размер AWG на сигнал от датчиков?
- Кнопочная матрица / схемы подключения
- Синтезатор Arduino Uno — выход линейного уровня (аудио) на микшер/усилитель
Будьте осторожны при прямом подключении к телефонной линии. На линии может быть сильный всплеск (например, удары молнии). Если вы когда-нибудь открывали, например, модем ADSL, вы увидите, что на нем довольно много компонентов защиты (искровые разрядники, движущиеся элементы, магниты)., @Gerben
В Великобритании незаконно подключать к телефонной линии что-либо, что не было сертифицировано. Вы также можете проверить местные правила., @Majenko