Простое управление устройствами по телефону или dtmf декодер
Нередко возникает необходимость в дистанционном управлении удалённым объектом, например управление отоплением, сигнализацией загородного дома и т.п. Традицтонные методы управления тут не помогут. В этом случае на помощь придёт сотовая связь. Но просто взяв сотовый телефон делу не поможет, требуется декодер DTMF кода, который при нажатии той или иной цифры на сотовом телефоне будет переключать тот или иной канал на декодере. Именно этот декодер и представлен вашему вниманию. Ранее разработанный мною декодер рассмотренный тут полностью выполняет свои функции, но в ходе эксплуатации был выявлен один недостаток. Недостаток заключается в звуковом подтвеждении событий. Иногда, при управлении, становиться неясно какой канал переключил, а так же нет функции опроса состояния. От этих недостатков лишина вторая версия дистанционного управления, которая оснащена речевым модулем, который все события подтверждает речевыми фразами.
Основные параметры декодера:
- имеет 10 независимых каналов управления;
- звуковое подтверждение всех событий (тоном и фразами);
- автоматическая запись состояния выходов, если включено;
- автоматическая блокировка устройства, если включен доступ по паролю.
Схема декодера довольно проста и не нуждается в наладке. Весь функционал реализован на микроконтроллере PIC16F883. От предыдущей версии схема практически не отличается.
В качестве декодера DTMF сигнала применена специализированная микросхема марки MT8870. На выходе установлены буфферные каскады на ULN2003, что позволяет непоследственно подключать обмотки реле.
Говорящий модуль выполнен на микроконтроллере ATTINY2313, фразы храняться на microSD flash. Схема модуля и прошивка позаимствована отсюда. Схема очень проста, состоит практически из микроконтроллера, флэшки и стабилизатора на 3,3В. Светодиоды с резисторами R3, R4, R5 можно не устанавливать.
Устройство собрано на четырёх печатных платах. На первой плате собран декодер DTMF
На второй плате собран речевой модуль
На третьей и четвёртой платах собраны идентичные релийные модули
Общий вид на платы
В схеме предусмотрена установка трёх перемычек, их назначение:
- S2 - Включение сохранения состояния выходов;
- S3 - Сброс пароля;
- S4 - Включение доступа по паролю.
Алгоритм работы устройства очень прост:
Как правило, в загородных домах нередки случаи отключения электроэнергии, а так же возможны кратковременные пропадания во время сильных ветров. Для сохранения состояния выходов предусмотрена возможность записи состояния в энергонезависимую память микроконтроллера и при восстановлении электроснабжения восстановить это состояние. Для этого служит перемычка S2.
При включении опроса состояния устройство проговорит состояние каждого канала. При остутствии речевого модуля, устройство выдаст информацию по выходам следующим образом: если канал включен, устройство выдаст один короткий сигнал, если выключено - два коротких сигнала. И так по каждому каналу по очереди.
Хочу обратить особое внимание на распайку разъёма для подключения устройства к сотовому телефону. Разные производители по разному распаивают этот разъём в телефоне! Если устройство не реагирует, меняйте местами выводы, либо ищите распайку именно под ваш телефон. Функция автоподнятия есть практически в любом телефоне!
Файловая система.
В данном устройстве поддерживаются SD карты размером до 2 Гб, включительно, имеющие файловую систему FAT16. Все что выше – не поддерживается. Нет особых требований по форматированию карты – ее можно отформатировать в любом доступном устройстве. Стандартное форматирование Windows вполне подходит для этих целей.
Конвертирование своих треков
Треки нужно переконвертировать в формат который поддерживает устройство. Формат файла должен быть – несжатый WAV 32000Гц, 1 канал, 8 бит (WAV PCM 8U). Для конвертации в такой формат подойдет любой музыкальный редактор, или, если нужно просто преконвертировать трек без его правки – Weeny Free Audio Converter, он бесплатный, маленький и умеет конвертировать сразу пакет файлов.
О модуле подробнее можно почитать тут.
DTMF декодер | ||
Резисторы | ||
R1, R2 | 100k | 2шт |
R3 | 300k | 1шт |
R4 | 330 | 1шт |
R5, R6 | 1k | 2шт |
Конденсаторы | ||
C1 | 47n | 1шт |
C2, С4 | 18p | 2шт |
C3 | 47uF | 1шт |
C5, С9, С10 | 100n | 3шт |
C6, С8 | 33p | 2шт |
C7, С11 | 10uF | 2шт |
Микросхемы | ||
IC1 | MT8870 | 1шт |
IC2 | PIC16F883 | 1шт |
IC3, IC4 | ULN2003 | 2шт |
IC5 | L7805 | 1шт |
Кварцевые резонаторы | ||
Z1 | 3,5796 MHz | 1шт |
Z2 | 4 MHz | 1шт |
Говорящий модуль | ||
Резисторы | ||
R1, R4, R5 | 1k | 3шт |
R2 | 10k | 1шт |
R3 | 300 | 1шт |
Конденсаторы | ||
С1, C3 | 10uF | 2шт |
С2 | 100n | 1шт |
Микросхемы | ||
IC1 | ATTINY2313 | 1шт |
microSD card | 1шт | |
Micro SD card slot connectors | 1шт |
Небольшой видеообзор по работе с устройством
Всем привет.
Хотите управлять чем-нибудь по сотовому телефону, да еще и без всяких заумных микроконтроллеров? Если да, добро пожаловать под кат.
В последнее время на Муське было несколько обзоров GSM-модулей, типа SIM800, используя которые, можно управлять чем угодно по сотовой сети. Но вот беда, все они требуют подключения к микроконтроллеру, написания прошивки и прочих сложных для непосвященного человека вещей. Другая крайность это: «а я к вибромоторчику телефона реле припаял, у меня все работает» :)) Так тоже можно, но не стоит удивляться, если вашу теплицу будет пытаться поливать насос водой из замерзшего колодца, после прихода СМС-ки «С Новым Годом!» от неизвестного отправителя :)))
В общем, я решил заполнить пробел между этими двумя решениями, и предложить своё.
Сегодня речь пойдет о декодере DTMF сигнала, или если по-простому, тональный сигнал.
Любопытные могут почитать Википедию
Технология достаточно устаревшая, но до сих пор поддерживается всеми телефонами.
Собственно, именно тоновый набор вы используете, когда звоните в какое-нибудь учереждение, а вам автоответчик говорит: «если вы знаете номер абонента, нажмите „1“, если вы хотите узнать о наших новых предложениях, нажмите „2“ и так далее. Нажимая кнопку с нужной цифрой на телефоне, вы отправляете по голосовому каналу сигнал определенной тональности. Каждому символу на клавиатуре телефона соответствует своя „мелодия“. Именно этот звук и расшифровывает декодер DTMF, превращая его в сигналы на своих выходах.
Плата собрана на микросхеме MT8870, питается от 5 Вольт и имеет следующие выводы: Q1-Q4-дискретные выходы, StQ/StQ инверсное-выходы, которые срабатывают при каждом правильном распознавании сигнала. IN-вход для аудиосигнала, если вы не хотите использовать распаянный на плате 3.5 мм разъем. GND/VCC питание, 5 Вольт.
Выходы Q1-Q4 срабатывают в соответствии с таблицей:
Например, сейчас у меня на плате горят два средних светодиода, сработали выходы Q2 и Q3 смотрим таблицу-это соответствует нажатой клавише „6“. Если я нажму клавишу „1“, то сработает выход Q1, если „2“, то Q2. Если „3“, то „зажгутся“ выходы Q1 и Q2 одновременно. И так далее.
В общем, это 4-битный код. Если его дешифровать специальной микросхемой, то можно получить 16 выходов.
Кстати, на Али продается плата уже с дешифратором, но стоит дороже. Вариант для продвинутых-подключить все это к микроконтроллеру, я так делал, можно даже пароль задать-позвонил набрал пароль, получил доступ к управлению…
Но это уже не в рамках моей статьи, т.к. в начале статьи я обещал, что все будет просто.
И так, берем транзистор КТ815, резистор на 1.1 кОм, или около того, реле на 12 В, стабилизатор LM7805. Остальные детали (защитный диод 1N4007 на катушке реле, желтенькие керамические конденсаторы 0.1 мкф и электролитический на 1000 мкф) желательны, но работает и без них. В качестве нагрузки к реле подключена „пищалка“.
Схему рисовать не буду, монтаж навесной, на фото все видно:
С другой стороны:
Общее питание конструкции 12 В, т.к. этого требует реле, но для платы оно понижается стабилизатором до 5 В.
3.5 мм разъем на плате соединяем шнуром с выходом наушников телефона, настраиваем автоподнятие трубки и все готово. Теперь, если позвонить на телефон, подключенный к плате, дождавшись снятия трубки, нажать „1“, реле сработает, зуммер начнет пищать. Если нажать „2“, все выключится. Кстати, независимо от того, чем вы планируете управлять, зуммер я бы рекомендовал оставить. Это удобно-ведь его слышно по телефону, и таким образом можно получать некую обратную связь: позвонил, слышишь пищание, значит, нагрузка включена :)
Снял небольшой видеоролик, как все это работает
Хотите управлять чем-нибудь по сотовому телефону, да еще и без всяких заумных микроконтроллеров? Сегодня речь пойдет о декодере DTMF сигнала, или если по-простому, тональный сигнал.
Любопытные могут почитать Википедию
Технология достаточно устаревшая, но до сих пор поддерживается всеми телефонами. Собственно, именно тоновый набор вы используете, когда звоните в какое-нибудь учереждение, а вам автоответчик говорит: «если вы знаете номер абонента, нажмите „1“, если вы хотите узнать о наших новых предложениях, нажмите „2“ и так далее. Нажимая кнопку с нужной цифрой на телефоне, вы отправляете по голосовому каналу сигнал определенной тональности. Каждому символу на клавиатуре телефона соответствует своя „мелодия“. Именно этот звук и расшифровывает декодер DTMF, превращая его в сигналы на своих выходах.Плата собрана на микросхеме MT8870, питается от 5 Вольт и имеет следующие выводы: Q1-Q4-дискретные выходы, StQ/StQ инверсное-выходы, которые срабатывают при каждом правильном распознавании сигнала. IN-вход для аудиосигнала, если вы не хотите использовать распаянный на плате 3.5 мм разъем. GND/VCC питание, 5 Вольт.
Выходы Q1-Q4 срабатывают в соответствии с таблицей. Например, сейчас у меня на плате горят два средних светодиода, сработали выходы Q2 и Q3 смотрим таблицу-это соответствует нажатой клавише „6“. Если я нажму клавишу „1“, то сработает выход Q1, если „2“, то Q2. Если „3“, то „зажгутся“ выходы Q1 и Q2 одновременно. И так далее.
В общем, это 4-битный код. Если его дешифровать специальной микросхемой, то можно получить 16 выходов.
И так, берем транзистор КТ815, резистор на 1.1 кОм, или около того, реле на 12 В, стабилизатор LM7805. Остальные детали (защитный диод 1N4007 на катушке реле, желтенькие керамические конденсаторы 0.1 мкф и электролитический на 1000 мкф) желательны, но работает и без них. В качестве нагрузки к реле подключена „пищалка“. Общее питание конструкции 12 В, т.к. этого требует реле, но для платы оно понижается стабилизатором до 5 В. 3.5 мм разъем на плате соединяем шнуром с выходом наушников телефона, настраиваем автоподнятие трубки и все готово. Теперь, если позвонить на телефон, подключенный к плате, дождавшись снятия трубки, нажать „1“, реле сработает, зуммер начнет пищать. Если нажать „2“, все выключится. Кстати, независимо от того, чем вы планируете управлять, зуммер я бы рекомендовал оставить. Это удобно-ведь его слышно по телефону, и таким образом можно получать некую обратную связь: позвонил, слышишь пищание, значит, нагрузка включена.
DTMF декодер предназначен для организации удаленного управления объектами, находящимися в помещении, оборудованном стационарной телефонной точкой. Управление осуществляется посредством телефонного аппарата или сотового телефона, путем набора номера телефонной точки, которой оборудовано данное помещение, и последующей подачи команд в режиме тонального набора.
Для работы схемы нужна стандартная телефонная линия и источник постоянного тока напряжением 5V. Схема к телефонной линии подключается клеммами «Тел. линия», а к источнику питания через разъем Х1. Разъем Х2 служит выходом схемы, на нем формируется четырехразрядный двоичный код команды и строб- сигнал, представляющий собой логическую единицу, возникающую при приеме любого командного сигнала.
Работа схемы начинается с поступлением вызывного сигнала, от абонента, позвонившего по номеру, где установлена эта схема. При поступлении вызывного сигнала в линии возникает переменное напряжение, которое через конденсаторы С1 и С2 поступает на выпрямительный мост на диодах VD5-VD8. На конденсаторе С6, при этом, выделяется некоторое постоянное напряжение, которое параметрическим стабилизатором R6-VD9 понижается до уровня не более 4.7-5V. Данное напряжение соответствует логической единице. Оно поступает на вывод 2 логического элемента D2.1, на его выходе при этом возникает логический ноль, который инвертируется логическим элементом D2.2. Высокий логический уровень на выходе D2.2 через диод VD10 и резистор R8 заряжается конденсатор С8 до напряжения логической единицы.
При этом на выходе элемента D2.3 возникает логический ноль, а на выходе D2.4 появляется напряжение высокого логического уровня. Это напряжение через R7 поступает на вход ключа на составном транзисторе из транзисторов VT1 и VT2. Этот ключ открывается и параллельно линии через диодный мост VD1-VD4 подключает постоянный резистор R4 сопротивлением 330 Ом. Это равносильно подъему трубки, и переводит АТС в режим «абонент поднял трубку». Теперь вызывной сигнал отсутствует, и напряжение на VD9 снижается до нуля. На выходе логического элемента D2.2 устанавливается логический ноль.
И конденсатор С8 начинает медленно разряжаться через резистор R9. На разрядку уходит более 10-15 секунд. После чего на выходе D2.4 устанавливается логический ноль и ключ на VT1-VT2 «вешает трубку». Если позвонивший хочет воспользоваться схемой для удаленного управления тем, чем эта схема управляется, ему нужно в течение 10-15 секунд после того как схема «снимет трубку» подать команду. Если звонок со стационарного телефона, то перед подачей команды его нужно переключить на тональный набор, а потом передать команду, нажав соответствующую кнопку.
Это нужно для того, чтобы продлить «занятое» состояние линии на все время, в течение которого будет осуществляться управление. Конденсатор С7 нужен для того, чтобы «снятие трубки» происходило с некоторой задержкой после поступления вызова. В противном случае, АТС может не отреагировать или отреагировать неправильно, сообщив звонящему абоненту о том, что линия занята. Недостаток схемы на рисунке 1 в отсутствии обратной связи и каких-то средств защиты от приема тональных сигналов, поступающих ошибочно (или намеренно). На рисунке 2 приводится аналогичная схема. Она отличается тем, что в ней существует обратная связь, сообщающая пользователю посредством условных гудков о работе схемы, а так же, для защиты имеется система пятизначного пароля, который необходимо ввести, перед тем как заняться управлением. Но. этот вариант требует применения микроконтроллера и его программирования.
Для того чтобы начать управление нужно позвонить на номер, где эта схема установлена. Через три гудка устройство «снимает трубку» и дает два коротких звуковых сигнала, после которых нужно ввести идентификационный пароль. По умолчанию задан пароль «12345». Его нужно набрать в тональном режиме (если звонок со стационарного телефона, то перед подачей команды его нужно переключить на тональный набор, если звонок с сотового телефона, то ничего переключать не нужно, и сразу набрать пароль).
Читайте также: