Ви не увійшли.
Сторінки 1
Спасибо. Я уже исправил все ошибки))
Когда выключаю из сети или перезапускаю монитор порта скидывается время. Как исправить? Батарейка стоит.
#include <RTC.h>
#define PIN_RELAY 5
RTC time;
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(35,10,20); // 35 сек, 10 мин, 20 час
}
void loop(){
if(millis()%1000==0) // если прошла 1 секунда
Serial.println(time.gettime("H:i:s")); // выводим время
delay(1);
if (time.seconds==45)
digitalWrite(PIN_RELAY, LOW);
if (time.seconds==15)
digitalWrite(PIN_RELAY, HIGH);
}
Не получается))
у меня дс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 секунд выключать светодиод
Как раз для аквариума и делаю))
Спасибо большое!
Подправил, но все равно не работает
#include <RTC.h>
RTC time;
void setup() {
pinMode(3, OUTPUT);
delay(300);
Serial.begin(9600);
time.begin(RTC_DS1302,10,13,12); //вывод RST(10), вывод CLK(13), вывод DAT(12)
time.settime(35,10,20); // 35 сек, 10 мин, 20 час
}
void loop(){
String str = Serial.readString();
if(millis()%1000==0) // если прошла 1 секунда
Serial.println(time.gettime("H:i:s")); // выводим время
delay(1); // приостанавливаем на 1 мс, чтоб не выводить время несколько раз за 1мс
if (str == "0,11,20") digitalWrite(3, HIGH);
if (str == "30,11,20") digitalWrite(3, LOW);
}
Кто нибудь может помочь со скетчем?
Привести в нормальный вид 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);
}
}
}
Кто нибудь может помочь со скетчем
Привести в нормальный вид 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);
}
}
}
Сторінки 1