interruptor programavel com modulo ds3231
char titulo[]= "interruptor programavel com modulo ds3231";
char versao[]= "Versao: 1.0";
//22-12-2019
//pedroluand@gmail.com
#include <Wire.h> //Biblioteca para manipulação do protocolo I2C
#include <DS3231.h> //Biblioteca para manipulação do DS3231
DS3231 rtc; //Criação do objeto do tipo DS3231
RTCDateTime dataehora; //Criação do objeto do tipo RTCDateTime
void setup()
{
Serial.begin(9600); //Inicialização da comunicação serial
rtc.begin(); //Inicialização do RTC DS3231
pinMode(8,OUTPUT); //controle do rele
pinMode(9,INPUT_PULLUP); //botão teste
pinMode(10,OUTPUT); //led do sistema
Serial.println(titulo);
Serial.println(versao);
//Serial.print("Programa: interruptor programavel com modulo ds3231 v:1.0");
digitalWrite(9,HIGH); //indica o sistema ligado
//rtc.setDateTime(__DATE__, __TIME__); //Configurando para acertar horário do RTC DS3231
}
void loop(){
//aciona o rele por uma hora
int val = digitalRead(9);
if (val == LOW)
{
digitalWrite(8,HIGH);
delay(3600000);
digitalWrite(8,LOW);
}
//aciona o rele
if(dataehora.minute == 18 && dataehora.minute == 0 && dataehora.second == 0)
{
digitalWrite(8,HIGH);
}
//desarma o rele
if(dataehora.minute == 0 && dataehora.minute == 0 && dataehora.second == 0)
{
digitalWrite(8,LOW);
}
//Atribuindo valores instantâneos de data e hora à instância dataehora
dataehora = rtc.getDateTime();
if(dataehora.hour<10)
{
Serial.print("0");
}
Serial.print(dataehora.hour);
if(dataehora.minute<10)
{
Serial.print (":0");
}
if(dataehora.minute>=10)
{
Serial.print (":");
}
Serial.print (dataehora.minute);
if(dataehora.second<10)
{
Serial.print (":0");
}
if(dataehora.second>=10)
{
Serial.print (":");
}
Serial.println (dataehora.second);
delay(1000); //Tempo p atualização
}
char versao[]= "Versao: 1.0";
//22-12-2019
//pedroluand@gmail.com
#include <Wire.h> //Biblioteca para manipulação do protocolo I2C
#include <DS3231.h> //Biblioteca para manipulação do DS3231
DS3231 rtc; //Criação do objeto do tipo DS3231
RTCDateTime dataehora; //Criação do objeto do tipo RTCDateTime
void setup()
{
Serial.begin(9600); //Inicialização da comunicação serial
rtc.begin(); //Inicialização do RTC DS3231
pinMode(8,OUTPUT); //controle do rele
pinMode(9,INPUT_PULLUP); //botão teste
pinMode(10,OUTPUT); //led do sistema
Serial.println(versao);
//Serial.print("Programa: interruptor programavel com modulo ds3231 v:1.0");
digitalWrite(9,HIGH); //indica o sistema ligado
//rtc.setDateTime(__DATE__, __TIME__); //Configurando para acertar horário do RTC DS3231
}
void loop(){
//aciona o rele por uma hora
int val = digitalRead(9);
if (val == LOW)
{
digitalWrite(8,HIGH);
delay(3600000);
digitalWrite(8,LOW);
}
//aciona o rele
if(dataehora.minute == 18 && dataehora.minute == 0 && dataehora.second == 0)
{
digitalWrite(8,HIGH);
}
//desarma o rele
if(dataehora.minute == 0 && dataehora.minute == 0 && dataehora.second == 0)
{
digitalWrite(8,LOW);
}
//Atribuindo valores instantâneos de data e hora à instância dataehora
dataehora = rtc.getDateTime();
if(dataehora.hour<10)
{
Serial.print("0");
}
Serial.print(dataehora.hour);
if(dataehora.minute<10)
{
Serial.print (":0");
}
if(dataehora.minute>=10)
{
Serial.print (":");
}
Serial.print (dataehora.minute);
if(dataehora.second<10)
{
Serial.print (":0");
}
if(dataehora.second>=10)
{
Serial.print (":");
}
Serial.println (dataehora.second);
delay(1000); //Tempo p atualização
}
Comentários
Postar um comentário