Programa para controlar uma luminária de aquário

Olá pessoal!!
Sou leigo na área do arduino…

Preciso de um programa que controla a luminária do aquário com um sensor IR.
Ligar e desligar a barra de led com uma tecla do controle e outra tecla para controlar um timer de 6 horas, na qual quando apetado permanecerá ligado por 6 horas e desligara automaticamente e quando eu voltar a apertar o botão do liga/desliga a barra de led deve desligar, ou seja, o arduino não pode ficar parado por 6 horas ele deve ler outros comandos e interferir na tarefa atual.

Se puderem de ajudar, eu agradeço muito, pois já estou há quase 1 mês estudando e testando e não consegui o resultado. :frowning:

Olá.
Acho que você precisa de um contador baseado em millis () ou em micros (). Tente usar um código semelhante a este:

//Coloque aqui o que preciso para o seu programa 

int segundos,horas,minutos;
unsigned long tp,atp;
int perdidas;

void setup() {
//Coloque aqui o que preciso para o seu programa 
atp=micros(); 
}

void loop() {  
  tp = micros() - atp + perdidas;
  perdidas = 0;
  if ((unsigned long)(tp >= 1000000)){
    if (tp >= 1000000){
      atp = micros();
      perdidas = tp - 1000000;
      if (segundos > 0){segundos--;}
         else {if ((segundos==0)&&(minutos==0)&&(horas==0)){final();}
            segundos = 59;
            if (minutos > 0){minutos--;}
               else{minutos=59; 
                   if (horas > 0){horas--;}
                   }
           }
  }
//  Em alguma parte de seu programa, ele ligaria os LEDs e definiria a variável horas = 6 para iniciar a contagem. 
}

void final(){
//Gostaria de desligar os LEDs e fazer o que for necessário para não interferir no botão manual  
}

Este código não interromperia nenhuma outra função que seu arduino devesse fazer.
Saudações.

1 Like

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.