Olá pessoal, hoje um amigo meu pediu para que eu fizesse um sistema na casa dele onde um sensor de movimento que aciona a lâmpada fosse ligada automaticamente as 20:00 e desligasse as 5:00. Isso porque ele não quer que a lâmpada acenda quando alguém passa de dia ou antes desse horário. Dei a ideia de por um LDR para funcionar sozinho dependo da luminosidade do dia, mas ele disse que lá é quase sempre escuro, e que só quer a lâmpada acendendo nesse horário que é mais frequente sua chegada.
Pensei fazer isso com arduino, usando o seguinte código:
// Programação Timer sensorconst int Rele = 11; //Pino do Relevoid setup(){ Serial.begin(9600); pinMode(Rele, OUTPUT); //Definido como saída}void loop(){ digitalWrite(Rele, HIGH); //Sensor acende delay(32400000); //Espera 9 Horas digitalWrite(Rele, LOW); //Sensor desliga delay(54000000); //Espera 15 Horas}
Esse código só seria válido se o Arduino fosse ligado exatamente as 20:00, pois ele não interpreta o tempo real que se passa, mas sim quantos milisegundos (delay) se passaram depois que foi ligado.
Gostaria de saber se há como fazer uma programação com o horário real, pois caso caia a energia, terá de ligar o arduino novamente no mesmo horário. Se for ligado as 5:00, terá apenas que inverter o delay e o estado do rele. Mas o mais interessante seria trabalhar com horário real. Há alguma ideia/biblioteca que auxilie nisso?
Obrigado!