Exemple Arduino "Blink without delay"

par skywodd | | Langue : C++ | Licence : GPLv3

Description :

Exemple Arduino "Blink without delay" avec commentaires.

Code source :

Voir le code source brut | Télécharger blinkwithoutdelay.ino | Télécharger blinkwithoutdelay.ino.zip

/*
   Code d'exemple "Blink Without delay".

   Fais clignoter une LED câblée sur la broche D13.
*/

// Déclare la broche sur laquelle est câblée la LED
const int BROCHE_LED = 13;

// Nombre de millisecondes entre deux changements d'état de la LED 
const unsigned long BLINK_INTERVAL = 1000;

// Précédente valeur de millis()
unsigned long previousMillis = 0;

// Précédent état de la LED
byte etatBrocheLed = LOW;

// Fonction setup(), appelée au démarrage de la carte Arduino
void setup() {

  // Configure la broche de la LED en sortie
  pinMode(BROCHE_LED, OUTPUT);
  
  // Configure l'état initial de la LED
  digitalWrite(BROCHE_LED, etatBrocheLed);
}

// Fonction loop(), appelée continuellement en boucle tant que la carte Arduino est alimentée
void loop() {

  // Récupére la valeur actuelle de millis()
  unsigned long currentMillis = millis();
  
  // Si BLINK_INTERVAL ou plus millisecondes se sont écoulés
  if(currentMillis - previousMillis >= BLINK_INTERVAL) {
    
    // Garde en mémoire la valeur actuelle de millis()
    previousMillis = currentMillis;
    
    // Inverse l'état de la LED
    etatBrocheLed = !etatBrocheLed;
    digitalWrite(BROCHE_LED, etatBrocheLed);
  }
}