Умный будильник

Главная особенность умного будильника в сравнении с обычным заключается в том, что он будит человека ото сна в наиболее подходящее время, ориентируясь на его суточные биоритмы сна и возраст.

Для точного подсчета времени используется модуль часов DS3231:

Для создания звукового сигнала используется пьезоизлучатель (пьезодинамик):


Схема подключения модуля часов и пьезодинамика к плате Arduino UNO R3



Собранный прототип умного будильника

Ввод возраста пользователя



Устройство имеет 4 режима работы (отображения):

Режим меню – стандартный режим работы будильника. На первой строке дисплея выводится информация о текущем времени и о времени срабатывания будильника. Вторая строка показывает название того диалогового окна (настройки), которое будет запущено при нажатии кнопки SELECT;

Меню



Режим диалогового окна – делится на 3 страницы: Set time, Set alarm, Smart alarm. Set time позволяет установить текущее время. Set alarm – установить произвольный будильник; Smart alarm запрашивает у пользователя время, в которое тот ляжет спать и время, до которого ему нужно проснуться.

Диалоговое окно



Режим сработавшего будильника – срабатывает, когда текущее время и время будильника совпадают. Активирует цикличный звуковой сигнал и требует решения случайно сгенерированной задачи на сложение/вычитание/умножение для деактивации будильника и перехода в режим меню.

Пример задачи



Режим ожидания – включается в том случае, если пользователь 10 секунд бездействует в режиме меню. При этом яркость экрана заметно снижается. На дисплей выводится информация о текущем времени и о времени установленного будильника.

Будильник в режиме ожидания