Ligar e desligar rele com RTC em dias alternados e horas usando Arduino uno

Boas

Gostava que me facultassem os codigos para poder acionar lampadas atraves de reles que estão ligados ao arduino

Por exemplo: Ligar 2ª ;4ª e 6ª as 18h00 e desligar as 00H30

Domingo; 3ª; e 5ª Ligar as 22H00 e desligar as 11h00.

Preciso da vossa ajuda

desde já o meu obrigado

Exibições: 13535

Responder esta

Respostas a este tópico

cara isso parece simples mais o problema é que não tenho o rtc para testar o código. se eu tivesse como testar eu te mandava a programação ok.

Boas Tiago

Obrigado pela informação mas estive nesses links

Não consigo é imprimir no serial a data e a hora por dar erro em

RTC.get(rtc,true);
os erros são


botoes_31223.ino: In function 'void loop()':
botoes_31223:235: error: no matching function for call to 'DS1307RTC::get(int [7], int)'
C:\Users\Antonio\Documents\Arduino\libraries\DS1307RTC/DS1307RTC.h:17: note: candidates are: static time_t DS1307RTC::get()

Antonio, você conseguiu fazer identificar o dia da semana?

Estava testando aqui com meu RTC, mas de fato a biblioteca RTCLib não possui a versão para dias da semana, por isso da o Erro.

Posta o código que você está utilizando, para eu ver se foi o mesmo que testei

Esperimenta esta se da

é a serial Easy

Anexos

não sei porque, mas ta dando acesso negado para download

Tiago Vê este Link

http://www.henningkarlsen.com/electronics
tem lá o que precisas

Antonio, perfeito, obrigado pela contribuição com essa Lib, parecia simples, mas não é fácil de achar, quando estiver em casa vou ver se consigo elaborar algo.

Antonio eu tentei aqui fazer aqui eu consegui algo com a própria RTClib, só não soube utilizar o Case para converter o valor de 0 a 6 em dias da semana Str, mas para o que você quer da para utilizar tranquilo.

segue o código em anexo e lib RTC que utilizei, veja se você consegue melhorar alguma coisa ai.

bom projeto

Anexos

Obrigado Tiago

Fiquei tentado mas dá erro   RTC_DS1307 rtc;

\RealTime_code/DS1307.h:47: error: 'boolean' has not been declared

se usar o rtc 1302  tenho um codigo pronto aki

#include <DS1302.h>

// Init the DS1302
DS1302 rtc(2, 3, 4);

// Init a Time-data structure
Time t;

//Dia da semana para ligar, sendo Segunda 1 e Domingo 7
int dl = 1;
//Hora de Ligar
int hl=15;
//Minuto de Ligar
int ml=34;
//Segundos de Ligar
int sl=0;

//Dia da semana para desligar, sendo Segunda 1 e Domingo 7
int dd = 1;
//Hora de Desligar
int hd=15;
//Minuto de Desligar
int md=34;
//Segundodo de Desligar
int sd=20;

int led = 13;

void setup()
{
// Set the clock to run-mode
rtc.halt(false);
rtc.writeProtect(true);
// Setup Serial connection
Serial.begin(9600);
pinMode(led, OUTPUT);
}

void loop()
{
// t recebe a data
t = rtc.getTime();
//Função para Ligar
if(t.dow ==dl)
if(t.hour == hl)
if(t.min == ml)
if(t.sec == sl){
//coloque abaixo as instruções que deseja serem executadas
Serial.println("LED Ligado!");
digitalWrite(led, HIGH);
//delay de 1 segundo para garantir não acionar duas vezes
delay (1000);
}

//Função para Desligar
if(t.dow ==dd)
if(t.hour == hd)
if(t.min == md)
if(t.sec == sd){
//coloque abaixo as instruções que deseja serem executadas
Serial.println("LED Desligado!");
digitalWrite(led, LOW);
//delay de 1 segundo para garantir não acionar duas vezes
delay (1000);
}
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço