Comando em Arduino: millis() – Retorna o tempo desde que o Arduino começou a executar o programa (em milissegundos).

No mundo da programação de microcontroladores, o Arduino se destaca pela sua simplicidade e ampla aplicação em projetos de automação e controle. Uma das funções mais úteis disponíveis na biblioteca do Arduino é a millis(), que permite monitorar o tempo que se passou desde que o programa começou a ser executado. Essa função é essencial para implementar temporizações e controlar eventos, sem a necessidade de bloquear a execução do código, algo que pode ser crucial em projetos que requerem multitarefa.

Introdução ao uso da função millis() no Arduino

A função millis() é uma ferramenta poderosa que retorna o número de milissegundos desde que o Arduino começou a executar o código. Ela é frequentemente utilizada em projetos que exigem temporização, como acender LEDs após um determinado período ou controlar a frequência de leitura de sensores. Ao contrário da função delay(), que suspende a execução do programa por um período definido, millis() permite que o programa continue rodando enquanto verifica o tempo decorrido, tornando o código mais eficiente e responsivo. Para utilizar essa função, basta chamá-la em qualquer parte do seu código, e o valor retornado será sempre atualizado.

Entendendo o retorno de tempo em milissegundos

O valor retornado pela função millis() é um inteiro que representa o tempo em milissegundos. Como o Arduino possui um limite de 32 bits para a variável que armazena esse tempo, a contagem reinicia após aproximadamente 50 dias de funcionamento contínuo. É importante ter isso em mente ao desenvolver projetos de longa duração. Para trabalhar com o valor retornado pela função, geralmente utilizamos variáveis do tipo unsigned long, que podem armazenar valores maiores e evitar problemas de sobrecarga. Um simples exemplo de uso da função millis() é mostrado abaixo:

unsigned long tempoAnterior = 0;
const long intervalo = 1000; // intervalo de 1 segundo

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  unsigned long tempoAtual = millis();
  if (tempoAtual - tempoAnterior >= intervalo) {
    tempoAnterior = tempoAtual; // atualiza o tempo anterior
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // alterna o estado do LED
  }
}

A função millis() é um recurso fundamental para desenvolvedores que trabalham com Arduino, pois permite a criação de temporizações sem bloquear a execução do programa. Compreender como utilizar essa função e o que ela representa ajudará a melhorar a eficiência e a responsividade dos projetos. À medida que você avança em suas habilidades de programação no Arduino, a função millis() se tornará uma ferramenta indispensável em sua caixa de ferramentas de desenvolvimento.

Leia mais