Aprenda hoje mesmo a usar a função millis - Semáforo com Arduino
millis ()
[Função de Tempo]Descrição
Assim
que a placa Arduino é ligada ou a comunicação Serial é estabelecida,
inicia-se uma contagem de tempo a cada milissegundo no processador. Este número irá transbordar (voltar para zero), após aproximadamente 50 dias.
A
função millis() é muito utilizada para substituir a função delay() por
exemplo, pois esta para o programa onde compromete o perfeito
funcionamento do código com a robótica, já que temos muitos sensores
para serem lidos praticamente ao mesmo tempo, no caso do programa parar
em uma atuação que exija um referencial de tempo, a leitura desses
sensores será comprometida se usarmos a função delay().
Neste
post iremos apresentar um código de um projeto de um semáforo usando a
função millis(), mas antes vamos conhecer um pouco mais sobre essa
função poderosa.
Sintaxe
time = millis();
Parâmetros
Nenhum
Parâmetros
é a informação que colocamos dentro do parênteses da função, logo a
função millis() não precisa ser passado nenhum parâmetro.
Retorna
Número de milissegundos passado desde o início do programa. Tipo de dados:
unsigned long
.Exemplo de código
Este
código de exemplo imprime na porta serial o número de milissegundos
passado desde que a placa do Arduino começou a executar o próprio
código.
unsigned long time;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("Time: ");
time = millis();
Serial.println(time); //prints time since program started
delay(1000); // wait a second so as not to send massive amounts of data
}
Notas e avisos
Observe que o valor de retorno para millis () é do tipo
unsigned long
, erros lógicos podem ocorrer se um programador tentar fazer aritmética com tipos de dados menores, como int
. Mesmo assinado long
pode encontrar erros como seu valor máximo é metade do seu homólogo não assinado.Esquema de Ligação
Código
O código você consegue baixar pelo GitHub, acesse o link abaixo e faça o download.
Professor:
Sandro Mesquita
Millis é o segredo
ResponderExcluir