Envio do PC para o Arduíno a hora atual e a hora do alarme e depois tenho que ir atualizando a  hora no Arduíno, para quando a hora atual for igual a hora do alarme, tocar o alarme. Será que alguém me pode ajudar a fazer isto? Tenho que usar o timer do Arduíno? Obrigado

Exibições: 6543

Responder esta

Respostas a este tópico

Cara, eu tenho um projeto no meu blog que pode te dar uma luz sobre esse troço de timer com o Ardino: Automação no parque, 06/07/2013

Obrigado pela sua dica e parabéns pelo seu Blog, mas não percebi muito bem a parte das horas no seu projeto, pois esta bastante complexo e eu queria uma coisa simples, eu peguei na hora atual, converti para milissegundos , depois para binário e depois para 4 bytes e envio isso para o Arduíno, como é que agora no Arduíno, pego nesses 4 bytes de os defino como a hora atual e contar o tempo a partir dai?

Agradecia imenso se alguém me poder ajudar.

//Programador: Wellington Cassio Faria
//Data:21/07/2013
//Versão: 1.0
//http://labdegaragem.com/profile/WellingtonCassio
int segundo,minuto, hora, dia, mes,ano;
unsigned long UtlTime;
void setup()
{
UtlTime=0;
minuto=0;
hora=0;
dia=0;
mes=0;
ano=0;
Serial.begin(9600);

Serial.print("\nEntre Minuto:");
while(minuto==0)
{
if (Serial.available() > 0)
{

minuto= Serial.parseInt();

}
}

Serial.print("\nEntre Hora:");
while(hora==0)
{
if (Serial.available() > 0)
{

hora= Serial.parseInt();

}
}

Serial.print("\nEntre Dia:");
while(dia==0)
{
if (Serial.available() > 0)
{

dia= Serial.parseInt();

}
}
Serial.print("\nEntre Mes:");
while(mes==0)
{
if (Serial.available() > 0)
{

mes= Serial.parseInt();

}
}
Serial.print("\nEntre ano:");
while(ano==0)
{
if (Serial.available() > 0)
{

ano= Serial.parseInt();

}
}


}
void loop()
{
if(millis()-UtlTime<0)
{
UtlTime=millis();
}else
{
segundo=int((millis()-UtlTime)/1000);
}
if(segundo>59)
{
segundo=0;
minuto++;
UtlTime=millis();

if(minuto>59)
{
hora++;
minuto=0;
if(hora>23)
{
dia++;
hora=0;

if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12)
{
if(dia>31)
{
dia=1;
mes++;
if(mes>12)
{
ano++;
mes=1;
}
}
}
else if(mes==2)
{
if(ano%400==0)
{
if(dia>29)
{
dia=1;
mes++;
}

}
else if((ano%4==0)&&(ano%100!=0))
{
if(dia>29)
{
dia=1;
mes++;
}

}
else
{
if(dia>28)
{
dia=1;
mes++;
}
}
}
else
{
if(dia>30)
{
dia=1;
mes++;
}
}
}
}
}
Serial.print(dia);
Serial.print("/");
Serial.print(mes);
Serial.print("/");
Serial.print(ano);
Serial.print(" ");
Serial.print(hora);
Serial.print(":");
Serial.print(minuto);
Serial.print(":");
Serial.print(segundo);
Serial.print("\n");

delay(1000);
}

Testei aqui e funcionou perfeito.

Agora vou tentar botar a hora no LCD.

Blz, lembrando que esse código é do Wellington Cassio Faria.

Atenciosamente Murilo Lima Nogueira

como posso fazer isso implementado em um webserver? O usuario digita a hora e eu faço a comparaçao e aciono um led se a hora atual com a hora digitada for igual?

Topico antigo, sry

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço