В общем, ваш вариант оказался наиболее простым для старта. А если отказаться от тонального подтверждения в пользу аналогово (пару раз слегка стукнуть в домофон в определённом темпе), то можно и вовсе без телефона обойтись.
Сейчас пока сделал самый базовый код (Arduino Nano + простой микрофон):
Ожидается определённый (очень высокий) пороговый сигнал на аналоговом пине от микрофона. Это будет звук вызова из динамика домофона (микрофон вплотную).
Включается светодиод (здесь будет запуск первого сервопривода, который нажимает кнопку ответа на домофоне).
Далее ожидается следующий высокий уровень сигнала с микрофона (но пониже), это первый стук в домофон. И далее определённый паттерн из последовательности тихих промежутков и пиковых значений.
Если в п.3. шаблон совпал, то загорается второй светодиод (далее тут будет запуск второго сервопривода, который нажимает кнопку открытия двери).
Шаблон для п.3 записал через тот же микрофон и вывод значений с его пина в консоль вместе со значением ‘millis()’ (и пока просто захардкодил нужные промежутки).
Но это всё пока очень предварительно и многие нюансы не понятны. Например, когда совсем тихо, аналоговый выход микрофона выдаёт значения в районе 28-32, т.е. какие-то шумы улавливает. Плюс надо будет проверить, зависят ли эти значения от типа источника питания (сейчас оно к USB компьютера подключено, вероятно при подключении полноценных 5V занчения могут измениться). Ну и конкретные значения (пиковые, минимальные) всё равно придётся подбирать уже после финальной установки. Плюс ещё, вероятно, сервоприводы шуметь будут, в общем нюансов много.
С модулем DTMF сходу не получилось. Хотя, скорее всего, я его просто неправильно подключил, т.к. при выдаче тональных сигналов на микрофон (любой громкости), DTMF почти всегда продолжает давать нули по всем пяти пинам. Однако, изредка вдруг выдаёт единичку по одному из них, после чего так и остаётся в этом состоянии.
Не проще взять умное устройство и не городить огород? Стоимость от 250 руб . За один канал. Ну и модемку прицепить какую нибудь, если нет инета в доме.
Вы молодец, у вас обязательно всё получится!
На мой взгляд вы выбрали достаточно простой для себя но немного сложноватый для повторяемости секретного кода путь… DTMF на мой взгляд надёжнее, или уж и правда азбука морзе как предложил уважаемый ua6em
И ещё, я бы наверное не связывался с микрофоном а взял бы сигнал прямо с динамика, через делитель…
Да конечно стрёмно, и писать код для серво-сложнее чем просто лапами дрыгать, но что делать, не каждый человек шарит в электронике так как хотелось бы…
Сервоприводы - это технически самое простое решение (да и выглядит забавно). Вариант с оптопарой тоже попробовал, на макетной плате работает, но только вот как припаять другой конец к домофонной кнопке я пока не знаю (ну или даже вместо кнопки, т.к. кнопки я могу и через Ардуино подключить).
Собираюсь. Кнопки я могу подключить к Ардуино и прописать для них логику замыкания исходных кнопок, вместо которых припаянны выходы оптопары. Учитывая, что итоговое решение пока очень маленькое получается, то всё это можно будет даже внутри родного корпуса домофона разместить.
тож хотел такое предложить,. но слишком узнаваемо, кто-то могет считать налету, как говорится. Вероятность мизерная, конечно.
Может сделать типа инверсии, всегда идет один тон одной длительности, а кодировать паузу между посылками.
Бушмены говорят на койсанских языках, на которых также говорят готтентоты . Эти языки отличаются от всех остальных языков мира тем, что в них широко распространены щёлкающие согласные.
Пока прокатывает. По крайней мере за первый день экспериментов я умудрился ничего не спалить, при этом на практике разобрался как работает резистор и собрал несколько тестовых схем (+код), которые внезапно заработали как и ожидалось.
Ардуино в этом плане очень снижает порог вхождения, т.к. просто подключил и оно работает, и прошивки заливает по одной кнопке, компилируя их из простого языка, т.е. не надо самостоятельно какую-то схему под микроконтроллер паять, не надо отдельный программатор использовать и разбираться с нюансами его использования.