Небольшая приставка, которая подключается в разрыв линии и управляет режимами (вкл/выкл) домофона. Данная приставка будет работать только с домофонами координатного типа (Визит, Цифрам, Метаком и т.п.)
Домофон - вещь полезная и вредная одновременно.
Мне лично домофон нужен. Я не хочу бегать с пятого этажа если пришли ко мне (гости/ врач/ техник интернета/ доставка воды/ суши-ролы/ посылки и т.п.) Но одновременно раздражают, а иногда откровенно мешают жить, лишние звонки в домофон (почта/ реклама/ соседка ключ забыла/ врач к соседям и т.п.)
Конечно на большинстве трубок есть волшебная кнопочка. Нажал и никто тебя не беспокоит. Проблема в том, что я забываю включить домофон обратно.
Поэтому я решил изготовить устройство, которое будет в автоматическом режиме отключать домофон на ночь и включать его утром. А также иметь возможность отключения в любое время (внук пришел в гости и лег спать, или я сам сплю после ночной смены). Изначально был определен ряд требований к устройству:
1. Устройство должно быть отдельным блоком, без вмешательства в конструкцию трубки.
2. При отсутствии напряжения и/или интернета устройство не должно оказывать влияние на работу домофона.
3. Устройство должно автоматически переключать режимы вкл /выкл по заранее заданным временным уставкам.
4. Должна быть возможность оперативного изменения режима работы домофона, с последующим возвратом в «автоматический» режим.
Для реализации задуманного я использовал:
Модуль реле с ESP-01 ссылка
Зарядник от старого сотового телефона
Двухцветный светодиод
Пара тактовых кнопок
Несколько резисторов
Схема устройства:

Описание принципа работы:
Если устройство находится в режиме «домофон включен» линия, через нормально замкнутые контакты реле, подключена к абонентской трубке. На устройстве горит красный диод. Вызовы беспрепятственно будут проходить на трубку.
Если нет напряжения питания, то реле обесточено, и не оказывает влияние на работу устройства. На устройстве не горит не один диод.
При включении режима «домофон выключен», срабатывает реле. В линию вместо трубки подключается сопротивление 51 ом. На устройстве горит зеленый светодиод. Вызовы в трубку не проходят. При попытке вызова, на вызывной панели будут гудки, как будто абонент не берет трубку. (Если не подключать в линию сопротивление, а просто разорвать цепь то на вызывной панели будет сообщение об ошибке)
При подаче напряжения, модуль ESP-01 подключается к домашней WiFi сети и запрашивает текущее время на NTP сервере.
Если не удалось подключиться к сети или обновить текущее время работа автомата не начинается. На устройстве одновременно горят красный и зеленый диоды. (если использован двухцветный светодиод, то его свечение будет оранжевое)
В случае успешного получения текущего времени устройство переходит в автоматический режим работы. Я установил для себя период «покоя» с 22-30 до 09-00, в это время устройство переводит домофон в режим «отключено».
Остальное время домофон находится в состоянии «включено».
Если в любое время нажать (коротко) кнопку «Р» то, домофон перейдет на три часа (время можно изменить в скетче) в состояние «вЫключено». (будет гореть зеленый светодиод.) По истечении заданного времени устройство переключится в режим «автомат».
Если кнопку «Р» нажать длительно (2сек.) то, домофон перейдет на те же три часа в состояние «включено». (будет гореть зеленый светодиод.) По истечении заданного времени устройство переключится в режим «автомат».
При нажатии на кнопку «А» (на самом деле это кнопка reset) происходит перезагрузка модуля ESP-01 и устройство переходит в режим «автомат».
В процессе работы, для устранения неточности хода «внутренних» часов ESP- 01 один раз в сутки запрашивает и корректирует актуальное время.
Модуль реле ESP-01 уже имеет на борту стабилизатор 3,3в. – типа AMS1117.
Согласно даташиту - максимальное входное напряжение для AMS1117 = 15в. Значит подойдет практически любой зарядник, который может выдать напряжение от 5 до 12в, и ток от 250мА.
На плате модуля реле ESP-01 не предусмотрены точки подключения для кнопок и прочих элементов управления. Поэтому я припаял провода непосредственно к разъему.
Тактовые кнопки и клеммы подключения линии я расположил на отдельных обрезках макетных плат, на обратной стороне расположены необходимые резисторы. У меня не оказалось в наличии резистора на 51 ом, поэтому поставил параллельно парочку на 100 ом.
Для индикации текущего режима работы, я изначально я планировал использовать два светодиода красный и зеленый. Но в результате поставил один двухцветный, трехвыводной с общим катодом. (марку не помню). Вообще можно использовать любые, только не забудьте про токоограничивающие резисторы. Ток через диод не должен превышать 20Ма. А лучше если он будет близок к 10мА. Я использовал резисторы – 830 ом.
Кнопки управления, светодиод и клеммы для подключения я расположил на макетных платах.
Корпус устройства распечатал на 3д принтере
Архив с моделями для печати.
Установил в корпус предварительно прошитый модуль и платы.
Про скетч и прошивку модуля.
Я прошивал модуль из среды Arduino IDE
Прошивка модуля ESP 01 отличается от прошивки Ардуино плат.
Данный модуль не имеет USB гнезда, поэтому я использовал USB TTL адаптер

Для прошивки модуля необходимо:
1. Подключить Контакты RX TX к соответствующим (крест- накрест) контактам USB/TTL конвертера.
2. Замкнуть на «землю» контакт GIPO 0
3. Подать (через резистор 10к) высокий уровень на контакт «EN»
4. Подать питание 3,3в (VCC и GND). Обратите внимание что напряжение питание ESP 3,3 вольта. Не подавайте 5вольт!
Модуль готов к прошивке.
Я рекомендую сначала загрузить тестовый скетч:
Сссылка на архив
Перед загрузкой скетча не забудьте ввести логин и пароль от своей WiFi сети и коэффициент коррекции часового пояса.
*После прошивки не забудьте отключить GIPO 0 от «земли»
После загрузки откройте монитор порта, вы должны увидеть сообщение об успешном подключении модуля к сети, его ip адрес и текущее время, которое будет обновляться с интервалом 1 сек. Если все правильно, можно загружать «рабочий» скетч
Ссылка на архив.
Перед загрузкой в скетче вводим актуальные :
Логин и пароль от своей WiFi сети. (const char* ssid и const char* password )
Коэффициент коррекции часового пояса. (const long utcOffsetInSeconds)
Желаемые время выключения и включения. (hours_night_off, hours_night_on)
Желаемая длительность перевода в ручной режим (мин) (minut_night_on)
Модуль ESP-01 имеет весьма ограниченное количество доступных GIPO портов. Это GIPO 0 (сюда подключено реле) и GIPO 2 – сюда будет подключена кнопка «Р». Вторая кнопка («А») подключена параллельно штатной кнопке «Reset». В принципе, для работы устройства достаточно. Но хочется еще получить индикацию режимов работы. Для этой цели мы будем использовать контакты TX, RX (GIPO1, GIPO3).
Добавим в скетч пару строк:
pinMode (Gren_led_pin, FUNCTION_3);// (TX) меняем контакт на GPIO.
pinMode (Red_led_pin, FUNCTION_3); // (RX) меняем контакт на GPIO.
Теперь мы можем GIPO1, GIPO3 для подключения светодиодов. Выходы RX TX стали недоступны для чтения/передачи, а значит мы не сможем использовать общение с модулем по COM порту. В нормальном режиме работы нам это не нужно. А в режиме перепрошивки RX TX будут по прежнему, доступны.
Теперь когда модуль ESP -01 прошит и устройство собрано можно подключить его к домофону.
(Точнее в разрыв домофонной линии.) Имейте ввиду, для работы домофона важна полярность подключения!
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.