E ai pessoal, eu to com um projeto de TCC comigo que consiste em automação da lâmpada de um aquário, no caso ela tem que ligar e desligar em certo tempo, exemplo ela liga e fica ligada 12horas depois desliga fica desligada por mais 12 horas e depois torna a ligar, eu estou usando um arduino mega, a minha duvida é como faço para ligar a lâmpada sem interromper o ciclo de temporização da mesma !?

o que sei de linguagem C é muito pouca to começando agr

o codigo que tentei fazer tava assim:

const int S1 = 7;
const int S2 = 6;
const int S3 = 8;
const int led = 9;


int var = 0;
int var2 = 0;
int estado = 0;
int tempo = 0;
int tempo1 = 0;
int estadotempo = 0;

void setup()
{
  pinMode(S1,INPUT);
  pinMode(S2,INPUT);
  pinMode(S3,INPUT);
  pinMode(led,OUTPUT);
 
}

void loop()
{

var=digitalRead(S1);

if((var == HIGH) && (var2 == LOW))
{
estado = 1 - estado;
delay(20);
}
var2=var;

  if(estado == 1)
{
 digitalWrite(led,LOW);
 
 }
 
 else
 {
digitalWrite(led,HIGH);
 }
 
 
 tempo=digitalRead(S2);
 
  if((tempo == HIGH) && (tempo1 == LOW))
  {
   estadotempo = 1 - estadotempo;
   delay(20);    
   }
tempo1=tempo;

    if(estadotempo == 1)
    {
      digitalWrite(led,HIGH);
      delay(500);
      digitalWrite(led,LOW);
      delay(500);
       
      }
      

}

Exibições: 415

Responder esta

Respostas a este tópico

Olá,

Use um RTC, vai facilitar tudo para você.

RTC Aqui

Boa sorte.

Abs.

Mehor usar um RTC DS3231, pois se acabar a energia  elétrica, o relógio continuará funcionando com a bateria dele. Quando voltar a energia, o Arduino poderá acionar corretamente o controle das lâmpadas. 

Lorthan, 

TCC para qual o curso?

Entender o exemplo do Arduino "blink without delay" seja uma outra opção, além da dada pelo CK.

 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço