0% ont trouvé ce document utile (0 vote)
14 vues4 pages

Affichage avec Arduino : 7 segments et LCD

Le document présente différentes méthodes d'affichage des données avec Arduino, notamment l'utilisation d'un afficheur 7 segments et d'un écran LCD 1602. Il décrit les composants nécessaires, les bibliothèques à utiliser, et fournit des exemples de code pour afficher des valeurs numériques et des messages. Les sections pratiques incluent des exercices pour afficher des données de capteurs sur ces dispositifs.

Transféré par

pape gora thiam
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues4 pages

Affichage avec Arduino : 7 segments et LCD

Le document présente différentes méthodes d'affichage des données avec Arduino, notamment l'utilisation d'un afficheur 7 segments et d'un écran LCD 1602. Il décrit les composants nécessaires, les bibliothèques à utiliser, et fournit des exemples de code pour afficher des valeurs numériques et des messages. Les sections pratiques incluent des exercices pour afficher des données de capteurs sur ces dispositifs.

Transféré par

pape gora thiam
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Arduino TP6 – Affichage des données | Dr Ousmane SADIO

_______________________________________________________________________________________________________________

TP6 – Affichage des données

Il existe plusieurs façons d’afficher les données traitées par Arduino, le plus simple étant d’utiliser
la transmission série via le port USB de votre ordinateur. Mais, pour rendre votre projet plus
autonome, on préférera utiliser l’afficheur 7 segments qui est capable d’afficher tous les symboles
du code hexadécimale. Ou mieux, afficher toutes les symboles alphanumérique grâce à l’écran LCD.

A. L’afficheur 7 segments
Les afficheurs les plus couramment utilisés pour l'affichage numérique sont les afficheurs sept segments
qui ne sont rien d'autre qu'une association de 7 LEDs disposées comme ci-dessous. Les nombres à
afficher sont codés en BCD (décimal) ou BCH (hexadécimal).

Boitier 7 segments à 4 digits


Il s’agit d’un afficheur à cathode commune pouvant afficher 4 nombres ou digits. Ce boitier fonctionne
avec 12 broches :
− A, B, C, D, E, F, G : nom des segments
− D1, D2, D3, D4 : digit à activer sur l’afficheur
− Dp : point décimal (facultatif)

La bibliothèque SevSeg
Cette bibliothèque permet à Arduino de facilement afficher les nombres et les caractères sur un afficheur
7 segments à 4 digits.
− Constructeur SevSeg : créé une instance SevSeg correspondant à un objet 7 segments.

SevSeg sevseg;

− Initialisation : la fonction d’initialisation begin() doit être appelée au niveau du setup, elle
permet de régler le mode des broches et éteint tous les afficheurs.

[Link](type, d1, d2, d3, d4, s1, s2, s3, s4, s5, s6, s7, s8);

type : spécifier le type de boitier, 0 pour cathode et 1 pour anode commune.

d1, …, d4 : broches Arduino correspondant respectivement aux digits D1, D2, D3, D4.

s1, …s7 : broches Arduino correspondant respectivement aux segments A, B, C, D, E, F.

s8 : broche Arduino correspondant au point Dp

______________________________________________________________________________
UVS 2021 – 2022 | Licence 2 Robotique
Arduino TP6 – Affichage des données | Dr Ousmane SADIO
_______________________________________________________________________________________________________________

− Spécifier nombre : indique quel nombre sera affiché (-999 à 9999).

[Link](number, decimal_point_position);

number : c’est le nombre à afficher.


decimal_point_position : position de la virgule, si on a un entier on mettra 0.

− Afficher nombre : permet d’afficher le nombre spécifié dans la fonction NewNum.

[Link]();

• Pratique
Ecrire un programme permettant d’afficher la valeur 2073 sur l’afficheur 7 segments à 4 digits.
Ensuite brancher un capteur DHT1 sur la broche 1 puis écrire un programme capable de lire la
température à partir de ce capteur puis d’afficher sa valeur entière sur l’afficheur 7 segments à 4 digits.
Modifier le programme afin d’afficher la valeur en décimale de la température.

Bout de code
(1) Créer une instance SevSeg
#include "SevSeg.h"

SevSeg sevseg;

(2) Initialisation dans la fonction setup()


// initialisation 7 segments (type, D1, D2, D3, D4, A, B, C, D, E, F, G, Dp)
[Link](0, 2, 3, 4, 5, 6, 7, 10, 12, 13, 8, 9, 11);

______________________________________________________________________________
UVS 2021 – 2022 | Licence 2 Robotique
Arduino TP6 – Affichage des données | Dr Ousmane SADIO
_______________________________________________________________________________________________________________

B. Ecran LCD 1602


C’est un écran constitué d’un ensemble de blocs (7x5 pixels) disposés en 16 colonnes et 2 lignes soit un
total de (16 × 2)(7 × 5) = 1120 pixels. Le décodage des bits en caractères à afficher se fait grâce au
décodeur intégré Hitachi HC44780. Le tableau suivant décrit les16 broches de l’écran LCD 1602.

La communication parallèle est utilisée pour commander l’écran LCD, soit un total de 8 lignes pour
l’échange de données (D0−D7) et deux lignes pour la commande (RS, E).
− R/W : à connecter à la masse pour une communication en mode écriture seule.
− RS : suivant l’état de cette entrée (1 ou 0) l’écran se préparera alors pour recevoir une commande
ou une donnée.
− D0−D7 : constituent les 8 broches où doivent transiter les données (caractères à afficher).
− E : permet de valider les données envoyées à la carte en envoyant une impulsion.
Le problème avec ce type d’interfaçage est que l’utilisation massive des broches d’Arduino. Un autre
type d’interfaçage permet de faire l’économie de 4 broches. Ainsi on se contentera d’utiliser les boches
D4−D7 pour envoyer les données (deux cycles sont nécessaires pour envoyer le code d’un caractère),
les broches D0−D3 seront alors tous reliées à la masse.
La bibliothèque LiquidCrystal
Cette bibliothèque permet à la carte Arduino de contrôler l’écran LCD basé sur le chipset HD44780 ou
compatible. Cette bibliothèque fonctionne en mode 8-bits ou 4-bits.
− Constructeur LiquidCrystal: permet de créer un objet de type écran LCD. Nous travaillerons
en mode 4-bit et en écriture seule.

LiquidCrystal lcd(rs, enable, d4, d5, d6, d7);

rs : numéro broche Arduino correspondant à l’entrée RS du LCD


enable : numéro broche Arduino correspondant à l’entrée E du LCD
d4-d7 : numéro broche Arduino correspondant respectivement aux entrées D4,…,D7 du LCD.
− Initialisation : initialise l’interface de l’écran LCD, et spécifie les dimensions de l’écran.

[Link](cols, rows);

− Ecrire : texte à afficher sur l’écran.

[Link]("Hello world !");

− Autoscroll : active le défilement automatique du texte au niveau du LCD.

[Link]();

______________________________________________________________________________
UVS 2021 – 2022 | Licence 2 Robotique
Arduino TP6 – Affichage des données | Dr Ousmane SADIO
_______________________________________________________________________________________________________________

− Positionnement : positionne le curseur du LCD à l’endroit (colonne, ligne) où le texte envoyé à


l’écran devra s’afficher.

[Link](3, 1); //col < 16 et row < 2

− Variable (texte dynamique) : pour envoyer un texte dynamique au LCD, on peut utiliser d’abord
utiliser la fonction sprintf() pour imprimer le texte à afficher sur une variable, puis afficher le
contenu de la variable sur l’écran grâce à la fonction [Link]().
char texte[16] = "";
float temp = 23.51;
sprintf(texte,"Temperature : %f", temp);
[Link](texte) ;

• Pratique
Ecrire un programme capable d’afficher le message "hello wordl !" sur l’écran LCD.
Ensuite brancher un détecteur d’obstacle à ultrason puis afficher sur l’écran LCD la distance mesurée.

Bout de code
(1) Créer une instance LiquidCrystal
#include <LiquidCrystal.h>

// Instance LCD en mode 4 bits (RS, E, D4, D5, D6, D7)


LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

(2) Initialisation dans la fonction setup()

[Link](16,2); // Initialise le LCD 16x2

______________________________________________________________________________
UVS 2021 – 2022 | Licence 2 Robotique

Vous aimerez peut-être aussi