Мягкое пробуждение ранним зимним утром. Самоделка на ардуино
Замечал по себе, что просыпаюсь ранним утром гораздо легче, когда на улице за окном уже светло (в моем регионе с апреля по сентябрь). В зимнее время вставать тяжко, а на будильник порой не сразу реагирую. У меня возникла идея слегка обмануть организм, сымитировав светлое утро. Для этого мне было достаточно настольной лампы, которая бы включалась автоматически за час до пробуждения. Сразу скажу, что результат есть: вставать гораздо легче, даже просыпаюсь до звукового будильника и при этом как будто бы сам по себе. Может у этой задачи есть и готовые решения, но я ничего не искал - иногда полезно поизобретать велосипед)
В качестве установщика времени включения хотелось использовать телефон. В программировании под андройд ничего особо не знаю, и хотелось ограничиться стандартными средствами. Для связи контроллера с телефоном можно использовать звуковой кабель mini jack – minijack. То есть ардуинка будет обрабатывать аналоговый сигнал, возникающий во время звучания звонка будильника телефона и запитывать реле, коммутирующее фазу. Идея заключается в том, чтобы первый в списке будильников был сигнал, который не воспринимается человеческим ухом (т.е <20 Гц или >20 000 Гц). Он включит свет, а потом (примерно через час или 40 мин) прозвонит обычная ваша мелодия, под которую вы привыкли вставать. Таким образом пробуждение происходит более мягко.
Стандартный андройдовский будильник позволяет одновременно вещать звук как через динамик телефона, так и в наушники, поэтому вставленный штекер на заглушит динамик как при прослушивании музыки.
Да простят меня люди, смыслящие в схемотехнике: схема нарисована без всяких правил - только для иллюстрации)
На схеме не уточнял подключение реле, так как можно использовать готовый модуль, а можно щелкать реле через транзистор.
Далее нужно подобрать такой звуковой сигнал, который бы отвечал бы двум требованиям: во-первых, он не должен быть слышен, во-вторых, он должен легко опознаваться, чтобы избежать ложных срабатываний реле. Думаю, будет не очень приятно, если вдруг ночью прозвучит какое-нибудь уведомление и у вас включится свет.
С помощью программы NCH Tone Generator сгенерил синусоиду в 1 Гц и записал её в минутный wav. Низкочастотный сигнал проще обработать и для моей цели отлично подходит.
Можно сравнить через монитор порта, что приходит на аналоговый входе при воспроизведении ключевого сигнала и обычной музыки.
Сама программа простая. Нам нужно посчитать длину полуволны в условных единицах, то есть определить, сколько успеет насчитать счётчик за время пока сигнал больше нуля. Получаемые значения для ключевого сигнала будут на порядки больше и стабильнее, чем для других звуковых сигналов. С помощью плоттера порта можно сравнить: в случае сигнала со стабильным периодом счётчик будет насчитывать каждый раз схожие значения (3500 на графике), в другом случае (включил музыку) значения счётчика не повторяются и они не успевают добраться даже до 100. Таким образом легко отделить наш сигнал от других и исключить ложные срабатывания.
На видео реле срабатывает не мгновенно, так как для надежности в программе несколько раз проверяется длина импульсов
Надеюсь, кому-нибудь окажется полезной эта идея.




