Affichage d'informations Système en Temps Réel sur un écran LCD avec LCDproc & lcdmod

Gazette Linux n°077 — Avril 2002

Sébastien Marbrier

Adaptation française  

Frédéric Marchal

Correction du DocBook 

Article paru dans le n°077 de la Gazette Linux d'avril 2002.

Cet article est publié selon les termes de la Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.


Table des matières

Introduction
Précautions
De quoi ai-je besoin ?
Câblons !!
Installation du Logiciel
Lcdmod
Informations complémentaires
À propos de l'auteur

Introduction

En tant qu'Administrateur Système ou en tant qu'utilisateur (entousiaste) de Linux, nous regardons presque en permanence certaines informations systèmes importantes telles que l'espace disque, la mémoire, la charge CPU, les utilisateurs connectés etc... et si nous avions toutes ces informations sur un élégant écran LCD à proximité de l'écran ?

Les afficheurs à cristaux liquides LCD (Liquid Crystal Display) sont pratiquement partout, depuis les montres numériques jusqu'aux fours à micro-ondes en passant par les baladeurs numériques et les PDA et même sur les serveurs haut de gamme. Il existe dans le commerce des afficheurs bons marchés qui peuvent être commandés via le port parallèle ou via le port série (RS-232) de l'ordinateur.

Les LCD sont produits par différents constructeurs. Les exemplaires que l'on trouve habituellement dans les brocantes proviennent de chez Hitachi, Epson, Hewlett Packard, Optrex ou Sharp. Les configurations standards sont 16, 20, 24, 32 ou 42 caractères répartis sur 1, 2 ou 4 lignes.

J'ai personnellement testé des afficheurs compatibles avec les Hitachi HD44780 16X2 qui peuvent être facilement obtenus auprès de différents fournisseurs et qui sont contrôlables via le port parallèle. Notez que certains modèles proposent un rétro-éclairage alors que d'autres non, ceux qui en sont équipés ont plus de broches afin de contrôler le rétro-éclairage et sont un peu plus chers, à vous de faire votre choix.

Précautions

Avant d'embarquer dans cet exercice passionant sachez que les afficheurs LCD sont vraiment fragiles en cas de mauvais câblage et ne fonctionnement qu'avec la bonne tension (typiquement 5V ou 12V), en cas d'erreur ils se transformeront en générateurs de fumée !! Aussi, avant d'acheter un afficheur assurez-vous d'avoir le schéma de description des broches ainsi que la fiche technique correspondantes, ainsi vous serez en possession de toutes les informations utiles.

De quoi ai-je besoin ?

Avant de commencer, vérifiez la liste ci-dessous :

  • Un afficheur LCD compatible avec le HD44780 (peu importe la marque, vérifiez auprès du revendeur qu'il est compatible avec les Hitachi HD44780. À propos, l'afficheur HD44780 est équipé d'un contrôleur embarqué qui reconnaît des instructions standands (protocole) afin d'afficher des caractères issus d'un jeu prédéfini en interne.

  • Un connecteur pour port parallèle (Centronics) avec un câble attaché (vérifiez la longueur et la présence de fils denudés à l'autre extrémité).

  • Un fer à souder avec de la soudure (demandez à n'importe quel passionné d'électronique si vous ne pouvez pas le faire vous-même).

  • Une alimentation électrique (vous aurez généralement besoin d'une alimentation 5V ou 12V ou un adaptateur alternatif vers continu en vente auprès de votre magasin d'électronique le plus proche fera l'affaire).

  • LCDproc (il peut être téléchargé à l'adresse http://lcdproc.omnipotent.net) ou lcdmod (disponible à l'adresse http://lcd-mod.sourceforge.net).

Câblons !!

Avant d'essayer de relier l'afficheur à votre ordinateur, souvenez-vous que vous devez être assez prudent lors de vos manipulations faute de quoi vous pouvez endommager l'afficheur ou votre ordinateur, alors si vous n'êtes pas familier avec l'assemblage de circuits électroniques simples, ne vous démoralisez pas, et demandez à l'un de vos amis geek.

Je prends l'exemple d'un afficheur HD44780 que j'ai connecté au port parallèle de ma machine linux d'après le schéma suivant :

Ce schéma de câblage devrait être valable avec tous les afficheurs de type HD44780 et devrait également fonctionner avec votre montage. Vous pouvez vérifier si votre afficheur fonctionne en ajustant la résistance « Contrast » sur le schéma ci-dessus, des bandes noires devraient être visibles quand la valeur de la résistance est à sa valeur minimale.

Installation du Logiciel

J'ai pris des exemples pour LCDproc et pour lcdmod, vous pouvez installer l'un ou l'autre pour tester votre afficheur. Si vous êtes débutant, il faut mieux essayer LCDproc en premier.

Tout d'abord extraire l'archive que vous avez téléchergée :

[root@Linux gaurav]# tar -zxvf lcdproc-0.4.1.tar.gz
[root@Linux lcdproc-0.4.1]# ./configure --enable-drivers=curses,hd44780

Ceci configurera et produira un Makefile vous permettant de tester votre installation avec une prévisualisation basée sur curses telle qu'elle serait sur votre afficheur compatible HD44780.

Compilons et terminons notre installation :

[root@Linux lcdproc-0.4.1]# make install

Après cela, nous pouvons tester notre installation avec un contrôle sur la console elle-même en entrant la commande

[root@Linux lcdproc-0.4.1]# LCDd -d curses -f

Un très joli écran curses s'affichera sur votre terminal avec des informations systèmes vitales défilant une à une. À présent, passons aux choses sérieuses !! Vous pouvez alimenter votre écran LCD et le mettre en route avec :

[root@Linux lcdproc-0.4.1]# LCDd -d hd44780 

[root@Linux lcdproc-0.4.1]# lcdproc C M T X

Votre afficheur LCD devrait s'activer et afficher quelque chose comme

En installant et en configurant LCDProc vous avez dû comprendre que ce logiciel repose sur un modèle client-serveur (LCDd, le processus démon) et exécute les commandes manuellement. Mais si vous souhaitez un mécanisme plus rapide pour afficher et que vous désirer vous affranchir des sockets, alors lcdmod est fait pour vous.

Lcdmod

Lcdmod est un pilote de périphérique de type caractère pour tous les afficheur compatibles HD44780 écrit par Michael McLellan. Il est bien plus rapide que LCDProc et vous pouvez écrire sur le LCD comme n'importe quel périphérique.

Passons à l'installation, j'ai supposé que vous avez votre afficheur LCD correctement câblé et testé avec LCDProc.

Tout d'abord décompactons l'archive source :

[root@Linux gaurav]# tar -zxvf lcdmod-0.5.5.tgz
[root@Linux gaurav]# cd lcdmod-0.5.5

On fait appel à make et on installe :

[root@Linux lcdmod-0.5.5]# make
[root@Linux lcdmod-0.5.5]# make install

Cela crée un LKM (Linux Kernel Module) et un module nommé « lcd » qui pointera sur votre écran LCD.

Insérons le LKM que nous avons compilé avec la commande suivante :

[root@Linux lcdmod-0.5.5]# insmod lcd io=0x378 disp_rows=2 disp_cols=16

Le module spécifiant l'adresse E/S du port parallèle, nombre de lignes (disp_rows) et le nombre de colonnes (disp_cols) de votre afficheur.

Vérifions à présent que le module est bien chargé :

[root@Linux lcdmod-0.5.5]# lsmod

Ceci devrait afficher une entrée du module lcdmod parmis les autres modules chargés (s'il y en a).

Vous pouvez à présent afficher du texte sur votre LCD en entrant une simple commande du type :

[root@Linux lcdmod-0.5.5]# echo Hello > /dev/lcd

Ceci affichera « Hello » sur votre afficheur. Cet article avait pour objectif de vous apporter toutes les informations pour contrôller un écran LCD, maintenant place à votre créativité et à votre talent pour adapter cette idée à vos besoins. J'ai utilisé un écran LCD pour développer un système d'enregistrement d'employé avec un clavier personnalisé, le tout relié au web. ;-)

Informations complémentaires

Des informations complémentaires sur la configuration et les schémas de câblage peuvent être récupérés sur les pages de projets de LCDProc et lcdmod.

À propos de l'auteur

Gaurav Taneja

Je travaille en tant qu'expert technique au sein d'une compagnie multinationale spécialisée dans le logiciel à New Delhi, en Inde et je m'implique activement dans des projets open-source en rapport avec Linux, Java, C/C++ avec également quelques projets hébergés sur SourceForge. Je travaille au développement de circuits d'interface pour ordinateurs et à l'écriture de programmes pour Linux sur mon temps libre. Je possède également ma propre entreprise en conseil en ingénièrie logicielle, BroadStrike Technologies.

Adaptation française de la Gazette Linux

L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux.

Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linux.

Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.