Page 81 - arduino_Neat
P. 81
Voyons plus en détail les éléments du code :
Déclaration des variables
pinCapteur Cette variable est utilisée pour référer, tout au long du programme, à la pin de
l'Arduino où est branchée notre capteur, la cellule photosensible. Dans ce projet, nous utilisons
la pin analog 0, et donc la valeur de pinCapteur est initialisée à 0 lorsqu'elle est déclarée. Si
nous avions connecté le capteur à une autre pin, par exemple analog 5, la valeur de pinCapteur
aurait été initialisée à 5.
valeurCapteur Cette seconde variable contient la valeur qui sera lue sur le pin de l'Arduino
correspondant à notre capteur.
Configuration (setup)
Deux instructions figurent dans la partie setup () de notre programme.
Serial.begin (9600); Cette fonction établit la connexion sérielle entre la carte Arduino et, dans
notre cas particulier, l'interface logicielle Arduino. Le paramètre qui est donné à la fonction est
9600, qui signifie que la connexion sérielle à établir doit rouler à 9600 bauds. Le choix de la
vitesse dépend de l'application développée. Dans le cadre de cet exemple, une vitesse plus
élevée n'est pas nécessaire.
pinMode (pinCapteur, INPUT); Cette fonction déclare la pin de la carte correspondant à
pinCapteur (en l'occurrence, 0), comme un entrée (Input), puisque nous utiliserons cette pin pour
recueillir la variation de voltage engendrée par notre circuit comportant la cellule
photorésistante.
Boucle principale (loop)
Notre boucle de programme principal est relativement simple. Il suffit de recueillir la valeur de
notre capteur, de l'envoyer au logiciel Arduino par communication sérielle et d'attendre un peu,
pour espacer les lectures.
montrerValeurCapteur (); Cette ligne d'instruction appelle la fonction que nous avons définie
nous-mêmes et qui sera expliquée ci-après. En l'appelant de la sorte, toutes les instructions qui
se trouvent dans la fonction montrerValeurCapteur () seront exécutées. Une fois l'exécution de
la fonction terminée, le programme poursuivra pour exécuter la fonction suivante.
delay (20); Cette seconde fonction demande au programme de marquer une courte pause,
pour espacer les lectures. Le paramètre qui est spécifié, la valeur 20, indique que le délai a une
durée de 20 millisecondes (on retrouve 1000 millisecondes dans une seconde).
Sous-routines (montrerValeurCapteur)
En plus des fonctions réservées par Arduino setup () et loop (), il est possible de définir soi-
même des fonctions que l'on peut également appeler « sous-routines ». L'utilisation de sous-
routines permet d'alléger et de mieux structurer le programme. Par exemple, lorsque la
fonction principale loop () doit exécuter à plusieurs moments différents la même série
d'instructions, il est possible de mettre une fois ces instructions dans une fonction unique, en
sous-routines, et d'y référer.
Également, l'utilisation de sous-routine permet une meilleure lisibilité du code principal et de
regrouper sous une même appellation, ou une même fonction, une série d'instructions ayant
une tâche commune. Par exemple, une série de 10 instructions permettant de faire clignoter
une LED de manière non régulière pourraient être regroupées sous une fonction que l'on
pourrait nommer faireClignoterLED (). Ensuite, dans le programme principal, pour faire exécuter
cette série d'instructions, il ne suffirait plus qu'à appeler la fonction faireClignoterLED ().
81

