1
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. OBJECTIFS ................................................................................................................................................. 9 1.2. SCHEMA DE CABLAGE .................................................................................................................................. 9 1.3. TECHNOLOGIE DES COMPOSANTS ................................................................................................................... 9 1.4. PRINCIPALES FONCTION A DECOUVRIR ........................................................................................................... 10 1.5. LE PROGRAMME ....................................................................................................................................... 10 1.6. LES ECUEILS PREVISIBLES ............................................................................................................................. 10
2. EXERCICE 2 - BLINKY LED AND DIALOG PC .............................................................................................. 11
2.1. OBJECTIFS ............................................................................................................................................... 11 2.2. SCHEMA DE CABLAGE ................................................................................................................................ 11 2.3. PRINCIPALES FONCTION A DECOUVRIR ........................................................................................................... 12 2.4. LE PROGRAMME ....................................................................................................................................... 12 2.5. TRAVAIL A FAIRE EN SUPPLEMENT ................................................................................................................ 12 2.6. LES ECUEILS PREVISIBLES ............................................................................................................................. 12
3. EXERCICE 3 – DETECTION D’UN NIVEAU DE SEUIL DE TENSION ANALOGIQUE ........................................ 13
3.1. OBJECTIFS ............................................................................................................................................... 13 3.2. SCHEMA DE CABLAGE ................................................................................................................................ 13 3.3. TECHNOLOGIE DES COMPOSANTS ................................................................................................................. 14 3.4. PRINCIPALES FONCTION A DECOUVRIR ........................................................................................................... 14 3.5. LE PROGRAMME ....................................................................................................................................... 15 3.6. LES ECUEILS PREVISIBLES ............................................................................................................................. 15 3.7. TRAVAIL A FAIRE EN SUPPLEMENT ................................................................................................................ 15
4. EXERCICE 4 – EFFET DE FONDU D’UNE LED ............................................................................................. 16
4.1. OBJECTIFS ............................................................................................................................................... 16 4.2. SCHEMA DE CABLAGE ................................................................................................................................ 16 4.3. TECHNOLOGIE DES COMPOSANTS ................................................................................................................. 17 4.4. PRINCIPALES FONCTION A DECOUVRIR ........................................................................................................... 18 4.5. LE PROGRAMME ....................................................................................................................................... 18 4.6. LES ECUEILS PREVISIBLES ............................................................................................................................. 18
5. EXERCICE 5 – VARIATEUR DE LUMINOSITE D’UNE LED ........................................................................... 19
5.1. OBJECTIFS ............................................................................................................................................... 19 5.2. CONSEILS ................................................................................................................................................ 19
6. EXERCICE 6 – CAPTEUR DE TEMPERATURE ............................................................................................. 20
6.1. OBJECTIFS ............................................................................................................................................... 20 6.2. SCHEMA DE CABLAGE ................................................................................................................................ 20 6.3. TECHNOLOGIE DES COMPOSANTS ................................................................................................................. 21
2
6.4. LE PROGRAMME A REALISER ........................................................................................................................ 21 6.5. CONSEILS ................................................................................................................................................ 21
7. EXERCICE 7 – AFFICHEUR 7 SEGMENTS ................................................................................................... 22
7.1. OBJECTIFS ............................................................................................................................................... 22 7.2. SCHEMA DE CABLAGE ................................................................................................................................ 22 7.3. TECHNOLOGIE DES COMPOSANTS ................................................................................................................. 22 7.4. TRAVAIL A REALISER .................................................................................................................................. 24
8. EXERCICE 8 – COMPTEUR ....................................................................................................................... 25
3
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
4
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)
5
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é.
6
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.
7
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-Rouge-Brun) x 8
8
Resistances: 330 Ohms (Orange-Orange-Brun)
1
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
8
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 Arduino dans la barre de lancement
vous permet de lancer l’IDE Arduino.
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 !
….
9
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
10
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
écrire 5𝑉 = 𝑈𝐿𝐸𝐷 + 𝑈𝑅 = 1.8 + 𝑅. 𝐼 => 𝑅 =3.2
0.015= 213 Ohms
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 Causes Remèdes
La Led ne s’éclaire pas
Vous avez connecté la LED à l’envers 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
La compilation génère une erreur
Vous n’avez pas sélectionné le bon type de carte dans le menu de l’environnement de développement Outils -> Type de carte?
Mettre UNO si vous avez une carte Arduino Uno
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
11
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
12
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 Causes Remèdes
Aucun caractère ne s’affiche dans le moniteur série
Vous avez oublié d’initialiser la liaison série dans le setup du programme
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.
La compilation génère une erreur
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
13
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
14
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 analogique-numé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.
15
3.5. Le programme
Figure 13 Exemple de programme pour l’Exercice 3
3.6. Les écueils prévisibles Problème Causes Remèdes
Les données en entrée ne correspondent pas à celle attendues
Vous avez inversé le branchement au niveau du potentiomètre
Brancher correctement le potentiomètre
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
La compilation génère une erreur
La compilation génère une erreur 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)
16
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
17
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
18
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 Causes Remèdes
La LED ne s’éclaire pas
La LED n’est pas bien connectée 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
Le bouton n’est pas bien connecté Brancher correctement le bouton poussoir (vérifier le sens)
La compilation génère une erreur
La compilation génère une erreur Vous avez fait une erreur de syntaxe, n’avez-vous pas oublié un point-virgule à la fin de chaque ligne
19
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 :
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.
Faire varier la luminosité d’une LED à
partir d’un potentiomètre
20
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
21
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
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.
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.
22
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
23
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é ci-dessous.
Figure 23 Schéma du 74HC4511 et de sa table de vérité
24
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 ?
25
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()