arduino, eletrônica, robotica...
Olá a todos Garagista.
Estou tendo problema em criar um contador de tempo de 0 a 10 segundos usando a função millis, sendo que quando chegar em 10 seg. volta para 0 e inicia uma nova contagem.
Agradeço a todos.
Tags:
MySpace Tweet Facebook Facebook
Exibições: 812
▶ Responder esta
Quatro passos pra resolver:
1 - Armazena o millis em uma variável
2 - Soma o timeout que vc quer nessa variável
3 - Compara essa variável com millis no fluxo do programa
4 - Qdo millis for maior ou igual, expirou o timeout
Como vc quer 10 segundos de timeout, vai somar 10000 a variável em que millis foi armazenada.
Exemplificando com um led:
#define INTERVALO 10000
unsigned long timeout = 0;
void setup()
{
timeout = millis() + INTERVALO;
pinMode( 13, OUTPUT );
digitalWrite( 13, LOW );
}
void loop()
if ( millis() >= timeout )
// Timeout expirou
if ( digitalRead(13) == HIGH )
else
digitalWrite( 13, HIGH );
// Reinicia o timeout para + 10 segundos
Happy hack :)
▶ Responder
RSS
Bem-vindo aLaboratorio de Garagem (arduino, eletrônica, robotica, hacking)
Registre-seou acesse
Or sign in with:
© 2024 Criado por Marcelo Rodrigues. Ativado por
Badges | Relatar um incidente | Termos de serviço
Verifique as configurações do seu navegador ou contate o administrador do sistema.