Ви не увійшли.
Сторінки 1
Кто нибудь может помочь со скетчем
Привести в нормальный вид void loop
#include <RTC.h>
RTC time;
const int relPin = 3;
void setup() {
pinMode(relPin, OUTPUT);
delay(300);
Serial.begin(9600);
// инициализация модуля RTC
time.begin(RTC_DS1302,10,13,12); // вывод RST (10), вывод CLK (13), вывод DAT (12)
// запись даты и времени
time.settime(35,10,20); // 35 сек, 10 мин, 20 час, дату оставить без изменений
}
void loop(){
if(millis()%1000==0){ // если прошла 1 секунда
Serial.println(time.gettime("d-m-Y")); // выводим время
delay(1); // приостанавливаем на 1 мс, чтоб не выводить время несколько раз за 1мс
if(time.settime(0,0,10)){
digitalWrite(relPin, HIGH);
if(time.settime(0,0,22)){
digitalWrite(relPin, LOW);
}
}
}
Остання редакція zorg807 (2018-02-01 15:54:23)
Неактивний
а что вы хотите сделать?
посмотрите здесь человек для аквариума делал. уже все готовое
Неактивний
Не получается))
у меня дс1302 и одно реле
#include <RTC.h>
#define PIN_RELAY 5
RTC time;
int a=35;
int b=10;
int c=20;
void setup() {
Serial.begin(9600);
pinMode(PIN_RELAY, OUTPUT);
digitalWrite(PIN_RELAY, HIGH);
delay(300);
time.begin(RTC_DS1302,10,13,12); //вывод RST(10), вывод CLK(13), вывод DAT(12)
time.settime(a,b,c); // 35 сек, 10 мин, 20 час
}
void loop(){
if(millis()%1000==0) // если прошла 1 секунда
Serial.println(time.gettime("H:i:s")); // выводим время
delay(1);
if (a=45)
digitalWrite(PIN_RELAY, LOW); // в 45 секунд включать светодиод
if (a=15)
digitalWrite(PIN_RELAY, HIGH); // в 15 секунд выключать светодиод
}
Этот пункт не выполняется
if (a=45)
digitalWrite(PIN_RELAY, LOW); // в 45 секунд включать светодиод
if (a=15)
digitalWrite(PIN_RELAY, HIGH); // в 15 секунд выключать светодиод
Неактивний
я не пойму что вы хотите с аквариумом сделать. Освещение? Нагрев воды?
вобщем я палагаю что освещение. я дал вам ссылку на готовый пример, там 2 реле и диспей - удалите все что не нужно. А что вам мешает использовать ваш дс1302 с библиотекой RTClib
а в вашем скетче ,тут даже не понятно что вы делаете . где запрос времени от датчика?
и кроме того я бы вам посоветовал использовать юникс время
long utime = myTime.unixtime();
utime %= 86400;
Этот пункт не выполняется
"a" это что у вас?
вы в if не сравниваете, а присваеваете значение переменной.
= присвоить
== сравнить.
Остання редакція Selen (2018-02-01 20:47:10)
Неактивний
Сторінки 1