Exemple arduino blinkwithoutdelay et fonction millis – Tutoriel blink without delay.

Exemple arduino blinkwithoutdelay

et fonction millis
blinkwithoutdelay

Si vous avez suivi attentivement l’exemple blink (lien ici), vous aurez constaté que la fonction delay, bien que très simple à mettre en oeuvre, présente l’énorme inconvénient de mettre en pause TOUT le programme de votre arduino. Cet article va donc vous présenter comment remédier à cela avec l’exemple blinkwithoutdelay (fournit avec Arduino IDE).

Si vous êtes néophyte en matière de programmation et que l’exemple delay() fut votre premier programme, alors avec blinkwithoutdelay vous passerez à une étape supérieure. Il n’existe pas de solution « clé en main » pour compenser l’énorme inconvénient de cette première fonction,  il faudra donc se retrousser les manches et pallier à ce problème nous même (avec tout de même l’aide d’une nouvelle fonction: millis() ).

Cette dernière est le cœur de l’exemple blinkwithoutdelay, elle a pour but de compter le nombre de millisecondes depuis que le programme a démarré [cette variable est  stockée dans un unsigned long (cf:http://automacile.fr/ipa03-tutoriel-programmation-du-ladder-au-litteral/ ), cela fait au maximum 4 294 967 295 millisecondes, soit 71583 minutes, soit environ 50 jours]. Cela vous permettra d’avoir un repère temporel fixe (dans la limite de ces 50 jours, après millis redémarre à zéro), afin de connaitre précisément le temps depuis lequel vous n’avez pas effectué telle action ou fonction.

C’est donc en manipulant cette fonction que nous arriverons à exécuter un programme « blink » sans que delay n’intervienne une seule fois. Grace à cette amélioration, le microcontrôleur sera capable de gérer le clignotement de la LED en parallèle du reste du programme.

Voila qui en est fini pour l’exemple blink without delay. Il est maintenant temps d’approcher la partie acquisition analogique avec l’exemple: Analog input. Si cet article vous a plut, pensez à le partager sur facebook et twitter via les boutons ci dessous. Pour ce qui est des vidéos n’oubliez pas que le nombre de « j’aime » et d’abonnés influent beaucoup sur le référencement, donc si vous souhaitez me soutenir vous savez ce qu’il reste à faire.

@bientot.


Liens:

Chaine youtube: https://www.youtube.com/channel/UChYxOrIAM-SdgvE3gTkGnzA

Tutoriels sur les exemples: http://automacile.fr/ipa06-decouverte-exemples-arduino/

Exemple blink: http://automacile.fr/exemple-arduino-blink-et-fonction-delay/

Lien du forum: http://automacile.fr/forum/index.php

Fonction millis: https://www.arduino.cc/en/Reference/Millis

Site arduino, blink without delay: https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay


Exemple arduino blinkwithoutdelay et fonction millis – Tutoriel blink without delay.

About the Author: maxpeigne