Bom dia pessoal!
Preciso acelerar a contagem de um timer decrementador, quando executada uma determinada função, essa função já está pronta, não sei é como escrever para que dentro dela o timer fique 2x mais rápido, alguém pode me ajudar?
Tags:
Não entendi muito bem.
Esse timer é um contador simples? ou usa millis?
Se vc quer o que o contador regressivo fique 2 vezes mais rápido dentro da função, não seria só fazer assim:
timer -= 2;
???
Desculpe não ter postado o código Jose Augusto Cintra, sou hobbista e estou ajustando esse projeto para usar em jogos.
preciso resolver dentro da função speeboom
Olá Diogo
Acho que você pode fazer assim:
- Se você quer deixar essa função mais rápida, diminua o delay para 350.
- Se você quer que o contador de tempo avance mais rápido dentro dessa função, então use a função adjustTime, passando o número de segundos que quer adiantar:
counter.adjustTime(2); // vai somar 2 segundos no contador
Vou tentar Jose!
Agradeço a ajuda!
José!
Talvez eu tenha deixado de escrever alguma coisa, ou não tenha entendido certo, pq ao copilar aparece a mensagem de que não há função correspondente para chamar o timer, então acredito que eu precise escrever algo e não estou sabendo o que é.
o que fiz foi
void SpeeBoom()
{
buttonBip(50);
counter.adjustTime(2);
}
Nesse caso, a library Timer que você está usando não possui o método adjustTime.
Sua library não é esta? Veja no link a informação sobre esse método.
http://playground.arduino.cc/Code/Time
Caso não tenha essa opção, você teria que usar o método setTime, adiantando os segundos de forma manual.
dentro da library temos o seguinte sobre o adjustTime:
bool Timer::adjustTime ()
{
if (this->seconds <0) // if 60 do this operation
{
this->minutes -= ((this->seconds*-1)/60)+1;
this->seconds = 60-((this->seconds*-1)%60);
}
if (this->minutes <0)
{
this->hours -= ((this->minutes*-1)/60)+1;
this->minutes = 60-((this->minutes*-1)%60);
}
if (this->hours <0)
{
this->hours = 0;
}
if (this->hours <= 0 && this->minutes <= 0 && this->seconds <= 0)
{
return true;
}
return false;
}
bool Timer::decrement(unsigned long currentMillis)
{
if (this->seconds >= 0) // do this oper. 59 times
{
if(currentMillis - this->secMillis > interval)
{
this->secMillis = currentMillis;
this->seconds--; // add 1 to this->seconds
}
}
return adjustTime();
Será que conseguiremos especificar algo para que acelere o timer?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por