Будильник с обратным отсчетом на Arduino с дисплеем Nokia 5110

Глубокое погружение в создание будильника с обратным отсчетом на Arduino с дисплеем Nokia 5110. Узнайте, как собрать и программировать этот проект.

Делаем будильник с обратным отсчетом на Arduino с дисплеем Nokia3110. Может быть запущено до 3 будильников, с однократным срабатыванием или в определенное время в выбранные дни недели

Потребуются следующие комплектующие:

  • контроллер Arduino Nano
  • дисплей Nokia 5110
  • клавиатура 4×4
  • модуль часов реального времени DS3221
  • динамик для будильника
  • макетная плата
  • корпус КР-606 ПС

Схема соединения элементов

Схема подключения будильника Arduino Nokia 5110

Собираем детали в корпус 

Схема подключения будильника Arduino Nokia 5110
Схема подключения будильника Arduino Nokia 5110

И приступаем к написанию программы

В программе 3 режима:

1) основной режим — табло (отображение будильников и индикацией оставшегося времени ЧЧ:ММ:СС Д, миганием отображается сработка будильника + звуковой сигнал)

2) режим редактирования выбранного будильника

3) режим установки времени

Вот картинки режимов работы

Схема подключения будильника Arduino Nokia 5110

Схема подключения будильника Arduino Nokia 5110

Схема подключения будильника Arduino Nokia 5110

Схема подключения будильника Arduino Nokia 5110

Схема подключения будильника Arduino Nokia 5110

Назначение клавиш клавиатуры следующее:

1, 2, 3 — выбор будильника текущего (выделяется белым на черном)

4 — вход р режим установки даты/времени

7, 9 — выбор следующего/предыдущего параметра при редактировании будильника и установке даты/времени

5, 0 — увеличение/уменьшение параметра

6 — ОК

A — ESC

B —  вход в режим редактирования

С — включить текущий будильник

D — отключить текущий будильник 

 

Каждый будильник может быть 2 видов

1) однократный — установка даты и времени срабатывания

2) многократный — установки времени и дней недели 

Выбор будильника для редактирования стрелками и клавишами 1, 2, 3 и далее клавишей E (Edit)

В режиме редактирования выбор редактируемого параметра стрелками влево и вправо,

выбранный параметр мигает, стрелками вверх и вниз изменяем значение параметра

Для каждого будильника массив из 15 параметров

alarms[i][0] — будильник включен (1) или выключен (0)

alarms[i][1] — час срабатывания будильника

alarms[i][2] — минута срабатывания будильника

alarms[i][3] — секунда срабатывания будильника

alarms[i][4] — вид будильника — однократный(0) или многократный(1)

alarms[i][5] — день даты срабатывания будильника

alarms[i][6] — месяц даты срабатывания будильника 

alarms[i][7] — год даты срабатывания будильника

alarms[i][8] — alarms[i][14] — активность многократного будильника в дни недели пн — вск — активен(1) или неактивен(0)

Годы с 2015 — 2019 г. Продолжить период можно в программе — внести изменения

в массиве

unsigned int maxedit[15]={2,24,60,60,2,32,13,19,2,2,2,2,2,2,2};

поменять 7 элемент (19 — 2019 г) на большее значение

а также добавив данные в массиве

 — количество дней по месяцам для каждого года

int daysformonth[5][13]={
 {0,31,28,31,30,31,30,31,31,30,31,30,31},  {0,31,28,31,30,31,30,31,31,30,31,30,31},  {0,31,28,31,30,31,30,31,31,30,31,30,31},  {0,31,29,31,30,31,30,31,31,30,31,30,31},  {0,31,28,31,30,31,30,31,31,30,31,30,31}  };    // 2015 — 2019

В скетче используются библиотеки 

Adafruit_GFX — для работы с дисплеем

Time, DS1307 — для работы с RTC

Архив со скетчем и библиотеками можно скачать по ссылке ниже. Данный скетч компилируемая в Arduino IDE 1.0.5

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *