Pour commencer, si ce n’est pas déjà fait, lire et faire les tâches proposées dans l’article "Premiers pas avec Arduino UNO".
Une entrée numérique peut prendre deux valeurs : 0 ou 1 (Vrai ou Faux). Nous utiliserons ici un bouton poussoir qui sera donc soit appuyé soit relâché.
Ouvrir le programme d’exemple "DigitalReadSerial".
Les commentaires en Anglais dans le programme d’origine ont été traduits en Français dans la capture d’écran ci-dessous :
Installer le shield "Interface FEZ" et connecter dessus un bouton poussoir à la patte 2 de l’Arduino comme le montre la photo ci-contre.
Connecter la carte Arduino à l’ordinateur et téléverser le programme.
Dans le menu Outils, cliquer sur Moniteur série.
Le moniteur série permet un dialogue entre l’Arduino et l’ordinateur. Les informations sont transmises par l’intermédiaire du câble USB.
C’est un outil très pratique pour la mise au point des programmes
Appuyer sur le bouton, le relâcher.
Vous devez obtenir l’affichage ci-contre.
Faire constater au professeur
Juste avant la ligne Serial.println(buttonState); ajouter la ligne ci-dessous :
Serial.print("L’etat du bouton est : ");
Téléverser le programme modifié et tester.
Sur le shield "Interface FEZ", connecter une LED et un bouton poussoir comme le montre la photo ci-contre.
Modifier le programme précédent pour prendre en compte le changement de numéro de patte du bouton.
Modifier le programme de manière à configurer la patte 0 en sortie afin de pouvoir commander la LED (voir programme blink de l’activité "Premiers pas avec Arduino UNO").
Juste après la ligne int buttonState = digitalRead(pushButton); ajouter la ligne ci-dessous :
digitalWrite(LED, buttonState);
Téléverser le programme ainsi modifié et tester.
Insérer une copie d’écran de votre programme dans votre rapport.
Faire constater au professeur
Dans cette partie vous devez créer un programme qui va allumer la LED pendant 10s quand on appuie sur le bouton.
Pour vous aider, l’algorigramme de la fonction loop() est donné ci-contre. Le nom des fonctions ou instructions à utiliser est indiqué dans les différents blocs de l’algorigramme.
Pour "traduire" la structure de test "Bouton appuyé ?" en langage Arduino (langage C), voir l’article : Les structures algorithmiques de base
Vous pouvez également consulter la référence du langage pour la structure de contrôle "if".
Insérer une copie d’écran de votre programme dans votre rapport.
Faire constater au professeur
Dans cette partie, vous devez créer un programme qui change l’état de la LED à chaque fois que l’on appui sur le bouton :
Algorigramme de fonctionnement :
Il faut déclarer et initialiser une variable "Etat" qui vaudra FALSE si la LED est éteinte et TRUE si elle est allumée.
L’attente de 500ms permet d’éliminer les rebonds de l’interrupteur.
Faire le programme, le téléverser et le tester.
Insérer une copie d’écran de votre programme dans votre rapport.
Faire constater au professeur
Ajouter un deuxième bouton. Modifier le programme pour que l’allumage et l’extinction soit possible avec les deux boutons.
Pour faire un test avec 2 conditions il faut utiliser l’opérateur "||" (touche Alt Gr + 6). Consulter la référence du langage pour plus de précisions.
Faire le programme, le téléverser et le tester.
Insérer une copie d’écran de votre programme dans votre rapport.
Faire constater au professeur
Reprendre le programme "Minuterie" et prendre en compte le fait que si on appuie sur le bouton poussoir pendant que la LED est allumée alors le temps d’allumage revient à 10s. Voir chronogramme ci-dessous :
Faire le programme, le téléverser et le tester.
Insérer une copie d’écran de votre programme dans votre rapport.
Faire constater au professeur
Ranger le matériel
Faire constater au professeur
Article connexe : Arduino - Ports, CAN et Console