Fonction Arduino millis()

Ammar Ali 12 octobre 2023
  1. Utilisez la fonction millis() pour vérifier le temps passé dans Arduino
  2. Utilisez la fonction millis() pour faire clignoter une LED dans Arduino
  3. Utilisez la fonction millis() pour changer la luminosité d’une LED dans Arduino
Fonction Arduino millis()

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.

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Article connexe - Arduino Function