Amigos, digamos que eu tenha no escopo geral do sketch 3 variaveis que irão controlar 3 delays. No LOOP eu tenho um terceiro delay, o meu principal. Sempre que eu ajusto um dos 3 delays do escopo geral, naturalmente, meu delay do LOOP será alterado também. Como eu devo fazer para ajustar os 3 delays iniciais sem alterar o delay que está dentro do LOOP?
Exemplo anexo.
Desde já agradeço.

Exibições: 360

Anexos

Responder esta

Respostas a este tópico

Vc poderia fazer como em:

http://labdegaragem.com/profiles/blogs/tutorial-executando-fun-es-e...

Mas em vez de 

void callback()
{
time++;
}

Vc colocaria:

void callback()
{
timer1++;

timer2++;

timer3++;

if (timer1==33) { faz1=1; timer1=0;}

if (timer2==56) { faz2=1; timer2=0;}

if (timer3==11) { faz3=1; timer3=0;}

}

Aih em 

loop()

{

if (faz1) {...faz o q tem q fazer1...   ; faz1=0;}

if (faz2) {...faz o q tem q fazer2...   ; faz2=0;}

if (faz3) {...faz o q tem q fazer3...   ; faz3=0;}

}

Assim os 3 não se atrapalham e podem ter tempos absolutamente diferentes.

Em relação ao exemplo do link provavelmente vc vai precisar diminuir o tempo base para ter periodos menores. Ou não..

Mas a solução do  José Gustavo Abreu Murta é mais moderna.

Willian. bom dia!

Neste exemplo, criei três timers independentes através de uma pequena lib que internamente usa o millis().

As tarefas executadas por cada timer não atrapalham (muito) a(s) atividade(s) principal(is)

http://josecintra.com/blog/arduino-controlando-intervalos-tempo/

Bom dia José Augusto, 

O tutorial ficou muito bom. 

Gostei da placa de acrílico da base da suas montagens ! Você que fez ? 


Eu tenho uma base perfurada que eu comprei há muito tempo (2014).

Mas nunca mais eu encontrei uma outra placa dessas.

Olá Gustavo!

Comprei no ML.

Mas na época estava mais barata. Agora está mais cara que o próprio Arduino.

Essa crise econômica e a inflação dificulta a vida dos makers pois a maioria dos produtos que usamos são importados.

https://produto.mercadolivre.com.br/MLB-772745259-base-acrilico-ard...

Obrigado amigo. 

Acho que é facil para fazer uma...

Bom dia,

Somente para tratar de ilustrar mais ainda o já colocado pelos nobres colegas, segue minha opinião

Acredito que poderia usar uma classe de timer sem biblioteca, Ou como o colega J.Cintra indicou, threads também.

Anexo código usado na simulação com Proteus, tanto do timer como do threads

Link do vídeo timer: Clique Aqui

Link do vídeo threads: Link Aqui

Meu canal: Link Aqui

Abs.

CK

Anexos

Muito obrigado à todos pelo tempo e atenção. Vou testar aqui as soluções que "parece" que entraram na minha cabeça

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço