Préambule Nous avons vu précédemment comment assurer une communication entre un

Préambule Nous avons vu précédemment comment assurer une communication entre un Arduino et un PC. LES AFFICHEURS LCD Mais maintenant, il est intéressant d’afficher des informations sans avoir besoin d’un ordinateur. Avec les écrans LCD, nous allons pouvoir afficher du texte sur un écran qui n’est pas très coûteux et ainsi faire des projets autonomes vis-à-vis des PC ! Présentation d’un afficheur LCD LCD signifie « Liquid Crystal Display » et se traduit, en français, par « Écran à Cristaux Liquides. Ces écrans sont PARTOUT ! Attention, il y’a une différence avec des écrans à LED. Il en existe deux types : 1. les écrans à rétro-éclairage LED : ceux sont des écrans LCD tout à fait ordinaires qui ont simplement la particularité d’avoir un rétro-éclairage à LED à la place des LES AFFICHEURS LCD 1. les écrans à rétro-éclairage LED : ceux sont des écrans LCD tout à fait ordinaires qui ont simplement la particularité d’avoir un rétro-éclairage à LED à la place des tubes néons. Leur prix est du même ordre de grandeur que les LCD « normaux ». En revanche, la qualité d’affichage des couleurs semble meilleure comparés aux LCD « normaux ». 1. les écrans à affichage LED : ceux si ne disposent pas de rétro-éclairage et ne sont ni des écrans LCD, ni des plasma. Ce sont des écrans qui, en lieu et place des pixels, se trouvent des LED de très petite taille. Leur coût est prohibitif pour le moment, mais la qualité de contraste et de couleur inégale tous les écrans existants ! Fonctionnement de l’écran Comme son nom l’indique, un écran LCD possède des cristaux liquides. Mais ce n’est pas tout ! En effet, pour fonctionner il faut plusieurs choses. Si vous regardez de très près votre écran (éteint) vous pouvez voir une grille de carré. Ces carrés sont appelés des pixels (de l’anglais « Picture Element », soit « Élément d’image » en français). LES AFFICHEURS LCD des pixels (de l’anglais « Picture Element », soit « Élément d’image » en français). Chaque pixel est un cristal liquide. Lorsque aucun courant ne le traverse, ses molécules sont orientées dans un sens (admettons, 0°). En revanche lorsqu’un courant le traverse, ses molécules vont se tourner dans la même direction (90°). Voilà pour la base. Mais pourquoi il y a de la lumière dans un cas et pas dans l’autre ? Tout simplement parce que cette lumière est polarisée. Cela signifie que la lumière est orientée dans une direction. En effet, entre les cristaux liquides et la source lumineuse se trouve un filtre polariseur de lumière. Ce filtre va orienter la lumière dans une LES AFFICHEURS LCD Fonctionnement de l’écran Ce filtre va orienter la lumière dans une direction précise. Entre vos yeux et les cristaux se trouve un autre écran polariseur, qui est perpendiculaire au premier. Ainsi, il faut que les cristaux liquides soient dans la bonne direction pour que la lumière passe de bout en bout et revienne à vos yeux. Enfin, vient le rétro-éclairage (fait avec des LED) qui vous permettra de lire l’écran même en pleine nuit (sinon il vous faudrait l’éclairer pour voir le contraste). Commande du LCD Normalement, pour pouvoir afficher des caractères sur l’écran il nous faudrait activer individuellement chaque pixel de l’écran. Un caractère est représenté par un bloc de 7*5 pixels. Ce qui fait qu’un écran de 16 colonnes et 2 lignes représente un total de 16*2*7*5 = 1120 pixels ! Heureusement c’est la tâche est plus simplifiée. Le décodeur de caractères Tout comme il existe un driver vidéo pour votre carte graphique d’ordinateur, il existe un driver « LCD » pour votre afficheur. LES AFFICHEURS LCD un driver « LCD » pour votre afficheur. Ce composant va servir à décoder un ensemble « simple » de bits pour afficher un caractère à une position précise ou exécuter des commandes comme déplacer le curseur par exemple. Ce composant est fabriqué principalement par Hitachi et se nomme le HC44780. Il sert de décodeur de caractères. Ainsi, plutôt que de devoir multiplier les signaux pour commander les pixels un à un, il nous suffira d’envoyer des octets de commandes pour lui dire « écris moi ‘LICENCE’ à partir de la colonne 3 sur la ligne 1 ». Ce composant possède 16 broches que je vais brièvement décrire : N° Nom Rôle 1 VSS Masse 2 Vdd +5V 3 V0 Réglage du contraste 4 RS Sélection du registre (commande ou donnée) LES AFFICHEURS LCD 4 RS (commande ou donnée) 5 R/W Lecture ou écriture 6 E Entrée de validation 7 à 14 D0 à D7 Bits de données 15 A Anode du rétroéclairage (+5V) 16 K Cathode du rétroéclairage (masse) Normalement, pour tous les écrans LCD (non graphiques) ce brochage est le même. Donc pas d’inquiétude lors des branchements, il vous suffira de vous rendre sur cette page pour consulter le tableau. Par la suite, les broches utiles qu’il faudra relier à l’Arduino sont les broches 4, 5 (facultatives), 6 et les données (7 à 14 pouvant être réduite à 8 à 14) en oubliant pas l’alimentation et la broche de réglage du contraste. Ce composant possède tout le système de traitement pour afficher les caractères. Il contient dans sa mémoire le schéma d’allumage des pixels pour afficher chacun d’entre eux. Voici la table des caractères affichables : LES AFFICHEURS LCD d’entre eux. Voici la table des caractères affichables : LES AFFICHEURS LCD Les caractéristiques d’un afficheur Dans la grande famille afficheur LCD, on distingue plusieurs catégories : Les afficheurs alphanumériques Les afficheurs graphiques monochromes Les afficheurs graphiques couleur Les premiers sont les plus courants. Ils permettent d’afficher des lettres, des chiffres et LES AFFICHEURS LCD Les premiers sont les plus courants. Ils permettent d’afficher des lettres, des chiffres et quelques caractères spéciaux. Les caractères sont prédéfinis (voir table juste au- dessus) et on a donc aucunement besoin de gérer chaque pixel de l’écran. Les seconds sont déjà plus avancés. On a accès à chacun des pixels et on peut donc produire des dessins beaucoup plus évolués. Ils sont cependant légèrement plus onéreux que les premiers. Les derniers sont l’évolution des précédents, la couleur en plus (soit 3 fois plus de pixels à gérer : un sous-pixel pour le rouge, un autre pour le bleu et un dernier pour le vert, le tout forme la couleur d’un seul pixel). Pour le TP on se servira d’afficheur de la première catégorie car ils suffisent à faire de nombreux montages et restent accessibles pour des zéros. LES AFFICHEURS LCD Afficheur alphanumérique Afficheur graphique (monochrome) Afficheur graphique (couleur) Communication avec l’écran La communication parallèle De manière classique, on communique avec l’écran de manière parallèle. Cela signifie que l’on envoie des bits par blocs, en utilisant plusieurs broches en même temps (opposée à une transmission série où les bits sont envoyés un par un sur une seule broche). Nous utilisons 10 broches différentes, 8 pour les données (en parallèle donc) et 2 pour LES AFFICHEURS LCD Nous utilisons 10 broches différentes, 8 pour les données (en parallèle donc) et 2 pour de la commande (E : Enable et RS : Registre Selector). La ligne R/W peut être connecté à la masse si l’on souhaite uniquement faire de l’écriture. Pour envoyer des données sur l’écran, c’est en fait assez simple. Il suffit de suivre un ordre logique et un certain timing pour que tout se passe bien. Tout d’abord, il nous faut placer la broche RS à 1 ou 0 selon que l’on veut envoyer une commande, comme par exemple « déplacer le curseur à la position (1;1) » ou que l’on veut envoyer une donnée : « écris le caractère ‘a’ « . Ensuite, on place sur les 8 broches de données (D0 à D7) la valeur de la donnée à afficher. Enfin, il suffit de faire une impulsion d’au moins 450 ns pour indiquer à l’écran que les données sont prêtes. Communication avec l’écran La communication parallèle Cependant, comme les ingénieurs d’écrans sont conscients que la communication parallèle prend beaucoup de broches, ils ont inventé un autre mode que j’appellerai « semi-parallèle ». Ce dernier se contente de travailler avec seulement les broches de données D4 à D7 (en plus de RS et E) et il faudra mettre les quatre autres (D0 à D3) à la masse. Il libère donc quatre broches. Dans ce mode, on fera donc deux fois le cycle LES AFFICHEURS LCD masse. Il libère donc quatre broches. Dans ce mode, on fera donc deux fois le cycle « envoi des données puis impulsion sur E » pour envoyer un octet complet. Nous utiliserons une libraire nommée LiquidCrystal qui se chargera de gérer les timings et l’ensemble du protocole. Pour continuer, le mode « semi-parallèle » sera choisi. Il nous permettra de garder plus de broches disponibles pour de futurs montages et est souvent câblé par défaut dans de nombreux shields (dont le mien). La partie suivante vous montrera ce type de branchement. Communication avec l’écran La uploads/Industriel/ afficheurs-lcd-arduino.pdf

  • 19
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager