Fonction Arduino millis()
-
Utilisez la fonction
millis()
pour vérifier le temps passé dans Arduino -
Utilisez la fonction
millis()
pour faire clignoter une LED dans Arduino -
Utilisez la fonction
millis()
pour changer la luminosité d’une LED dans Arduino
Ce tutoriel abordera l’utilisation de la fonction millis()
dans différentes applications d’Arduino. Ce tutoriel abordera également quelques exemples pour mieux comprendre la fonction millis()
.
Utilisez la fonction millis()
pour vérifier le temps passé dans Arduino
La fonction millis()
renvoie une variable non signée de type unsigned long
, qui contient le nombre de millisecondes passées depuis que la carte Arduino a commencé à exécuter le code. La variable retournée étant de type unsigned long
, le nombre débordera au bout de 49 jours et se remettra à zéro.
unsigned long currentTime;
void setup() { Serial.begin(19200); }
void loop() {
Serial.print("Time Stamp: ");
currentTime = millis();
Serial.println(currentTime);
delay(1000);
}
Dans le code ci-dessus, currentTime
est une variable de type unsigned long
pour stocker l’heure. Cochez ce lien pour obtenir plus d’informations sur la fonction millis()
.
Utilisez la fonction millis()
pour faire clignoter une LED dans Arduino
Dans cet exemple, nous allons faire clignoter une LED en utilisant la fonction millis()
. Considérez que vous devez faire clignoter une LED pendant une période spécifique, comme une seconde. Dans ce cas, vous pouvez utiliser la fonction millis()
pour faire clignoter la LED pendant une durée déterminée. Si vous utilisez la fonction delay()
pour faire clignoter la LED, cela mettra également votre code en pause jusqu’à ce que le temps de retard soit écoulé. Donc au lieu d’utiliser la fonction delay()
, vous pouvez utiliser la fonction millis()
, et cela ne mettra pas en pause votre code.
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;
}
}
Dans cet exemple, la LED sera allumée et éteinte pendant précisément une seconde. Vous pouvez modifier la période de clignotement en modifiant la valeur de la période variable dans le code ci-dessus.
Utilisez la fonction millis()
pour changer la luminosité d’une LED dans Arduino
Dans cet exemple, nous utiliserons la fonction millis()
pour changer la luminosité d’une LED. Nous définirons une période après laquelle la luminosité de la LED sera augmentée. Pour cela, nous devons connecter une LED avec la broche PWM de l’Arduino. Nous pouvons écrire la luminosité sur la LED en utilisant la fonction analogWrite()
. Nous pouvons modifier la luminosité de la LED dans la plage de 0 à 255 en utilisant la fonction 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;
}
}
Dans cet exemple, la luminosité de la LED augmentera toutes les 10 millisecondes. Vous pouvez modifier le temps d’incrément en modifiant la période variable dans le code ci-dessus.