Vous êtes sur la page 1sur 6

TP 2 : Boutons poussoirs & afficheur 7 segments sous

ARDUINO

PARTIE A : utilisation d’un bouton poussoir


Présentation :
Les boutons sont les capteurs les plus simples. En appuyant sur un bouton, on connecte ses fils, de telle
sorte que le bouton agit comme un interrupteur. En relâchant le bouton, on interrompt le circuit. Il existe
des boutons de différentes tailles et formes. Quand on utilise une plaque à essais, il est pratique
d’employer un bouton avec quatre fils. Les fils fonctionnent par paires, si bien que deux fils adjacents
sont toujours connectés l’un à l’autre.

Figure 1 : Différentes vues d'un bouton poussoir


Le principe de ce bouton est que lorsque l'on appuie, le courant passe, et lorsque l'on relâche et bien...
le courant ne passe plus. Contrairement à un interrupteur, il ne garde pas la position (il faut garder le
doigt dessus pour qu'il fasse contact).
Pour comprendre, l'Arduino va pouvoir lire une valeur de +5V ou de 0V. Donc en théorie, si on envoie le
+5V sur un poussoir, quand il est baissé, il laisse passer le courant et l'Arduino reçoit +5V, il indique
donc HIGH (ou 1). Si le poussoir est ouvert, l'Arduino devrait ne rien recevoir, donc être à 0V et indiquer
LOW (ou 0).
Voici le montage correspondant en connexion sur le pin 10 :

Figure 2
1/6
Quand le bouton est levé, n'est finalement connecté à rien. Le résultat lu par l'Arduino est donc peu
interprétable. Il existe un moyen de forcer l'Arduino à lire quelque chose, tout simplement avec l'ajout
d'une résistance...

Résistance 10 KΩ montée en pull-down Résistance de 10 KΩ montée en pull-up

1. Expliquer le principe de fonctionnement des deux schémas présentés ci-dessus et indiquer le rôle de
la résistance R(10KΩ)
…………………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………………
Pour lire l’état du bouton poussoir vous devez utiliser la fonction : digitalRead (broche).
Manipulation :
Ecrire un programme qui permet d’allumer la LED associé au pin 3 : lorsque l’on appuie sur le bouton
poussoir associé au pin 2, la LED doit s’éteindre et lorsque l’on relâche le bouton, la LED doit s’allumer.
Autrement dit, tant que le bouton est éteint, la LED est allumée.

Figure 3
2/6
➔Compiler le programme.
➔ Réaliser le schéma sous PROTEUS et transférer le fichier.hex dans le microcontrôleur.
➔Puis simuler le fonctionnement.
➔ Réaliser le schéma de câblage.
➔Transférer votre programme compilé dans le microcontrôleur, puis valider le fonctionnement.

PARTIE B :
Présentation
Un afficheur 7 segments possède 7 LED encastrées dans un boiter. On dénombre donc 8 portions en
comptant le point décimal (DP) de l'afficheur. Il s’agit des petites lumières qui forment le chiffre 8 et qui
sont de couleur rouge ou verte, la plupart du temps, mais peuvent aussi être bleus, blancs, etc.

2. Broches de l’afficheur 7 segments


a) Consulter la fiche technique (datasheet) de l’afficheur LD5613AR, et déterminer s’il s’agit d’un
afficheur à cathode commune ou à anode commune. Quel est la couleur de la lumière de ses
chiffres (LED) ?
b) Déterminer la signification des dix broches.
c) Est-il nécessaire d’utiliser des résistances avec cet afficheur ? Pourquoi ?

3. Brochage de l’afficheur 7 segments à l'Arduino


 Pour les composants, utilisez un afficheur à cathode commune, 8 résistances de 270 Ω
(Généralement, on prendra une résistance de 270 Ω pour une tension de +5V. Si on veut
augmenter la luminosité, il suffit de diminuer cette valeur. Si au contraire (diminuer la
luminosité), il faut augmenter la résistance).
 Mettez l’afficheur à cheval sur la plaque d’essai, trouvez la broche représentant l’anode
commune et relier la à la future colonne du +5V. Par la suite, mettez une résistance sur chaque
broche de signal. Enfin, reliez quelques-unes de ces résistances à la masse de l’Arduino.

3/6
- Alimenter la carte Arduino (via câble USB / PC). Vérifiez le bon fonctionnement de l’afficheur : les
segments reliés à la masse via leurs résistances doivent s’allumer lorsque vous alimentez le circuit.
4. Manipulation 1 : Afficher des chiffres et des lettres
a) Reprendre le schéma précédent, mais en connectant chaque broche (segment) de l’afficheur à
une sortie de la carte Arduino, où chaque LED de l’afficheur va être commandée séparément les
unes des autres.

4/6
Instructions de montage
 Connecter sur la broche 2 (configurée en sortie) la
broche du segment e du digit via une résistance en
série
 Connecter sur la broche 3 (configurée en sortie) la
broche du segment d du digit via une résistance en
série
 Connecter sur la broche 4 (configurée en sortie) la
broche du segment c du digit via une résistance en
série
 Connecter sur la broche 5 (configurée en sortie) la
broche du segment pt du digit via une résistance en
série
 Connecter sur la broche 6 (configurée en sortie) la broche du segment g du digit via une
résistance en série
 Connecter sur la broche 7 (configurée en sortie) la broche du segment f du digit via une
résistance en série
 Connecter sur la broche 8 (configurée en sortie) la broche du segment a du digit via une
résistance en série
 Connecter sur la broche 9 (configurée en sortie) la broche du segment b du digit via une
résistance en série

Préparation du montage et programmation de la carte Arduino :


b) Ecrire le programme permettant d’afficher le chiffre 0 par exemple (utiliser l’annexe).
c) Modifier le programme précédent pour qu’on puisse afficher les chiffres de 0 à 9 et les lettres
de A à F successivement.
d) Commencer par réaliser le montage indiqué sur plaque d'expérimentation.
e) Ensuite, tester le programme.

5/6
Annexe

//Voici le code pour afficher '9' :


int neuf[] = {LOW, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH};
void setup()
{
//notez que l'on ne gère pas l'affichage du point
int i;
for (i = 2 ; i <= 9 ; i++)
{
//définition des broches en sortie (2 à 9)
pinMode(i, OUTPUT);
//mise a l'état HAUT de ces sorties pour éteindre les LED de
l'afficheur
digitalWrite(i, HIGH);
}
}
void loop()
{
//affichage du chiffre 9
int i, j = 0;
for (i = 2 ; i <= 9 ; i++, j++)
{
digitalWrite(i, neuf[j]);
}

6/6

Vous aimerez peut-être aussi