loop no RTC_ds1307 os if com horarios definidos quando saio do monitor serial ele desliga o led alguem pode me ajudar

// Date and time função usando a DS1307 RTC conectado a via I2C and Wire lib

#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 rtc;

int pino = 12; // pino relê
/////int State = LOW;


void setup () {

pinMode(pino,OUTPUT);

Serial.begin(9600);
#ifdef AVR
Wire.begin();
#else
Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due
#endif
rtc.begin();

if (! rtc.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
rtc.adjust(DateTime(__DATE__, __TIME__));
}
}

void loop () {

relogio ();
lampada1();
// lampada2();
}
void relogio (){
DateTime now = rtc.now();

Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.println(now.dayOfWeek()); // 0 = a domingo, 1 = segunda, ... e 6 = sabado.
Serial.println();
delay(1000);
}

void lampada1(){
DateTime now = rtc.now();
int dia = now.dayOfWeek();// dia 0 = dom e 6 = sab
//// digitalWrite(pino, State);
////////if (((now.hour() >= 18) && ((now.hour() <= 24) && (now.minute() <= 30)) && (dia == 1 || dia == 3 || dia == 5))){ // liga seg, quar, sex
if (((now.hour() == 21) && (now.minute() == 56) && (dia == 1 || dia == 2 || dia == 3 || dia == 4 || dia == 5))){ // liga seg, quar, sex ________LIGA ALOMÇO
digitalWrite(pino, HIGH);
}

if (((now.hour() == 21) && (now.minute() == 57) && (dia == 1 || dia == 2 || dia == 3 || dia == 4 || dia == 5))){ // liga seg, quar, sex ________DESLIGA ALOMOÇO
digitalWrite(pino, LOW);
delay(1000);
}


if (((now.hour() == 21) && (now.minute() == 58) && (dia == 1 || dia == 2 || dia == 3 || dia == 4 || dia == 5))){ // liga seg, quar, sex _______LIGA JANTA
digitalWrite(pino, HIGH);
}
if (((now.hour() == 21) && (now.minute() == 59) && (dia == 1 || dia == 2 || dia == 3 || dia == 4 || dia == 5))){ // liga seg, quar, sex _______DESLIGA JANTA
digitalWrite(pino, LOW);

delay(1000);

}
if (((now.hour() == 22) && (now.minute() == 03) && (dia == 1 || dia == 2 || dia == 3 || dia == 4 || dia == 5))){ // liga seg, quar, sex _______ON FINAL TURNO
digitalWrite(pino, HIGH);
}
if (((now.hour() == 22) && (now.minute() == 05) && (dia == 1 || dia == 2 || dia == 3 || dia == 4 || dia == 5))){ // liga seg, quar, sex _______OFF FINAL TURNO
digitalWrite(pino, LOW);
delay(1000);
}
if (((now.hour() == 22) && (now.minute() == 07) && (dia == 2 || dia == 6 || dia == 0))){ // liga seg, quar, sex _______ON FINAL SEMANA
digitalWrite(pino, HIGH);
delay(1000);


}
if (((now.hour() == 22) && (now.minute() == 15) && (dia == 2))){ // liga seg, quar, sex _______OFF FINAL SEMANA
digitalWrite(pino, LOW);
delay(1000);
}
}

Exibições: 153

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço