7.4. Добавление срабатывания устройств Умного дома по будильнику (для NodeMCU)
После подключения модуля RTC, мы можем организовать запуск исполнительных устройств "умного дома" по расписанию. Для этого создадим объект, описывающий будильник:
struct ALARM{
  int hours;        // час срабатывания будильника
  int minutes;    // минута срабатывания будильника
  int relay;         // номер реле исполнительного устройства (0-N)
  int value;        // устанавливаемое значение (0 или 1)
};
И создадим список необходимых будильников:
ALARM alarms[]={{7,30,2,1},
                {7,35,2,0},
                {8,30,1,1},
                {8,50,1,0}
              };
В цикле loop() нашего скетча добавим проверку наступления события по расписанию и необходимых действий при наступлении события (см. листинг 7.4).
Листинг 7.4

void loop() {   
   …………
// проверяем наступление события для будильников
  if(millis()-millisalarms >= 20000) {
     for(int i=0;i<sizeof(alarms)/8;i++) {
        if(alarms[i].hours==tm.Hour && alarms[i].minutes==tm.Minute) {
           // установить реле
           digitalWrite(pinrelays[alarms[i].relay],alarms[i].value);  
        }
     }
     millisalarms=millis();
  }
……..
}


Скачать данный полностью скетч можно на сайте www.arduino-kit.ru по ссылке.



1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33 


Вверх