Activité initiation Arduino

Transcription

Activité initiation Arduino
2015
Activité initiation Arduino
0
SOMMAIRE
TABLE DES ILLUSTRATIONS (FIGURES) .............................................................................................................. 3
INTRODUCTION ................................................................................................................................................ 4
COMPOSITION DE LA PLATEFORME ARDUINO................................................................................................................. 4
UTILISATION DE LA BREADBOARD ................................................................................................................................ 6
LISTE DU MATERIEL FOURNI KIT INITIATION ................................................................................................................... 7
LOGICIELS NECESSAIRES ............................................................................................................................................. 8
DIRECTIVES POUR CHAQUE EXERCICE............................................................................................................................ 8
1.
EXERCICE 1 - BLINKY LED .......................................................................................................................... 9
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
2.
EXERCICE 2 - BLINKY LED AND DIALOG PC .............................................................................................. 11
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
3.
OBJECTIFS ............................................................................................................................................... 16
SCHEMA DE CABLAGE ................................................................................................................................ 16
TECHNOLOGIE DES COMPOSANTS ................................................................................................................. 17
PRINCIPALES FONCTION A DECOUVRIR ........................................................................................................... 18
LE PROGRAMME ....................................................................................................................................... 18
LES ECUEILS PREVISIBLES............................................................................................................................. 18
EXERCICE 5 – VARIATEUR DE LUMINOSITE D’UNE LED ........................................................................... 19
5.1.
5.2.
6.
OBJECTIFS ............................................................................................................................................... 13
SCHEMA DE CABLAGE ................................................................................................................................ 13
TECHNOLOGIE DES COMPOSANTS ................................................................................................................. 14
PRINCIPALES FONCTION A DECOUVRIR ........................................................................................................... 14
LE PROGRAMME ....................................................................................................................................... 15
LES ECUEILS PREVISIBLES............................................................................................................................. 15
TRAVAIL A FAIRE EN SUPPLEMENT ................................................................................................................ 15
EXERCICE 4 – EFFET DE FONDU D’UNE LED ............................................................................................. 16
4.1.
4.2.
4.3.
4.4.
4.5.
4.6.
5.
OBJECTIFS ............................................................................................................................................... 11
SCHEMA DE CABLAGE ................................................................................................................................ 11
PRINCIPALES FONCTION A DECOUVRIR ........................................................................................................... 12
LE PROGRAMME ....................................................................................................................................... 12
TRAVAIL A FAIRE EN SUPPLEMENT ................................................................................................................ 12
LES ECUEILS PREVISIBLES............................................................................................................................. 12
EXERCICE 3 – DETECTION D’UN NIVEAU DE SEUIL DE TENSION ANALOGIQUE ........................................ 13
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
4.
OBJECTIFS ................................................................................................................................................. 9
SCHEMA DE CABLAGE .................................................................................................................................. 9
TECHNOLOGIE DES COMPOSANTS ................................................................................................................... 9
PRINCIPALES FONCTION A DECOUVRIR ........................................................................................................... 10
LE PROGRAMME ....................................................................................................................................... 10
LES ECUEILS PREVISIBLES............................................................................................................................. 10
OBJECTIFS ............................................................................................................................................... 19
CONSEILS ................................................................................................................................................ 19
EXERCICE 6 – CAPTEUR DE TEMPERATURE ............................................................................................. 20
6.1.
6.2.
6.3.
OBJECTIFS ............................................................................................................................................... 20
SCHEMA DE CABLAGE ................................................................................................................................ 20
TECHNOLOGIE DES COMPOSANTS ................................................................................................................. 21
1
6.4.
6.5.
7.
EXERCICE 7 – AFFICHEUR 7 SEGMENTS ................................................................................................... 22
7.1.
7.2.
7.3.
7.4.
8.
LE PROGRAMME A REALISER ........................................................................................................................ 21
CONSEILS ................................................................................................................................................ 21
OBJECTIFS ............................................................................................................................................... 22
SCHEMA DE CABLAGE ................................................................................................................................ 22
TECHNOLOGIE DES COMPOSANTS ................................................................................................................. 22
TRAVAIL A REALISER .................................................................................................................................. 24
EXERCICE 8 – COMPTEUR ....................................................................................................................... 25
2
Table des illustrations (Figures)
Figure 1 Arduino Uno .............................................................................................................................. 4
Figure 2 Environnement de développement Arduino............................................................................. 5
Figure 3 Support breadBoard pour le câblage de schéma électrique ..................................................... 6
Figure 4 Liste du matériel fourni Kit Initiation ........................................................................................ 7
Figure 5 Le poste de travail principal ...................................................................................................... 8
Figure 6 Schéma de câblage Exercice 1 ................................................................................................... 9
Figure 7 Technologie – Exercice 1 ........................................................................................................... 9
Figure 8 Exemple de programme pour l’Exercice 1............................................................................... 10
Figure 9 Schéma de câblage Exercice 2 ................................................................................................. 11
Figure 10 Exemple de programme pour l’Exercice 2............................................................................. 12
Figure 11 Schéma de câblage Exercice 3 ............................................................................................... 13
Figure 12 Technologie Potentiomètre – Exercice 3............................................................................... 14
Figure 13 Exemple de programme pour l’Exercice 3............................................................................. 15
Figure 14 Schéma de câblage Exercice 4 ............................................................................................... 16
Figure 15 Technologie Signal PWM – Exercice 4 ................................................................................... 17
Figure 16 Exemple de programme pour l’Exercice 4............................................................................. 18
Figure 17 Les objectifs de l’exercice 5 ................................................................................................... 19
Figure 18 Schéma de câblage Exercice 6 ............................................................................................... 20
Figure 19 Technologie – Exercice 6 ....................................................................................................... 21
Figure 20 Schéma de câblage Exercice 7 ............................................................................................... 22
Figure 21 Ecriture des caractères sur un afficheur 7 segments ............................................................ 22
Figure 22 Exemple d’afficheur 7 segments en cathode commune ....................................................... 23
Figure 23 Schéma du 74HC4511 et de sa table de vérité...................................................................... 23
3
Introduction
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware
and software. It's intended for artists, designers, hobbyists, and anyone interested in creating
interactive objects or environments.
Figure 1 Arduino Uno
Arduino can sense the environment by receiving input from a variety of sensors and can affect its
surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is
programmed using the Arduino programming language (based on Wiring) and the Arduino
development environment (based on Processing). Arduino projects can be stand-alone or they can
communicate with software running on a computer (e.g. Flash, Processing, MaxMSP). The boards can
be built by hand or purchased preassembled; the software can be downloaded for free. The
hardware reference designs (CAD files) are available under an open-source license, you are free to
adapt them to your needs. Arduino received an Honorary Mention in the Digital Communities section
of the 2006 Ars Electronica Prix. The Arduino team is: Massimo Banzi, David Cuartielles, Tom Igoe,
Gianluca Martino, and David Mellis
©First page of website arduino.cc
Composition de la plateforme Arduino
La Carte microcontrôleur UNO:
Cette carte est constituée d’un microcontrôleur Atmega328 (32K de mémoire programme), et d’une
interface d’entrée sortie directement utilisable. Elle comporte tout ce qui est nécessaire à la prise en
charge du microcontrôleur. Il vous suffit de la connecter à un ordinateur à l'aide d'un cordon USB
et/ou de l'alimenter avec un adaptateur c.a./c.c. ou une batterie. Pour le TP la carte sera alimentée
via le port USB.
Caractéristiques :
 ATmega328 16 MHz, mémoire Flash de 32 Ko, RAM de 2 Ko, EEPROM de 1 K
 14 x GPIO (dont 6 sorties PWM)
4





6 x entrées analogiques (A0…A5)
Prise en charge des bus SPI et I²C
Connecteur USB
Embase ICSP
Bouton Reset
D’un environnement de développement - EDI:
 Celui-ci permet l’édition des programmes en langage C et assembleur
 De compiler, vérifier la syntaxe du programme et générer le firmware (verify/compile)
 De charger (upload to I/Oboard) le firmware dans la mémoire du microcontroleur
 De dialoguer avec la carte lors de son fonctionnement (serial monitor)
 Il fournit des bibliothèques de code pour étendre les fonctionnalités.
 Pour le lancer exécuter le programme …\arduino.exe
 Sélectionner la liaison série COM_XX (menu Tools\serial_port)
Figure 2 Environnement de développement Arduino
La plateforme Arduino va donc permettre :
 de lire des informations analogiques ( lecture de valeurs de tension issues de capteur T° par
exemple)
 de lire des états logiques ( état de capteurs tout ou rien, boutons, fins de course, ..)
 de piloter avec un signal PWM des actionneurs ( commande de moteurs CC, …)
 de piloter des sorties tout ou rien ( relais, diodes, afficheurs, ..)
 de dialoguer avec une autre partie commande par la liaison série/Usb
Le programme écrit en langage C sera compilé et chargé dans la mémoire du microcontroleur. Ce
programme (firmware) assure l’ensemble de ces dialogues. Il est au moins constitué de 2 fonctions :
 La fonction void setup() qui assure l’initialisation des E/S du microcontroleur, elle est
appellée une seul fois au démarrage de l’application ( alimentation du processeur ou RESET).
Les interfaces d’entrées/sorties(I/O) binaires peuvent être programmées en entrée ou en
sortie.
 La fonction void loop() qui contient les instructions et appels à d’autres fonctions du
programme qui est indéfinimment executé.
5
Utilisation de la breadBoard
La breadBoard est un support pour câbler un schéma électrique. Elle sera utilisée pour réaliser le
schéma électrique et relier celui-ci aux entrées sorties de la carte microcontrôleur Arduino UNO.
Figure 3 Support breadBoard pour le câblage de schéma électrique
Sur la figure ci-dessus de la breaBoard nous avons rajouté les lignes grisées qui permettent de définir
les liaisons électriques 2 points reliés par un trait gris sont connectés électriquement.
6
Liste du matériel fourni KitBox initiation
Arduino UNO + Câble USB
1
Breadboard + cables
1
LED Rouge (La plus grande patte c’est
l’anode +)
4
Resistances: 220 Ohms (Rouge-RougeBrun) x 8
8
Resistances: 330
Orange-Brun)
1
Ohms
(Orange-
Potentiomètre
1
Switch
2
Buzzer
1
LM35 (capteur temperature)
1
74HC4511 (décodeur afficheur)
1
Afficheur 7 segments
1
Figure 4 Liste du matériel fourni KitBox Initiation
7
Logiciels nécessaires
Arduino (http://arduino.cc/en/Main/OldSoftwareReleases)
Frtizting (http://fritzing.org/download/)
Figure 5 Le poste de travail principal
1 - Installez l’environnement de développement Arduino, pour cela télécharger la version 1.0.6 sur
arduino.cc. Utilisez la version avec installeur si vous êtes administrateur de poste.
2 - une fois installé (version Windows), une entrée menu
vous permet de lancer l’IDE Arduino.
Arduino dans la barre de lancement
3 - Connectez à l’aide du câble USB l’Arduino et le PC, normalement le driver s’installe
automatiquement. Si cette connexion vous retourne une erreur liée à l’installation du driver,
referez-vous au site web pour finir l’installation du driver (vous devez être administrateur de votre
poste pour cette étape) : http://arduino.cc/en/pmwiki.php?n=Guide/Windows
4- Installation de Fritzing (pas de difficulté particulière)
Directives pour chaque exercice
Il vous est demandé pour chaque exercice :





De câbler le circuit
De recopier/ou développer le programme
De tester votre réalisation
De bien comprendre ce que vous avez fait !
….
8
1. Exercice 1 - Blinky LED
1.1. Objectifs
Le programme ci-après génère un train de signaux carrés sur la sortie digitale n°13. La Led rouge est
branchée sur cette sortie, en série avec une résistance pour limiter le courant. Elle s’allume quand la
sortie N°13 est à l’état haut : 5V
1.2. Schéma de câblage
Figure 6 Schéma de câblage Exercice 1
1.3. Technologie des composants
Figure 7 Technologie – Exercice 1
9
LED : composant optoélectronique qui émet de la lumière lorsqu’il est parcouru par un courant. La
LED ne laisse passer le courant que dans un seul sens Anode vers Cathode. On reliera donc la borne
Anode au + (broche la plus longue) et la borne Cathode au – de la source d’alimentation. On évitera
de brancher la diode directement à la source d’alimentation et on utilisera en série une résistance
pour limiter le courant 15 mA par exemple. La LED rouge produit une chute de tension d’environ
1.8V ( cette chute de tension dépend aussi de la technologie de la LED et de sa couleur) . On peut
3.2
écrire 5𝑉 = 𝑈𝐿𝐸𝐷 + 𝑈𝑅 = 1.8 + 𝑅. 𝐼 => 𝑅 =
= 213 Ohms
0.015
1.4. Principales fonction à découvrir
delay(ms) : pauses the program for the around of time “ms” (in milliseconds)
pinMode(pin,OUTPUT) : configure the “pin” in OUTPUT
digitalWrite(pin,HIGH) : set TRUE digital output “pin”.
1.5. Le programme
Figure 8 Exemple de programme pour l’Exercice 1
1.6. Les écueils prévisibles
Problème
La Led ne s’éclaire
pas
La compilation
génère une erreur
Causes
Vous avez connecté la LED à l’envers
Remèdes
Brancher correctement la LED
Vous utilisez des points de la breadboard
non reliés entre eux électriquement
Analysez bien le schéma de
câblage tel qu’il vous est donné,
ainsi que le schéma électrique de
la breadboard, et corrigez si
nécessaire
Mettre UNO si vous avez une
carte Arduino Uno
Vous n’avez pas sélectionné le bon type
de carte dans le menu de l’environnement
de développement Outils -> Type de
carte?
Vous avez fait une erreur de syntaxe,
n’avez-vous pas oublié un point-virgule à
la fin de chaque ligne
Interprétez l’erreur que vous
retourne la compilation en
particulier la localisation de
l’erreur
10
2. Exercice 2 - Blinky LED and dialog PC
2.1. Objectifs
Le Firmware dans l’Arduino renvoi des informations sur le PC connecté via le port USB. Cela peut être
très utile pour relier l’Arduino à d’autres périphériques, mais aussi très utile pour avoir l’état d’une
variable ou du programme dans la phase débogage.
Pour cela on utilise le moniteur de liaison série disponible sur l’EDI, pour recevoir des informations
depuis la liaison USB/série entre l’ordinateur et la carte microcontrôleur. Une fois le programme
chargé dans le microcontrôleur, il faut ouvrir le serial monitor sur le PC (menu tools de l’IDE arduino>serial monitor). A vous de décoder, comprendre et faire fonctionner ce programme.
2.2. Schéma de câblage
Figure 9 Schéma de câblage Exercice 2
11
2.3. Principales fonction à découvrir
Serial.begin(vitesse) initialisation de la liaison série « vitesse »=9600bauds
Serial.print(texte)
envoi vers le PC le contenu de « texte »
Serial.println(texte)
envoi vers le PC le contenu de « texte », rajoute un saut de ligne à la fin, et un retour
en début de ligne
2.4. Le programme
Figure 10 Exemple de programme pour l’Exercice 2
2.5. Travail à faire en supplément
Modifier ce programme pour changer la période de la
trame du signal carré
2.6. Les écueils prévisibles
Problème
Aucun caractère
ne s’affiche dans
le moniteur série
La compilation
génère une erreur
Causes
Vous avez oublié d’initialiser la liaison
série dans le setup du programme
Remèdes
Ajouter serial.begin dans la
fonction setup de votre
programme Arduino.
La vitesse de transmission de données
n’est pas la bonne
Dans notre cas, la vitesse de
transmission des données par la
liaison série doit être de 9600.
Interprétez l’erreur que vous
retourne la compilation en
particulier la localisation de
l’erreur
Vous avez fait une erreur de syntaxe,
n’avez-vous pas oublié un point-virgule à
la fin de chaque ligne
12
3. Exercice 3 – Détection d’un niveau de seuil de tension analogique
3.1. Objectifs
Le programme ci-après détecte un seuil de tension analogique pour allumer une LED. Une résistance
variable, reliée au 5V, est branché sur la broche A0 de l’Arduino. Cette broche est une entrée
analogique pouvant récupérer une tension entre 0V et 5V. Une LED rouge est branchée sur la sortie
digitale n°3.
L’objectif est d’allumer ou d’éteindre la LED selon les conditions suivantes :
Si A0 > 2,5V alors on allume la LED.
Sinon on éteint la LED.
3.2. Schéma de câblage
Figure 11 Schéma de câblage Exercice 3
13
3.3. Technologie des composants
3.3.1. Potentiomètre
Un potentiomètre (appelé familièrement potar) est un type de résistance variable à trois bornes,
dont une est reliée à un curseur se déplaçant sur une piste résistante terminée par les deux autres
bornes. Ce système permet de recueillir, entre la borne reliée au curseur et une des deux autres
bornes, une tension qui dépend de la position du curseur et de la tension à laquelle est soumise la
résistance.
Figure 12 Technologie Potentiomètre – Exercice 3
3.3.2. Entrée analogique Arduino
La carte Arduino contient un canal de 6 entrées analogiques, et d’un convertisseur 10-bit analogiquenumérique. Cela signifie qu’il convertit les tensions d'entrée (plage 0-5 volts) en valeurs entières
entre 0 et (2^10)-1 (soit de 0 à 1023). Cela donne une résolution de:
𝑡𝑒𝑛𝑠𝑖𝑜𝑛𝑀𝑎𝑥
2𝑛𝑏𝑖𝑡𝑠
=
5
1024
= 0,0049 𝑣𝑜𝑙𝑡 𝑝𝑎𝑟 𝑢𝑛𝑖𝑡é
3.4. Principales fonction à découvrir
AnalogRead(pin) : Lit la valeur de la broche analogique spécifiée « pin ». Cette fonction retourne
une valeur entière entre 0 et 1023.
14
3.5. Le programme
Figure 13 Exemple de programme pour l’Exercice 3
3.6. Les écueils prévisibles
Problème
Les données en
entrée ne
correspondent pas à
celle attendues
Causes
Vous avez inversé le branchement au niveau
du potentiomètre
Remèdes
Brancher correctement le
potentiomètre
Vous utilisez des points de la breadboard non
reliés entre eux électriquement
La compilation
génère une erreur
La compilation génère une erreur
Analysez bien le schéma de câblage
tel qu’il vous est donné, ainsi que le
schéma électrique de la breadboard,
et corrigez si nécessaire
Vous avez fait une erreur de
syntaxe, n’avez-vous pas oublié un
point-virgule à la fin de chaque ligne
3.7. Travail à faire en supplément
Modifier le programme pour afficher dans le moniteur
série la valeur de la tension détectée par l’Arduino,
mais aussi l’état de la LED (ON ou OFF)
15
4. Exercice 4 – Effet de fondu d’une LED
4.1. Objectifs
Le programme ci-après permet la décoloration d'une LED. Un bouton poussoir est relié sur la broche
3 de l’Arduino (configuré comme une entrée). Une LED est connecté à la proche 9 de l’Arduino
(configuré en sortie). L’objectif est de créer un effet de fondu de luminosité de la LED lors d’un appui
sur un bouton. Afin de créer cet effet de fondu, on utilise un signal PWM (Pulse Width Modulation)
permettant de moduler le signal de sortie (plus de détail dans la partie 5.3 de ce chapitre).
4.2. Schéma de câblage
Figure 14 Schéma de câblage Exercice 4
16
4.3. Technologie des composants
Définition d’un signal PWM (définition reprise du site Arduino)
Pulse Width Modulation, or PWM, is a technique for getting analog results with digital means. Digital
control is used to create a square wave, a signal switched between on and off. This on-off pattern
can simulate voltages in between full on (5 Volts) and off (0 Volts) by changing the portion of the
time the signal spends on versus the time that the signal spends off.
The duration of "on time" is called the pulse width. To get varying analog values, you change, or
modulate, that pulse width. If you repeat this on-off pattern fast enough with an LED for example,
the result is as if the signal is a steady voltage between 0 and 5v controlling the brightness of the LED.
In the graphic below, the green lines represent a regular time period. This duration or period is the
inverse of the PWM frequency. In other words, with Arduino's PWM frequency at about 500Hz, the
green lines would measure 2 milliseconds each. A call to analogWrite() is on a scale of 0 - 255, such
that analogWrite(255) requests a 100% duty cycle (always on), and analogWrite(127) is a 50% duty
cycle (on half the time) for example.
Figure 15 Technologie Signal PWM – Exercice 4
17
4.4. Principales fonction à découvrir
digitalRead(pin) : Lit la valeur de la broche numérique spécifiée « pin ». Cette fonction retourne
une valeur HIGH (niveau binaire 1) ou LOW (niveau binaire 0).
analogWrite(pin,value) : Génère une tension analogique « (signal PWM) sur la broche « pin »
4.5. Le programme
Figure 16 Exemple de programme pour l’Exercice 4
4.6. Les écueils prévisibles
Problème
La LED ne s’éclaire
pas
Causes
La LED n’est pas bien connectée
Remèdes
Brancher correctement la LED (sens
+ pin Arduino)
Vous utilisez des points de la breadboard non
reliés entre eux électriquement
Analysez bien le schéma de câblage
tel qu’il vous est donné, ainsi que le
schéma électrique de la breadboard,
et corrigez si nécessaire
Brancher correctement le bouton
poussoir (vérifier le sens)
Vous avez fait une erreur de
syntaxe, n’avez-vous pas oublié un
point-virgule à la fin de chaque ligne
Le bouton n’est pas bien connecté
La compilation
génère une erreur
La compilation génère une erreur
18
5. Exercice 5 – Variateur de luminosité d’une LED
5.1. Objectifs
A partir des exercices précédents, nous vous demandons de remplir l’objectif suivant :
Faire varier la luminosité d’une LED à
partir d’un potentiomètre
Figure 17 Les objectifs de l’exercice 5
5.2. Conseils





Faire le bilan des entrées/sorties et des composants que vous avez besoin
Faire le montage électronique sur la breadboard
Si nécessaire, préparer votre programme sur papier (fonction principale, type de
variable nécessaire, schéma bloc….)
Ecrire votre programme de manière structuré et bien commenté
Tester et valider les objectifs.
N’hésitez pas à tester progressivement votre programme. Vous pouvez l’écrire de manière
continue en validant chaque fonction principale séparément.
19
6. Exercice 6 – Capteur de température
6.1. Objectifs
L’exercice suivant a pour objectif de récupérer une valeur de température à partir d’un capteur
analogique (le LM35) et d’envoyer une valeur en degré au moniteur série. Ce capteur est connecté
sur une des broches des entrées analogiques de l’Arduino.
6.2. Schéma de câblage
Figure 18 Schéma de câblage Exercice 6
20
6.3. Technologie des composants
Figure 19 Technologie – Exercice 6
Le capteur de température LM35 est très facile à utiliser puisqu’il suffit de l’alimenter avec ses
broches VCC et GND. La broche centrale correspond au signal de la température sous forme d’une
tension analogique qui est proportionnel à la température en degré Celsius. La conversion elle aussi
est simple puisqu’un volt correspond à 100 degrés Celsius.
6.4. Le programme à réaliser
Maintenant, vous devez écrire un programme permettant de lire
la tension du capteur sur l’entrée analogique A0 de l’Arduino et
de la convertir en degré Celsius. Cette valeur de température
devra s’afficher sur le moniteur série du logiciel Arduino.
Donner la précision de mesure de température (Rappel : les
entrées analogiques de l’Arduino dispose d’un convertisseur 10-bit
analogique-numérique.
6.5. Conseils







Faire le bilan des entrées/sorties et des composants que vous avez besoin
Faire le montage électronique sur la breadboard
Attention au sens de branchement du capteur de température
Bien réfléchir sur le calcul de conversion Tension/Température
Si nécessaire, préparer votre programme sur papier (fonction principale, type de
variable nécessaire, schéma bloc….)
Ecrire votre programme de manière structuré et bien commenté
Tester et valider les objectifs.
21
7. Exercice 7 – Afficheur 7 segments
7.1. Objectifs
Le circuit ci-après permet d’afficher un chiffre sur un afficheur 7 segments. L'afficheur 7 segments est
connecté sur un décodeur BCD 74HC4511. On spécifie le chiffre à afficher en utilisant des fils de
prototypage câblés sur les entrées BCD du décodeur et reliés au +5V ou 0V. On utilisera des
résistances de 220ohms pour limiter le courant dans les diodes de l'afficheur comme dans l'exercice
N°1.
Dans un premier temps, la platine Arduino servira seulement pour l’alimentation des composants
7.2. Schéma de câblage
Figure 20 Schéma de câblage Exercice 7
7.3. Technologie des composants
7.3.1. Afficheur 7 segments
Les afficheurs 7 segments sont un type d'afficheur
très présent sur les calculatrices et les montres à
affichage numérique. Les caractères (des chiffres,
bien que quelques lettres soient utilisées pour
l'affichage hexadécimal) s'écrivent en allumant ou en
éteignant des segments (LEDs), au nombre de sept.
Quand les 7 segments sont allumés, on obtient le
chiffre 8.
Figure 21 Ecriture des caractères sur un afficheur 7
segments
22
Mais comment fonctionne ce composant ?
Comme son nom l'indique, il y a 7 LEDs dans un afficheur 7 segments (8 en comptant le point rouge
en bas à droite). Il existe principalement deux types d'afficheurs: anode commune et cathode
commune.
Cathode commune veut simplement dire : relié à la masse, s'allume avec un état haut
Anode commune : relié à l'alimentation, s'allume avec un état bas.
Petit exemple rapide pour comprendre.
Imaginons que c'est un afficheur 7 segments en cathode commune : 3 et 8 seront à la masse. Si on
veut afficher "1", il faudra mettre 5V sur 6 et 4 (tous les autres à 0V), Pour un "8" il faudra tous les
mettre à 5V (sauf 3 et 8 bien sûr).
Figure 22 Exemple d’afficheur 7 segments en cathode commune
Il y a donc 8 pins à commander. Si nous souhaitons trois afficheurs, nous devrons utiliser ainsi 24
pins. Ce qui fait énormément de fils à brancher. Du coup, des décodeurs ont été inventé pour
simplifier ces branchements.
7.3.2. Décodeur 74HC4511
Le décodeur 74HC4511 permet à l’aide de 4 pins d’en commander 8 à partir de la table de vérité cidessous.
Figure 23 Schéma du 74HC4511 et de sa table de vérité
23
A partir des signaux envoyés sur les pins A,B,C et D du décodeur, il est possible d’activer les sorties a,
b, c, d, e, f, g correspondant aux pins d’entrées de l’afficheur 7 segments. Par exemple, si D=0, C=0,
B=0 et A=1, les sorties b et c du décodeur sont activées. Ainsi, les segments b et c de l’afficheur 7
segments sont allumés. Le chiffre 1 est ainsi représenté.
7.4. Travail à réaliser
Nous vous demandons d’effectuer le schéma de câblage présenté juste avant. Quel caractère
s’affiche sur l’afficheur 7 segments ?
24
8. Exercice 8 – Compteur
8.1.1. Pilotage à l’aide de l’arduino
Il suffit de reprendre le schéma de câblage précédent et de relier 4 sorties digitales de l’Arduino aux
4 entrées du décodeur.
8.1.2. Programme avec décodeur
Vous pouvez alors écrire un programme permettant d’afficher des chiffres sur un afficheur 7
segments. Vous pouvez utiliser la fonction bitRead(X,n) qui retourne l’état du n° bit du mot X.
Pour aller plus loin, vous pouvez imaginer de créer un compteur de 0 à 9 à chaque fois que vous
appuyez sur un bouton poussoir ou encore d’afficher la valeur du chiffre des unités de la
température issus du capteur LM35 (utilisation de la fonction arduino bitRead()
25

Documents pareils