Le clignotement sans blocage Clignotement sans blocage

La fonction delay permet de marquer une pause dans l’exécution du programme. Jusqu’à présent, c’est elle que nous utilisions pour faire clignoter nos LED. Cette fonction convient bien à certains sketchs. Mais le problème, c’est qu’elle bloque tout le programme. Si, par exemple, vous appuyez sur un bouton pendant ce temps, le programme ne le détectera pas.

Pour tester cela, nous aurons besoin de deux LED et d’un bouton relié cette fois-ci à une résistance en mode pull-up (c’est contre-intuitif, mais le bouton envoie la valeur LOW quand il est pressé et HIGH au repos). L’une des LED s’allumera une seconde sur deux (comme le sketch Blink), mais l’autre s’allumera seulement si l’on appuie sur le bouton. Vous pouvez reproduire ce branchement et téléverser le code correspondant.

images/Maj106-25.png

Tester les limites de la fonction delay

//* Clignotement_bloquant 
 * Ce sketch montre que la fonction delay 
 * bloque l'exécution du programme 
*/ 
const int BOUTON = 2; // Le bouton est relié à la pin 2 
const int LEDVERTE = 8; // La LED verte est reliée à la pin 8 
const int LEDROUGE = 9; // La LED rouge est reliée à la pin 9 
void setup() { 
  pinMode(BOUTON, INPUT); // Le bouton est une entrée 
  pinMode(LEDVERTE, OUTPUT); // La LED verte est une sortie ...
Pour consulter la suite, découvrez le livre suivant :
couv_LF2ARD.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Le passage piéton
Suivant
Le compteur binaire