Здравствуйте дорогие друзья! Создаю код для автоматического полива растения с помощью часов реального времени на основе кода ArtSmm. При компиляции выдает ошибку 'now' was not declared in this scope в этой строчке unsigned long curSeconds = (now.hour()*60 +now.minute() )*60; Может быть, кто-нибудь подскажет, как решить данную проблему? Заранее спасибо. Код (C++): // Date and time functions using a DS1307 RTC connected via I2C and Wire lib #include <Wire.h> #include "RTClib.h" //Условие для подсчета времени unsigned long curSeconds = (now.hour()*60 +now.minute() )*60; //Реле #define Relay 3 RTC_DS1307 rtc; void setup () { //Реле pinMode(Relay, OUTPUT); //Часы Wire.begin(); rtc.begin(); Serial.begin(9600); rtc.adjust(DateTime(2014, 8, 2, 6, 48, 0)); } void loop () { //Цикл полива по времени DateTime now = rtc.now(); //Выставляем нужное время полива в условии. if(curSeconds > (21*60+20)*60 && curSeconds < (21*60+20)*60+10) { digitalWrite(Relay, LOW); } else digitalWrite(Relay, HIGH); }
Код (C++): // Date and time functions using a DS1307 RTC connected via I2C and Wire lib #include <Wire.h> #include <RTClib.h> //Реле #define Relay 3 RTC_DS1307 rtc; void setup () { //Реле pinMode(Relay, OUTPUT); //Часы Wire.begin(); rtc.begin(); Serial.begin(9600); rtc.adjust(DateTime(2014, 8, 2, 6, 48, 0)); } void loop () { //Цикл полива по времени DateTime now = rtc.now(); //Условие для подсчета времени unsigned long curSeconds = (now.hour()*60 +now.minute() )*60; //Выставляем нужное время полива в условии. if(curSeconds > (21*60+20)*60 && curSeconds < (21*60+20)*60+10) { digitalWrite(Relay, LOW); } else digitalWrite(Relay, HIGH); }