Удаленное управление DTMF сигналом с телефона

Первый вариант.
Проект создан по мотивам видео Д.Осипова “Управление домом телефоном Phone Control DTMF Decoder play Audio message” и ArduinoProm (Грачика) “GSM управление DTMF сигналом удаленно”. 4 канала для нагрузок (кнопки 1-4, есть не использованный канал на кнопке 0). Кнопки 5-8 режим мониторинга нагрузок. Кнопка 9 голосовой термометр от -40 до +40 С.
Как работает?
1. Набором пароля 3210 (пароль выставляйте свой) заходим в систему. Нажатие кнопок озвучивает зуммер коротким сигналом, при входе прерывистый звук. Зуммер очень удобен, чтобы слышать , что сигнал дошел до системы. Кнопку телефона можно держать пока не услышите сигнал, тк он может не появиться с короткого нажатия. Повторного срабатывания не будет. Выход из системы “звездочка” и “решетка”, “звездочка”, чтобы обнулиться (чтобы при наборе пароля не были другие цифры).
2. Нажатием кнопок 1-4 включаем и выключаем нагрузки. Озвучивается “Нагрузка 1-4 включена или выключена”.
3. При нажатии кнопок 5-8 только озвучивается, состояние нагрузок не меняется.
4. При нажатии кнопки 9 озвучивается температура на датчике DS18B20 ” -40 +40 градусов”, слово “температура” не поставил и так понятно, что не влажность.
Повторное нажатие на сработавшую кнопку ничему не приведет. Эта кнопка активизируется только после нажатия кнопки “звездочка” или другой кнопки. Я не поставил EEPROM на нагрузки для сохранения состояния реле при отключении электричества, как у Грачика, тк еще не определился нужно это мне или нет. Вы можете добавить.
Пины: A0 – вход сигнала DTMF.
2 – зуммер.
3 – вых 1.
4 – не подключать! используется библиотекой DTMF.
5 – вых 2.
6 – вых 3.
7 – вых 4.
8 – термодатчик DS18B20, опрос стоит 5 сек (можно увеличить).
10 – выход “Вход в систему” (не используется), можно разблокировать что нибудь только с паролем.
11 – динамик (испытывал с помощью наушников со смартфона, подключил через конденсатор 0,1 мкф), пробовал делать как у Осипова (передавать через микрофонный вход) – работает.
SD модуль: 50-MISO, 51 – MOSI, 52 -SCK, 53 – CS.
Проект можно улучшить, изменить под свои потребности, применить другие датчики. Изменить пределы озвучивания температур. Также убрать набор пароля, тк телефон можно настроить так, чтобы на этот номер никто не мог позвонить кроме вас.
Я применил МЕГУ2560, потому что объем скетча большой для Уно, Нано. Можно применить две Уно (лучше самодельную), Нано или Мини. Можете уменьшить объем. Работу проверил на макетке, все работает четко. Термометр помещал в морозилку.
При включении питания включаются все реле на долю секунды (применен блок реле с низким уровнем включения), что является не хорошо. Нужно применить или с высоким уровнем включения , или собрать дополнительно на транзисторах ключ, убрав инверсию на выходах 1-4.
Рекомендую перед повтором проекта посмотреть внимательно вышеуказанные видео.
Источник: https://yadi.sk/d/hXXrmuxi3GLmgu

Второй вариант.
Переделал проект под Ардуино Нано (Уно и тп). Применил модуль DTMF из Китая на 5 выходов (А0, А1-А4), который прямо втыкается в плату УНО (не нужно дополнительных проводов, только для других плат), подойдут и другие аналогичные платы. Не надо брать на 12 каналов со встроенным дешифратором, может при одном нажатии включить и сразу выключить и тп.Убрал пароли, программный декодер DTMF (поставил вместо него дешифратор с проекта Грачика), уменьшил переменные и дублирующиеся блоки. Проверил работу – понравилась. С готовым модулем декодера DTMF работает шустрее.
При загрузке скетча ругается”Скетч использует 19222 байт (62%) памяти устройства. Всего доступно 30720 байт.Глобальные переменные используют 1549 байт (75%) динамической памяти, оставляя 499 байт для локальных переменных. Максимум: 2048 байт.Недостаточно памяти, программа может работать нестабильно”,но работает!
Динамик подключил к 9 пину.
Функции кнопок остались такими же кроме #и* они используются только для повторного нажатия одной и той же кнопки.
https://yadi.sk/d/rKuhL6aF3GMQpk

Третий вариант. Разместил полный проект  в  Ардуино Леонардо. Применил другой голосовой термометр и другой программный DTMF блок, количество аудиофайлов 50. Добавил слово “температура”. В Леонардо MOSI, MISO и SCK контакты СД модуля подключать к разъему ICSP. К 11, 12, 13 разъемам не подключать!
Удаленное управление 3
Добавил: aidar_i 

0

Publication author

offline 1 month

Анатолий

77
Comments: 26Publics: 77Registration: 21-12-2017

Leave a Comment

Войти с помощью: