Crescer (fundo transparente)_Negativo_pn
  • Elias Donatti

Temporizador sem delay no Arduino: Biblioteca pronta

Atualizado: 9 de mai.

Neste artigo será apresentado o conceito de temporizador sem delay. Confira abaixo o passo a passo completo para profissionalizar seus softwares/códigos com Arduino e ESP32.


Quantas vezes em nossos códigos do Arduino precisamos de um "atraso" mas a função delay() PARA o código, e não podemos ter este problema, para isso recorremos a função millis() e realizamos comparações que por vezes são complicadas para quem está começando. Pensando neste problema a Crescer Indústria de Automação desenvolveu a biblioteca do timer sem delay.


Controlar o tempo em códigos que envolvem a automação sempre foi algo crucial, tempo para acionar motores, realizar acionamentos sincronizados de válvulas e pistões pneumáticos e até mesmo piscar um LED sem que seja necessário travar o código naquela etapa. O Timer sem delay da Crescer, controla e gerência isto para nós. Com base no conceito de CLP onde os timers não "travam" o programa, a library monitora os tempos que desejamos para ativar ou desativar determinada etapa do código, com base na nossa programação. Faça o download: Biblioteca Temporizador sem delay


Avalie-nos no google para que possamos alcançar e auxiliar cada vez mais pessoas a fazerem seus projetos e produtos! Contamos com você!



O QUE VAMOS APRENDER?

1. Funções da biblioteca;

2. Como funciona;

3. Exemplo prático; (Vídeo)

4. Encerramento;



1 - FUNÇÕES DA BIBLIOTECA


Tempora Temp1 - Tempora é o tipo de variável (long) que vai criar os timers que utilizaremos durante o código;


Temp1.defiSP(1000) - Função que define o tempo que desejamos para que este timer atue. Ou seja uma vez ativado passado o tempo estipulado entre os parênteses “(1000)” em milli segundos ele libera a próxima função;


Temp1.Saida(1) - Função utilizada na comparação dentro do “if”, uma vez passado o tempo estipulado na função “defiSP(1000);” esta função vai executar o comando.


Temp1.Saida(0) - Função que zera o timer, uma vez que é chamada ela zera o temporizador e começa novamente a contagem.


2 - COMO FUNCIONA?


A biblioteca Temporizador sem Delay vai monitorar a função millis a partir do momento em que a função “defiSP(1000)” for chamada no código, logo este seria o instante 0. Para utilizar a função “.Saida(1)” é necessário realizar uma comparação, uma vez que passado o tempo estipulado, ao chegar nesta comparação, ela vai permitir a entrada na função. Para zerar o timer ou “resetar” basta escrever o comando “.Saida(0)”, e então o tempo começa a ser contabilizado novamente.

Para utilizar em minutos, multiplique por 60.000, pois 1000 ms (mili segundos) é igual a 1 seg. em HORAS basta multiplicar por 3.600.000 que vai ser 1 hora em mili segundos. A variável utilizada dentro da library é um “long” por tanto ela está apta a receber estes valores.

Tudo isso funcionando em loop contínuo sem travar ou parar a varredura do software na linha que anteriormente seria Delay(XXXX);.


3 - EXEMPLOS PRÁTICOS


Agora, para entender de uma vez por todas, com aplicações práticas e exemplificando o uso do Temporizador sem Delay;


3.1 Controlar Tempo no Arduino sem Delay - Canal do Youtube - E2T Automação


3.2 Temporizador com Arduino sem Delay Parte 1 - Canal do Youtube - Crescer Indústria de Automação


3.2 Temporizador com Arduino sem Delay Parte 2 - Canal do Youtube - Crescer Indústria de Automação


4 - ENCERRAMENTO


Bom pessoal, espero ter ajudado vocês, essa biblioteca que é muito útil nos mais diversos códigos que podemos criar com o Arduino ou a CPB, ela foi criada para facilitar e ajudar a dar mais fluidez ao código, fazendo com que nossas programações fiquem cada vez mais profissionais - acesse também ao blog 4 passos para usar o arduino/ESP32 profissionalmente.

Deixe seu comentário sobre dúvidas ou o que achou da library. Abraço e bons projetos.

769 visualizações

Posts recentes

Ver tudo