DIY hacka din egen hem Automation System (10 / 11 steg)
Steg 10: Timing är allt!
Inuti både Controller_nRF.ino skiss och Receiver_nRF.ino används grundläggande timers för att skapa en tillståndsdator som sjunker in och kontrolleras kontinuerligt.
Timer-objekt med inbyggda flaggor:
Timer Timer_Log = {NULL-TIMER_LOG, 300000UL, sant, falskt, 0,}; < br > Timer Timer_rxData = {TIMER_RX_DATA, 2500L, sant, falskt, 0 & Timer_Log};
Timer Timer_Save_Settings = {TIMER_SAVE_SETTINGS, 3600000UL, sant, falskt, 0 & Timer_Log};
Timer Timer_Sensor_Read =
{TIMER_SENSOR_READINGS, 5000UL, sant, falskt, 0 & Timer_Save_Settings};
Timer Timer_Alerts = {TIMER_ALERTS, 60000UL, sant, falskt, 0 & Timer_Sensor_Read};
tidpunkten är i mikrosekunder. Enligt standard har källa koden i Timer_Log en frekvens på 5 minuter.
Inuti loop av Controller_nRF.ino och vilka åtgärder som skall vidtas:
om (clockFlag == true) {
om (checkTimer (& Timer_Log)) {checkAppliances();}
om (checkTimer (& Timer_Sensor_Read)) {keepAlive(); readSensors(); TheDecider(); }
}