La section electronique de pokie: Projet LcdTerm

none none none
none pokie

 F@milyNet

 Linux

 Electronique
    Bigtrak
    Alarme
    Carte GSM
    Terminal LCD
    Régulateur
    Chargeur

 Wifi

 Ski

 Liens

none
none none none
none none none
none
Easy Debugging Terminal

D'après une idée originale de M Asim Khan.

Construire un simple afficheur LCD série 9600 baud 8n1 pour des projets à base d'interface RS232C.

Introduction

Cet afficheur LCD possede deux modes de fonctionnement selon la position du cavalier J1. Quand J1 est ouvert, l'afficheur fonctionne normalement, quand J1 est fermé, l'écran affiche les caractères ascii au format hexadecimal. Ce dernier mode est utile pour voir les données brutes qui sortent sur l'interface série.

Le matériel

La figure 1 montre le schéma du circuit. Le micro controleur est un PIC16F84 de chez microchip. L'afficheur est un classique LCD piloté par le HD44780. Le signal d'entrée RS232 arrive sur le connecteur K1. L'alimentation du circuit peut varier de +7V à +15V (prévoir un radiateur à partir de 12V). Le cavalier J1 selectionne le mode hexadecimal s'il est fermé ou normal s'il est ouvert. La led D3 est controlé par le soft en mode normal. Le potentiometre P1 ajuste le contraste de l'affichage. Le circuit peut commander un afficheur LCD 16 caractères sur 2 lignes, ou avec modification du code un 16 x 1 ligne.

Figure 1: Diagramme du terminal LCD

Figure 2: Circuit imprimé du terminal LCD

Réalisation du Circuit

Le circuit imprimé est de la meme taille que l'afficheur LCD. Ce dernier se connectera cote cuivre.


Pour la liste des composants, voir le fichier Lcdbom.txt

Le logiciel

Le programme a été developpé en C. Le source est disponible ici. Il y a deux versions de ce programme au format hex. Une version pour un afficheur 16x2 et une pour un afficheur 16x1

Les commandes suivantes sont disponibles en mode normal:

Efface écran                     0x0C
Début de la première ligne       0x0D
Début de la seconde ligne       0x0A
Retour en arrière d'un caractère            0x08
LED allumée                       0x0E
LED éteinte                      0x0F

Il est recommandé d'attendre 100us après l'envoi de chaque caractères sauf pour l'éffacement de l'écran qui demande 2ms. De plus un délai de 120ms est requis au démarrage du circuit.

afflcd.sh est un petit script shell qui affiche la température et la charge courante du serveur sur la première ligne et le traffic réseau sur la seconde.

none
none none none