Дверной mp3 звонок на Arduino и MP3-TF-16P с датчиком открытия двери и робобабой
Приветствую, дорогие пикабушники!
Дело было не очень давно, буквально месяц тому назад.
У меня была ардуинка, модуль MP3-TF-16P, динамик от магнитолы "Витек", пара пустых коробок от зубного порошка, зарядка от смартфона и еще немного всякой разной мелочевки. Плюс к этому, базовые навыки программирования и знание основ электроники и схемотехники. Еще немного свободного времени и желание научиться чему-нибудь новому и создать что-нибудь полезное. А дверного звонка у меня не было. Вот я его и создал.
Схема выглядит как-то так:
Платка MP3-TF-16P является недорогим китайским клоном DFPlayer Mini от китайской конторы DFRobot. Может работать как в standalone режиме, управляясь кнопками, подключаемыми непосредственно к ней, так и управляться по последовательному порту. Первый вариант мне не подошел, поэтому я и использовал ее в связке Arduino Nano V. 3. Платка вообще мне показалась за свои полтора бакса очень интересной.
По схеме. Зеленый светодиод (LED1) - индикатор питания, горит, когда устройство включено в электрическую сеть. Синий (LED2) - индикатор активности плеера, зажигается микроконтроллером когда идет воспроизведение трека. Кнопка (S1) - непосредственно кнопка дверного звонка, располагается за пределами квартиры на лестничной клетке. У меня старая, советская, старше меня, вот такая:
Я ее снял, разобрал помыл, почистил полувековые окислы на медных площадках. Работает. Изначально, кнопка подтягивалась к земле резистором R7 на 10 кОм. Пошли ложные срабатывания. Сначала думал, что сосед балуется, на кнопку жмет - не подтвердилось. ОК, переделал схему, подтянул пин D2, на котором висит кнопка уже к + 5 В, подправил код - то же самое, ложные срабатывания. Психанул, повесил параллельно кнопке поближе к плате конденсатор, первый, какой под руку попался. Под руку попался керамический, на 33 нФ. Полет нормальный. Вот, собственно, потрАшка, ардуина снизу, плеер с микросд картой - сверху:
Плеер подключен к ардуинке по последовательному интерфейсу, резисторы R2 и R3 нужны для согласования уровней. У ардуины "родное" напряжение 5 вольт, у MP3-TF-16P 3,3 В. На ардуине для этого задействованы 10 и 11 порты и программная эмуляция последовательного интерфейса. Встроенный аппаратный оставлен для подключения ноутбука, в случае необходимости отладки и обновления ПО.
S2 - геркон. У меня это ИО-102-2. Вот такой:
Для чего он в проекте? Ну, во первых, он у меня уже больше года лежал без дела. Во вторых, после нажатие на кнопку звонка, трек с карты памяти начинает проигрываться. И останавливается по двум условиям: прошло 90 секунд или открыли дверь. Вот именно открытие двери геркон и отслеживает. У меня две входных двери. Соответственно, если я открыл внутреннюю (на которой установлен геркон), то звонок услышал и звонок мелодию можно выключать.
Пины ардуины D3, D4 соединены с пином плеера "BUSY" и герконом, соответственно и подтянуты к земле резисторами R4, R6 по 10 кОм. Так это выглядит в сборе:
По коду. У плеера есть прикольная (на мой взгляд) фишка - проигрывание "рекламных" вставок. Т. е., играет основной файл, через некоторое время (или по другому условию) трек ставится на паузу, проигрывается голосовая вставка (например: "Хозяин, кто-то теребонькает нашу кнопоньку снаружи"), трек снимается с паузы, воспроизведение продолжается. Можно использовать в магазинах (музыка/реклама/музыка) и т. п. сфера применения ограничена лишь фантазией разработчика. Лично мне эта фишка нужна чтобы повысить шансы того, что я обращу на звонок внимание. Более подробно, если кому интересно, можете посмотреть в коде, там я старался все подробно комментировать.
Вид устройства в темноте. Нужно было снимать с большей выдержкой, но у меня выдержки не хватило ).
Ссылка на гитхаб: https://github.com/Lyginarium/MP3DoorBell
Там код для ардуины (ino) и схема устройства (fzz).
У меня все, спасибо за прочтение.























