Page 84 - arduino_Neat
P. 84
valeurCapteur = analogRead(pinCapteur); // lire la pin analogique et mettre la valeur dans
valeurCapteur
Serial.println(valeurCapteur); // communiquer au moniteur sériel la valeur du capteur.
}
Vous pouvez maintenant sauvegarder votre sketch sous un autre nom (afin de conserver le
précédent) et télécharger le code sur la carte Arduino. Après quelque temps, le servomoteur
devrait se mettre à bouger de manière aléatoire, changeant sa position toutes les deux
secondes. Voyons plus en détail les éléments du code qui ont été ajoutés au code existant.
Inclusion de librairie
La première ligne d'instruction de notre programme est maintenant changée. En effet, pour
utiliser des servomoteurs avec l'Arduino, il est possible d'utiliser une librairie (voir chapitre
« Bibliothèques externes »). Pour inclure une librairie dans notre programme, nous utilisons la
commande suivante :
#include <Servo.h>
le #include spécifie au programme d'inclure la librairie dont le nom se situe entre les « <> ».
L'usage spécifique de Servo.h nécessite la création d'un « objet » qui nous permettra de référer
à certaines fonctions de la librairie. Pour notre projet, nous intitulerons cet objet servo1. Encore
une fois, ce nom est déterminé par le programmeur et aurait bien pu être maurice.
Servo servo1;
Déclaration des variables
servoPos Nous ajoutons à notre code la variable servoPos. Celle-ci contiendra la valeur de
position spécifiée pour le servomoteur.
Configuration (setup)
servo1.attach (9) ; Une nouvelle instruction de configuration est ajoutée à notre boucle setup ().
L'instruction *.attach () permet d'associer une pin de la carte Arduino à un objet servo créé plus
haut. Ainsi, notre objet servo1 se voit associer la pin 9 par cette instruction.
Boucle principale (loop)
Notre boucle de programme principal doit maintenant changer. Nous voulons maintenant
attribuer des positions aléatoires à notre moteur. Plutôt que de simplement supprimer les
instructions existantes nous permettant de communiquer la valeur du capteur, nous les
mettrons sous forme de commentaire. Pour ce faire, il suffit d'ajouter au début de l'instruction
« // ».
// montrerValeurCapteur ();
// delay (20); // laisser un cours délai pour éviter le trop-plein d'informations
Ceci rendra inactive les instructions, et au cas où nous voudrions les retrouver, il ne suffirait
que de supprimer les « // ». Nous devons également maintenant ajouter une nouvelle fonction
que nous définirons plus loin. testerServoMoteur ();
Sous-routines (testerServoMoteur)
Tout comme pour la fonction montrerValeurCapteur de l'étape 1, nous devons définir
testerServoMoteur. Nous utilisons encore void en début d'instruction puisque la fonction ne
retourne rien. Voyons les instructions qui figurent dans notre nouvelle fonction.
while (1==1)
{
xxxx
}
84

