Часы с будильником состоят из платы Arduino Nano (Uno), LCD индикатора 1602 и модуля часов реального времени DS3231 (ZS-042). Помимо текущего времени на экране индикатора отображается дата, день недели, месяц, год и температура. Будильник в часах один, он позволяет выставить время срабатывания в минутах и часах, так же предусмотрено его отключение, а так же работа каждый день, в будние дни и по выходным. Установка времени срабатывания будильника осуществляется кнопками «К», «+» и «-«. Сигнал будильника звучит в течении одной минуты, но если нажать на одну из кнопок «+» или «-«. сигнал будильника можно прервать. Время срабатывания будильника и режим его работы сохраняются в энергонезависимой памяти.
Устанавливать время на часах не нужно, так как предусмотрена коррекция времени при прошивке микроконтроллера. Для этого необходимо раскомментировать строчку:
// clock.setDateTime(__DATE__, __TIME__);
Далее залейте скетч в плату, закомментируйте строчку и залейте скетч повторно.
#include <Wire.h> #include <DS3231.h>//https://github.com/jarzebski/Arduino-DS3231/archive/master.zip // DS3231.zip DS3231 clock;RTCDateTime DateTime; #include <LiquidCrystal.h> #include <EEPROM.h> //#include <EEPROMex.h> LiquidCrystal lcd(7, 8, 9, 10, 11, 12);// RS,E,D4,D5,D6,D7 int k,m,h,i,w,reg,ton; byte rom0,rom1,rom2; unsigned long eeprom; void setup(){Serial.begin(9600); lcd.begin(16,2);// LCD 16X2 Wire.begin(); clock.begin(); pinMode(2,INPUT);pinMode(3,INPUT);pinMode(4,INPUT); // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча rom0 = EEPROM.read(0);if(rom0>59){EEPROM.update(0,0);} rom1 = EEPROM.read(1);if(rom1>23){EEPROM.update(1,0);} rom2 = EEPROM.read(2);if(rom2>3){EEPROM.update(2,0);} m=rom0;h=rom1;w=rom2; } void loop(){i++;if(i>4){i=0;} if(digitalRead(2)==HIGH){k++;reg=1;delay(300);}if(k>3){k=0;reg=0;} if(reg==1) { if(k==1){ if(digitalRead(3)==HIGH){m++;}if(m>59){m=59;} if(digitalRead(4)==HIGH){m--;}if(m<0){m=0;}} if(k==2){ if(digitalRead(3)==HIGH){h++;}if(h>23){h=23;} if(digitalRead(4)==HIGH){h--;}if(h<0){h=0;}} if(k==3){ if(digitalRead(3)==HIGH){w++;delay(300);}if(w>3){w=0;} if(digitalRead(4)==HIGH){w--;delay(300);}if(w<0){w=3;} } lcd.setCursor(0,0);lcd.print("Alarm "); if(i==1&&k==2){lcd.print(" ");}else{if(h < 10 ){lcd.print("0");}lcd.print(h);} lcd.print(":"); if(i==1&&k==1){lcd.print(" ");}else{if(m < 10 ){lcd.print("0");}lcd.print(m);} lcd.setCursor(0,1); if(i==1&&k==3){lcd.print(" ");} if(w==0){lcd.print("every day");} //каждый день 1234567 if(w==1){lcd.print("on weekdays");}//по будням 12345 if(w==2){lcd.print("on weekends");}//по выходным 67 if(w==3){lcd.print("off");} rom0=m;rom1=h;rom2=w; eeprom=0; } if(reg==0){if(eeprom==1){EEPROM.update(0,rom0);EEPROM.update(1,rom1);EEPROM.update(2,rom2);} DateTime=clock.getDateTime(); // Считываем c часов текущие значения даты и времени в сущность DateTime lcd.setCursor(0,0); lcd.print(clock.dateFormat("H:i:s ",DateTime));// выводим часы, минуты и секунды lcd.print(clock.readTemperature(),1);lcd.print((char)223);lcd.print("C");// выводим значение температуры lcd.setCursor(0,1);lcd.print(clock.dateFormat("D d M Y", DateTime));// выводим день недели, дату, месяц и год } if(digitalRead(3)==HIGH||digitalRead(4)==HIGH){ton=1;} if(DateTime.hour*60+DateTime.minute!=h*60+m){ton=0;} if(w==0){pic();} if(w==1&&(DateTime.dayOfWeek<6)){pic();} if(w==2&&(DateTime.dayOfWeek>5)){pic();} eeprom++; delay(200); lcd.clear(); } void pic(){if(ton==0&&(DateTime.hour*60+DateTime.minute==h*60+m)){tone(5,1200,500);delay(500);}} // форум - http://forum.rcl-radio.ru/viewtopic.php?pid=927#p927
Второй вариант часов с будильником выполнен с использованием четырех разрядного семисегментного индикатора на базе драйвера TM1637 (модуль TM1637).
При нажимании кнопки «К» происходит перебор элементов меню, вывод секунд, даты и месяца, температуры, установка времени будильника, включение или отключение будильника, яркость индикатора.
#include <Wire.h> #include <TM1637Display.h> #include <DS3231.h> #include <EEPROM.h> //#include <EEPROMex.h> DS3231 clock; // ПОДКЛЮЧЕНИЕ DS3231 SDA, SCL, SQW / A4, A5, D6 RTCDateTime DateTime; TM1637Display display(4, 5);// ПОДКЛЮЧЕНИЕ TM1637 CLK,DIO / 4, 5 int k,alarm_m,alarm_h; byte w = 1,x,y,z,menu,ton,on=1; uint8_t date_s[]{0,0,0,0};// second uint8_t date_t[]{0x78,0,0,0};// t uint8_t date_on[]{0,0,0x3f,0x37};// ON uint8_t date_off[]{0,0x3f,0x71,0x71};// OFF void setup() { // clock.setDateTime(__DATE__, __TIME__); display.setBrightness(1);// яркость TM1637 0-7 Wire.begin(); clock.begin(); pinMode(6,INPUT);pinMode(10,INPUT);pinMode(11,INPUT);pinMode(12,INPUT); alarm_m = EEPROM.read(0);alarm_h = EEPROM.read(1);z = EEPROM.read(3);// ЧТЕНИЕ EEPROM } void loop() { DateTime = clock.getDateTime(); // ОПРОС ВРЕМЕНИ k = DateTime.hour*100+DateTime.minute; // ВРЕМЯ КАК ЧИСЛО ННММ if(digitalRead(6) == HIGH){x = 0x40;}else{x = 0x00;} // МИГАНИЕ ДВОЕТОЧИЯ if(digitalRead(10) == HIGH){menu++;delay(300);if(menu > 6){menu = 0;}} // ПЕРЕБОР МЕНЮ if(menu == 0){y = true;if(w == 0){EEPROM.update(0,alarm_m);EEPROM.update(1,alarm_h);EEPROM.update(3,z);} w = 1;} // ПРИ ВЫХОДЕ ИЗ МЕНЮ ОБНОВЛЕНИЕ EEPROM if(menu == 1){k = DateTime.second;date_s[2] = display.encodeDigit((k/10)%10); date_s[3] = display.encodeDigit((k%10)%10);display.setSegments(date_s); } // ВЫВОД СЕКУНД if(menu == 2){k = DateTime.day*100 + DateTime.month;x = 0x40;} // ВЫВОД ДАТЫ И МЕСЯЦА if(menu == 3){k = clock.readTemperature();date_t[2] = display.encodeDigit((k/10)%10); date_t[3] = display.encodeDigit((k%10)%10);display.setSegments(date_t);} // ВЫВОД ТЕМПЕРАТУРЫ if(menu == 4){y = true;x = 0x40;k = alarm_h*100+alarm_m; // УСТАНОВКА БУДИЛЬНИКА if(digitalRead(12) == HIGH){alarm_m++;delay(300);}if(alarm_m > 59){alarm_m = 0;} // МИНУТЫ БУДИЛЬНИКА if(digitalRead(11) == HIGH){alarm_h++;delay(500);}if(alarm_h > 23){alarm_h = 0;} // ЧАСЫ БУДИЛЬНИКА w = 0;} if(menu == 5){ if(digitalRead(11) == HIGH){on=1;delay(300);}if(on==1){display.setSegments(date_on);} // БУДИЛЬНИК ВКЛЮЧЕН if(digitalRead(12) == HIGH){on=0;delay(300);}if(on==0){display.setSegments(date_off);} // БУДИЛЬНИК ВЫКЛЮЧЕН } if(menu == 6){y = false;x = 0x00;k = z; // НАСТРОЙКА ЯРКОСТИ ИНДИКАТОРА if(digitalRead(11) == HIGH){z++;delay(500);}if(z > 7){z = 0;} if(digitalRead(12) == HIGH){z--;delay(500);}if(z > 8){z = 7;} w = 0;} if(digitalRead(11)==HIGH||digitalRead(12)==HIGH){ton=1;} // ПРИ НАЖАТИИ НА КНОПУ + ИЛИ - ПРЕРЫВАЕТСЯ СИГНАЛ БУДИЛНИКА if(DateTime.hour*100+DateTime.minute!=alarm_h*100+alarm_m){ton=0;} if(on==1){pic();} display.setBrightness(z); if(menu == 3 || menu == 5 || menu == 1){}else{display.showNumberDecEx(k,x,y);} } void pic(){if(ton==0&&(DateTime.hour*100+DateTime.minute==alarm_h*100+alarm_m)){tone(7,1000,500);delay(1000);}} // СИГНАЛ БУДИЛЬНИКА, 7 ЦИФРОВОЙ ВЫХОД
тут выдает ошибку теперь
if(menu1==0){if(menu == 3 || menu == 5 || menu == 1){}else{display.showNumberDecEx(k,x,y);}}
в этом режиме , работает но на некоторых пунктах меню как будто друг на друга ложиться
if(digitalRead(9) == HIGH){menu1++;delay(300);menu=100;if(menu1 > 3){menu1 = 0;}} // ПЕРЕБОР настроек редактирования времени
if(digitalRead(10) == HIGH){menu++;delay(300);menu1=100;if(menu > 6){menu = 0;}} // ПЕРЕБОР МЕНЮ
сделал так ,все хорошо работает
if(digitalRead(9) == HIGH){menu1++;delay(300);menu=100;if(menu1 > 3){menu1 = 0;}} // ПЕРЕБОР настроек редактирования времени
if(digitalRead(10) == HIGH){menu++;delay(300);if(menu > 6){menu = 0;}} // ПЕРЕБОР МЕНЮ
к примеру
/// редактирование часов +-
if(menu1 == 4){y = true;x = 0x40;k = set_h*100+set_m; //выводим на индикатор часы
if(digitalRead(12) == HIGH){set_h++;delay(300);w1 = 0;}if(set_h > 23){set_h = 0;}// прибавляет часы
if(digitalRead(11) == HIGH){set_h—;delay(300);w1 = 0;}if(set_h 59){set_m = 0;}// прибавляет минуты
if(digitalRead(11) == HIGH){set_m—;delay(300);w1 = 0;}if(set_m < 0){set_m = 0;} // убавляем минуты
}
при установки получается одно и тоже , тока меняется установки, я пытался сделать если устанавливаю часы чтобы выводилось значение часов 14 а заместо минут — в целом 14:—, создал uint8_t date_f[]{0,0,0×40,0x40};// 0X40 выводит —, подставить так и не получилось
Добрый вечер.Есть небольшая проблемка, выставляю часы в полночь два нуля есть все нормально, отключаю питание они пропадают, захожу в настройку появляются , выключаю питание изсчезают снова, вот код, может напутал что при изменении значений
Почему на LCD дисплее отображается только температура?
В старой версии arduino IDE (1:1,0,5) время показывает, в новой нет, пока работаю над решением этой проблемы.
В файле библиотеки DS3231.cpp найдите строчку:
char buffer[255];
и замените ее на:
static char buffer[255];
Приветствую,
не загужается скетч(на модуле TM1637)
ощибка в 44 строке
delay
exit status 1
stray ‘\320’ in program
полный лог ошибки:
sketch_sep26a:44:113: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:114: error: stray ‘\245’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:115: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:116: error: stray ‘\222’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:117: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:118: error: stray ‘\230’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:119: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:120: error: stray ‘\233’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:121: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:122: error: stray ‘\230’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:123: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:124: error: stray ‘\235’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:125: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:126: error: stray ‘\230’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:128: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:129: error: stray ‘\221’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:130: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:131: error: stray ‘\243’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:132: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:133: error: stray ‘\224’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:134: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:135: error: stray ‘\230’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:136: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:137: error: stray ‘\233’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:138: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:139: error: stray ‘\254’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:140: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:141: error: stray ‘\235’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:142: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:143: error: stray ‘\230’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:144: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:145: error: stray ‘\232’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:146: error: stray ‘\320’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:147: error: stray ‘\220’ in program
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:7:1: error: ‘TM1637’ does not name a type
TM1637 Display display ( 4 , 5 ) ; // ПІДКЛЮЧЕННЯ TM1637 CLK,DIO / 4, 5
^~~~~~
‘void setup()’:
sketch_sep26a:18:4: error: ‘display’ was not declared in this scope
display. setBrightness ( 1 ) ; // Яскравість TM1637 0-7
^~~~~~~
delay
sketch_sep26a.ino: In function ‘void loop()’:
sketch_sep26a:34:60: error: ‘display’ was not declared in this scope
if ( menu == 1 ) { k = DateTime. second ; date_s [ 2 ] = display. encodeDigit ( ( k / 10 ) % 10 ) ;
^~~~~~~
note: suggested alternative: ‘delay’
if ( menu == 1 ) { k = DateTime. second ; date_s [ 2 ] = display. encodeDigit ( ( k / 10 ) % 10 ) ;
^~~~~~~
delay
sketch_sep26a:40:72: error: ‘display’ was not declared in this scope
if ( menu == 3 ) { k = clock . readTemperature ( ) ; date_t [ 2 ] = display. encodeDigit ( ( k / 10 ) % 10 ) ;
^~~~~~~
note: suggested alternative: ‘delay’
if ( menu == 3 ) { k = clock . readTemperature ( ) ; date_t [ 2 ] = display. encodeDigit ( ( k / 10 ) % 10 ) ;
^~~~~~~
delay
sketch_sep26a:44:109: error: expected primary-expression before ‘/’ token
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:44:111: error: expected primary-expression before ‘/’ token
if ( digitalRead ( 12 ) == HIGH ) { alarm_m ++ ; delay ( 300 ) ; } if ( alarm_m > 59 ) { alarm_m = 0 ;} / / ХВИЛИНИ БУДИЛЬНИКА
^
sketch_sep26a:45:1: error: expected primary-expression before ‘if’
if ( digitalRead ( 11 ) == HIGH ) { alarm_h ++ ; delay ( 500 ) ; } if ( alarm_h > 23 ) { alarm_h = 0 ; } // ГОДИННИК БУДИЛЬНИКА
^~
sketch_sep26a:49:82: error: ‘display’ was not declared in this scope
if ( digitalRead ( 11 ) == HIGH ) { on = 1 ; delay ( 300 ) ; } if ( on == 1 ) { display. setSegments ( date_on ) ; } // Будильник включений
^~~~~~~
note: suggested alternative: ‘delay’
if ( digitalRead ( 11 ) == HIGH ) { on = 1 ; delay ( 300 ) ; } if ( on == 1 ) { display. setSegments ( date_on ) ; } // Будильник включений
^~~~~~~
delay
sketch_sep26a:50:81: error: ‘display’ was not declared in this scope
if ( digitalRead ( 12 ) == HIGH ) { on =0 ; delay ( 300 ) ; } if ( on == 0 ) { display. setSegments ( date_off ) ; } // Будильник вимкнений
^~~~~~~
note: suggested alternative: ‘delay’
if ( digitalRead ( 12 ) == HIGH ) { on =0 ; delay ( 300 ) ; } if ( on == 0 ) { display. setSegments ( date_off ) ; } // Будильник вимкнений
^~~~~~~
delay
sketch_sep26a:59:46: error: expected ‘)’ before ‘!’ token
if ( DateTime. hour * 100 + DateTime. minute ! = alarm_h * 100 + alarm_m ) { ton = 0 ; }
^
sketch_sep26a:62:1: error: ‘display’ was not declared in this scope
display. setBrightness ( z ) ;
^~~~~~~
delay
exit status 1
stray ‘\320’ in program
http://forum.rcl-radio.ru/viewtopic.php?pid=8681#p8681
Благодарю,
все работает
залил скетч http://forum.rcl-radio.ru/viewtopic.php?pid=8681#p8681 и не работает
не устанавливается время и дата
манипуляции со строкой clock.setDateTime(__DATE__, __TIME__); произвел не помогает
модуль ds3231 исправен, залил пробный скетч все исправно работает
Что именно не работает? Скетч загружается?
clock.setDateTime(__DATE__, __TIME__); эту строку закомментировали. Ручная установка времени не работает?
clock.setDateTime(__DATE__, __TIME__); эту строку розкоментировал и залил
потом закоментировал и с нова залил
вместо реального времени 00_00
в ручную время не устанавливается
Проверить смогу только завтра, все модули на работе, дома нет.
Я поправил скетч — http://forum.rcl-radio.ru/viewtopic.php?pid=8681#p8681
теперь работает как надо
благодарю!