Школьный звон на базе RTC часов и ARDUINO UNO

Kreeoleg

✩✩✩✩✩✩✩
30 Дек 2018
6
0
Возникла проблема в добавлении в нескольких будильников. Скетч не мой, дорабатываю только, при попытке добавить еще строки для будильника выдает ошибку в командах, кто поможет, возможно денежное возгнараждение если получиться реализировать свой проект, так как в сети подходящих работ нету а FLProg проблема с соединением програматора ардуино.

if(VAR_alarm_FLAG2){Func_alarm_action();
Func_buttons_control();






void setup() {
pinMode(PIN_button_SET, INPUT); // устанавливаем режим работы вывода PIN_button_SET, как "вход"
pinMode(PIN_button_UP, INPUT); // устанавливаем режим работы вывода PIN_button_UP, как "вход"
pinMode(PIN_button_DOWN, INPUT); // устанавливаем режим работы вывода PIN_button_DOWN, как "вход"
pinMode(PIN_alarm_TONE, OUTPUT); // устанавливаем режим работы вывода PIN_alarm_TONE, как "выход"
// pinMode(PIN_alarm_LED, OUTPUT); //! устанавливаем режим работы вывода PIN_alarm_LED, как "выход"
digitalWrite(PIN_alarm_TONE, LOW); // устанавливаем уровень логического «0» на выводе PIN_alarm_TONE
//igitalWrite(PIN_alarm_LED, LOW); //! устанавливаем уровень логического «0» на выводе PIN_alarm_LED
delay(300); // ждем 300мс
time.begin(); // инициируем RTC модуль
lcd.begin(); // инициируем LCD дисплей
lcd.createChar(1, MAS_alarm_SYM); // загружаем символ будильника под номером 1
}
void loop(){
if(millis()%400==0){ // если прошла 1 секунда
if(VAR_mode_SET==0){ // если дата/время/будильник выводятся, а не устанавливаются
lcd.setCursor(0, 0); // устанавливаем курсор в позицию: столбец 0, строка 0
lcd.print("TIME A-30"); // выводим текст "TIME A-30"
lcd.setCursor(19, 0); // устанавливаем курсор в позицию: столбец 19, строка 0
lcd.print(VAR_alarm_FLAG1?"\1":" "); // выводим значёк будильника
}else{ // если дата/время/будильник устанавливаются, а не выводятся
lcd.setCursor(5, 0); // устанавливаем курсор в позицию: столбец 0, строка 0
if(VAR_mode_SHOW==1){lcd.print("Setting time:" );}
if(VAR_mode_SHOW==2){lcd.print("Setting date:" );}
if(VAR_mode_SHOW==3){lcd.print("Setting alarm:");}
if(VAR_mode_SHOW==4){lcd.print("Setting al:");}
}
if(VAR_mode_SHOW==1){ // если установлен режим вывода времени
lcd.setCursor(0, 1); // устанавливаем курсор в позицию: столбец 0, строка 1
lcd.print(time.gettime("H:i:s")); // выводим время
}
if(VAR_mode_SHOW==2){ // если установлен режим вывода даты
lcd.setCursor(0, 1); // устанавливаем курсор в позицию: столбец 0, строка 1
lcd.print(time.gettime("d-m-Y")); // выводим дату
}
if(VAR_mode_SHOW==3){ // если установлен режим вывода будильника
lcd.setCursor(0, 1); // устанавливаем курсор в позицию: столбец 0, строка 1
if(VAR_mode_SET==0){
lcd.print("almar ");
}
time.gettime(); // обновляем значение переменной time.seconds, для "мигания" устанавливаемым параметром будильника
if(VAR_mode_SET==9&&time.seconds%2){lcd.print(" ");}else{if(VAR_alarm_HOUR<10){lcd.print("0");} lcd.print(VAR_alarm_HOUR);}
lcd.print(":");
if(VAR_mode_SET==8&&time.seconds%2){lcd.print(" ");}else{if(VAR_alarm_MIN<10){ lcd.print("0");} lcd.print(VAR_alarm_MIN);}
}
delay(1); // приостанавливаем на 1 мс, чтоб не выводить время несколько раз за 1мс
// проверка будильника
if(VAR_alarm_FLAG1){ // если будильник включён
if(time.seconds==00){ // если в текущем времени 0 секунд
if(time.minutes==VAR_alarm_MIN){ // если совпали минуты
if(time.Hours==VAR_alarm_HOUR){ // если совпали часы
VAR_alarm_FLAG2=true; // устанавливаем флаг разрешающий совершение действий будильника (сигнализация)
}
}
}
}else{VAR_alarm_FLAG2=false;} // если будильник выключен, то сбрасываем флаг разрешающий совершение действий будильника (сигнализация)
if(VAR_alarm_FLAG2){Func_alarm_action();}// запускаем действия будильника
}
Func_buttons_control(); // передаём управление кнопкам
}