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
   76   77   78   79   80   81   82   83   84   85   86