Formations à l'informatique et à l'électronique

Auteur : SD
Créé le : 31-01-2016

Arduino - Entrées Sorties et Tests

Premiers pas

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".

Lecture d’une entrée numérique et moniteur série

EDI Arduino Ouvrir Fichier DigitalReadSerial

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 :

Programme DigitalReadSerial avec commentaires traduits en Français
Arduino UNO avec Shield FEZ et bouton poussoir sur le port 2



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.

EDI Arduino Menu Outils Moniteur Série Console


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

EDI Arduino réglage de la vitesse du moniteur série à 9600 bauds



Appuyer sur le bouton, le relâcher.

Vous devez obtenir l’affichage ci-contre.

Faire constater au professeur

Questions sur le programme

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.

Utilisation d’un bouton

Arduino UNO avec Shield FEZ et bouton poussoir et LED

Sur le shield "Interface FEZ", connecter une LED et un bouton poussoir comme le montre la photo ci-contre.

  • La LED est alors connectée à la patte 0 de notre Arduino
  • Le bouton poussoir à la patte 1 de notre Arduino

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

Minuterie

Algorigramme programme Arduino minuterie

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

Télérupteur

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 :

Algorigramme programme Arduino telerupteur

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

Pour aller plus loin

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 :

Chronogramme de fonctionnement minuterie redéclenchable

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

Articles connexes


Vous avez apprécié cet article ? Partagez le !

Article connexe : Arduino - Ports, CAN et Console