Arduino Forum

International => Portugues => Topic started by: Jpamarinho on May 18, 2019, 06:00 pm

Title: João Paulo
Post by: Jpamarinho on May 18, 2019, 06:00 pm
Como eu faço para criar um função "if" que quando passa um determinado tempo (delay) executa oque tem logo apos? Gostaria de saber porque dentro do case no switch, não quero ficar esperando terminar o tempo pra fazer outro case, mas apenas se caso eu esquecer, pra voltar na função principal que deve sempre estar compilando.
Title: Re: João Paulo
Post by: alkuentrus on May 19, 2019, 01:37 am
.. mostra lá  o código que tens feito.
Title: Re: João Paulo
Post by: tecdiego on May 22, 2019, 03:04 am
Pode fazer por uma variação do tempo:
Code: [Select]

int tempoInicial;
int deltaTempo = 1000; //tempo em milissegundos para que seja executado
boolean gravaTempo = true; //booleana que dirá se o tempo precisa ser gravado ou não

...
void setup(){
...
}

void loop(){

.....
 if (gravaTempo == true){

  tempoInicial = millis();
  gravaTempo = false;

}

if ( ((tempoInicial + deltaTempo) =< milli() )) && (gravaTempo == false)){
     
     //executa oq você quer
    gravaTempo  = true;

}
...

}