Не работает ds1302 и реле на подсветку
- Войдите на сайт для отправки комментариев
Ср, 09/03/2016 - 20:58
Добрый день!
Решил сделать подсветку для рассады, в наличии есть ds1302 и реле с ардуино нано.
После долгих поисков примеров работы с ds1302 так ничего и не удалось сделать, реле рабочее, время в сериал тоже верное посылает, но не срабатывает. Подскажите, пожалуйста, куда копать, чтобы зарабтало?
#include <DS1302.h>
DS1302 rtc(4, 2, 3);
int IN3 = 6;
char* timeon = "06:00:00";
void setup()
{
rtc.halt(false);
rtc.writeProtect(false);
Serial.begin(9600);
pinMode(IN3,OUTPUT);
}
void loop()
{
if (rtc.getTimeStr() == timeon) //Сравнивается текущее время с нужным
{ digitalWrite(IN3, HIGH);
delay (200000);
digitalWrite(IN3, LOW);
}
Serial.println(rtc.getTimeStr());
delay (1000);
}
char* timeon ="06:00:00";if(rtc.getTimeStr() == timeon)- это что за ужасы? )))после этого можно обращаться к отдельным элементам структуры, извлекая из них значения часов, минут, даты и т. п.
перед
voidsetup()надо написать
Time xxx – создает структуру данных с именем xxx для вывода данных о дате и времени при помощи функции getTime. Структура состоит из следующие переменных:
в лупе надо написатьтеперь уже
t.hour - час t.min минута и тп, вот их и сравнивай ))
http://nnm.me/blogs/pencraft/arduino-i-chasy-na-mikrosheme-dallas-ds1307/
http://lesson.iarduino.ru/page/podklyuchenie-rtc-chasy-realnogo-vremeni-ds1302-ds1307-ds3231-k-arduino/
Может кому пригодится, библиотеку брал из http://lesson.iarduino.ru/page/podklyuchenie-rtc-chasy-realnogo-vremeni-ds1302-ds1307-ds3231-k-arduino/ , время прописал в ds1302 один раз. Ардуино питается с резервным аккумулятором, поэтому код предельно простой.
#include <RTC.h> RTC time; int Relay = 6; void setup() { Serial.begin(9600); pinMode(Relay,OUTPUT); time.begin(RTC_DS1302,4, 3, 2); } void loop(){ time.gettime(); time.period(30); if (time.Hours==06 && time.minutes==00 && time.seconds==00) // Включается реле в 6 утра {digitalWrite(Relay, HIGH);} if (time.Hours==20 && time.minutes==00 && time.seconds==00) // Выключатся реле в 23:00 {digitalWrite(Relay, LOW);} }Благодарю releyshic за совет!