LusoRobótica - Robótica em Português

Software => C/C++ => Tópico iniciado por: cunha em 18 de Janeiro de 2014, 22:02

Título: como fazer um ciclo com determinado tempo
Enviado por: cunha em 18 de Janeiro de 2014, 22:02
olá!
Amigos preciso da vossa ajuda.

quero fazer um ciclo que dure um determinado tempo, por exemplo 30minutos, onde vai incrementar de 5 a 128. tenho o programa quase todo feito e isto anda a dar-me voltas a cabeça  :)
 já fiz algo do género:

for( i=5; i<=128; i++){
valor = i;
delay();
break;
}

calculo que seja fácil de fazer, mas ja estou baralhado que não chego lá.
estou a utilizar isto num arduino uno

um abraço
Título: Re: como fazer um ciclo com determinado tempo
Enviado por: senso em 18 de Janeiro de 2014, 22:13
Aconselho que vejas o exemplo blinky without delay, porque usar delays para tanto tempo é um desperdicio de processador.
Se queres de 5 a 128 em 30 minutos é um incremento de 4 unidades por minuto, ou 1 unidade por 15 segundos, fazes algo assim:
Código: [Seleccione]
if(milis() - incrementMilis > 15000){ //15seg = 15000 miliseg
incrementMilis= milis();
valor++;   //incrementa o teu valor
}

Título: Re: como fazer um ciclo com determinado tempo
Enviado por: cunha em 19 de Janeiro de 2014, 14:00
Senso

Muito obrigado pela a ajuda... já esta a funcionar :)

um abraço e mais uma vez obrigado