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.
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 ...