Função Arduino millis()
-
Use a função
millis()
para verificar o tempo que passou no Arduino -
Use a função
millis()
para piscar um LED no Arduino -
Use a função
millis()
para alterar o brilho de um LED no Arduino
Este tutorial discutirá o uso da função millis()
em diferentes aplicativos no Arduino. Este tutorial também discutirá alguns exemplos para entender melhor a função millis()
.
Use a função millis()
para verificar o tempo que passou no Arduino
A função millis()
retorna uma variável sem sinal do tipo unsigned long
, que contém o número de milissegundos passados desde que a placa Arduino começou a executar o código. Como a variável retornada é do tipo unsigned long
, o número irá estourar após 49 dias e zerado.
unsigned long currentTime;
void setup() { Serial.begin(19200); }
void loop() {
Serial.print("Time Stamp: ");
currentTime = millis();
Serial.println(currentTime);
delay(1000);
}
No código acima, currentTime
é uma variável do tipo unsigned long
para armazenar a hora. Verifique este link para obter mais informações sobre a função millis()
.
Use a função millis()
para piscar um LED no Arduino
Neste exemplo, piscaremos um LED usando a função millis()
. Considere que você deve piscar um LED por um período específico, como um segundo. Neste caso, você pode usar a função millis()
para piscar o LED por um tempo específico. Se você usar a função delay()
para piscar o LED, ela também pausará seu código até que o tempo de atraso termine. Portanto, em vez de usar a função delay()
, você pode usar a função millis()
, e ela não pausará seu código.
unsigned long startTime;
unsigned long currentTime;
const unsigned long period = 1000;
const byte ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
startTime = millis(); // initial start time
}
void loop() {
currentTime = millis();
if (currentTime - startTime >= period) // test whether the period has elapsed
{
digitalWrite(ledPin,
!digitalRead(ledPin)); // if so, change the state of the LED.
startTime = currentTime;
}
}
Neste exemplo, o LED ficará aceso e apagado por exatamente um segundo. Você pode alterar o período de intermitência alterando o valor do período variável no código acima.
Use a função millis()
para alterar o brilho de um LED no Arduino
Neste exemplo, usaremos a função millis()
para alterar o brilho de um LED. Definiremos um período após o qual o brilho do LED será aumentado. Para isso, precisamos conectar um LED com o pino PWM do Arduino. Podemos gravar o brilho no LED usando a função analogWrite()
. Podemos alterar o brilho do LED na faixa de 0 a 255 usando a função analogWrite
.
unsigned long startTime;
unsigned long currentTime;
const unsigned long period = 10;
const byte ledPin = 10; // using an LED on a PWM pin.
byte LedBrightness = 0; // initial brightness
byte LedIncrement = 1; // amount to change the brightness
void setup() {
pinMode(ledPin, OUTPUT);
startTime = millis(); // initial start time
}
void loop() {
currentTime = millis();
if (currentTime - startTime >= period) {
analogWrite(ledPin, LedBrightness); // set the brightness
LedBrightness += LedIncrement;
startTime = currentTime;
}
}
Neste exemplo, o brilho do LED aumentará a cada 10 milissegundos. Você pode alterar o tempo de incremento alterando o período variável no código acima.