Fiche N°4 : le test « IF » (+ bouton poussoir)
Rôle, intérêt et utilisation du test IF …. THEN ….. ELSE
I. Le test conditionnel IF
Le principe : SI Test vrai Instruction 1 exécutée SINON Instruction 2 exécutée FIN SI Instruction 3 (suite du programme) |
|||||||
|
|||||||
en résumé cela donne : | |||||||
if (test …..) / / debut du test { instruction 1 } else { instruction 2 } // fin du test |
les "….." représentent une équation logique. Exemples :
|
II. Application : appui sur un bouton poussoir
Objectif du programme : la led s'allume si on appuie sur un bouton poussoir (quand on relâche elle s'éteint)
Principe:
- On va rajouter un bouton poussoir que l'on va raccorder sur l'entrée numérique (digital) n° 2.
- On va utiliser un test conditionnel IF
1. Préliminaire : on va tester le bouton poussoir (BP) Placer le BP sur le support de test (bien le mettre au milieu). Ensuite on va prendre un multimètre en position ohmmètre et on va tester le résistance (OL= over limit = résistance infinie c'est à dire contact ouvert, quelques ohm ou zéro ohm = contact fermé). Remarque: le support de test est une breadboard: les explications de l'utilisation de cette plaque de prototypage sont données sur la fiche "breadboard"). Aller la lire avant de faire le câblage! |
Complétez le tableau suivant :
Appui sur BP |
Mesure à l'ohmmètre |
État du contact (ouvert ou fermé) |
État logique (0 ou 1) |
OUI |
|||
NON |
2. Le montage complet
Le schéma de raccordement : | Schéma électronique : | |
A quoi sert la résistance de 10kΩ? Lorsqu'une broche numérique d'Entrée n'est pas connectée, le niveau présent sur cette broche d'entrée est instable et la LED dans notre programme clignoterait de façon aléatoire. Ceci est du au fait que l'entrée est "flottante", c'est à dire qu'elle n'a pas de connexion matérielle au +5V ou à la masse, et elle oscillera de façon aléatoire entre le niveau HAUT et le niveau BAS. C'est pour cette raison qu'il faut mettre une résistance de "rappel au plus" (appelée aussi résistance de tirage ou pull-up) dans le montage du BP sur la broche numérique en entrée. |
Faire le petit câblage (le arduino doit être débranché du cordon USB) et faites vérifier par le professeur.
3. Le programme Arduino
|
|||
en résumé: digitalRead ( n° de broche) lit l'état de l'entrée numérique (Tout Ou Rien). |
Ouvrir le fichier « clign_led_BP.txt », récupérer le programme contenu dans le fichier et testez le.
Compléter l'algorithme du programme :
Expliquer en détail le fonctionnement du programme (rôle de telle instruction, ...)
Que constatez-vous ? L'objectif de fonctionnement est-il atteint ? Si ce n'est pas le cas expliquez ce qui se passe (à partir du schéma électronique).
Proposez et essayez une modification du programme. Faire valider par le professeur.
Le microcontrôleur utilisé sur la carte Arduino dispose d'une résistance interne qu'il est possible d'activer pour réaliser le Pull-up (rappel au plus), ce qui permet de se dispenser d'une résistance externe ! Dans le programme Arduino cela donne: Le seul changement se situe dans le Setup(): pinMode(boutonPin, INPUT); //met la broche en entree |