Overblog
Editer la page Suivre ce blog Administration + Créer mon blog

LCD SERIE ET PICAXE

Retrouvez cette page
et toutes les mises à jour
sur
 
Les afficheurs LCD HD44780 type 1602 et 1604 sont bien pratiques, comme en témoignent les pages de ce blog.
 
Mais les LCD parallèles ne sont pas très commodes à gérer, et même en mode 4bits, il faut au moins 8 câbles de liaison et la programmation est un peu lourde.
Les LCD série n'ont besoin que de 3 câbles, alimentation comprise et une ligne de programme suffit.
 
Etat des lieux des LCD proposés dans le commerce pour les applications Picaxe: 
Module AXE 133 : 2x16c non rétroéclairé à 16,50 euros.
 Si on a besoin d'une horloge (mais une horloge, il y en a à moins de 2 euros, ICI): 
Module AXE 033 : 2x16c non rétroéclairé à 29,70 euros. avec I2C et horloge.   
Module AXE 033 OLED mieux, dit-on, que le précédent à 33,80 
Et un module graphique beaucoup plus cher...
 
Bref, rien de très réjouissant.
 
Alors qu'en tapant LCD 1602 sur eBay, on trouve des LCD 1602 rétroéclairés à 2 ou 3 euros, des LCD1604 et même des LCD2004 rétroéclairés blanc sur fond bleu pour moins de 7 ou 8 euros. Port gratuit.
 
J'en ai acheté plusieurs, ils fonctionnent tous très bien.
 
Une remarque toutefois: 
Les LCD intègrent dans la CGROM une table de caractères contenant les caractères standards et des caractères spécifiques adaptés aux différentes langues.
Les LCD picaxes ont une table de caractères européenne avec les accentués français.
Les LCD à 3 euros sont chinois, avec une table de caractères chinoise.
Pour retrouver des accentués, il faut les programmer dans les 8 premiers caractères de la table (CGRAM), reprogrammables par l'utilisateur.
 
Reste donc à ajouter un petit adaptateur pour les transformer ces LCD en  "rétroéclairés série". 
Revolution Education nous montre l'exemple avec le module AXE 133 utilisant un 18M2 doté d'un firmware en open source. 
Je n'aime pas le prix des 18M2, la position de leur alimentation, etc...
Un 14M2 en mode 4 bits prend trop de temps et n'a pas donné d'affichage correct mais pour 20ct de plus, le 20M2 fonctionne parfaitement ave un LCD en mode 8 bits.
 
Mise à jour 10/09/2012
Tous les tests fonctionnent lorsque le serout du programme "émetteur" provient d'un picaxe de la série M2.
Mais si on connecte l'adaptateur série sur un montage avec un picaxe 20X2, le même programme de test ne fonctionne plus correctement. Le serin de l'afficheur semble ne pas pouvoir avaler assez vite le flux rentrant. L'utilisation de pauses ne change pas la situation.
Une solution: remplacer le 20M2 de l'afficheur par un 20X2 et tout rentre dans l'ordre.
Il n'y a presque rien à modifier, sinon la directive "#picaxe 20M2" en début de programme. Il faut simplement la supprimer pour que le programme de l'afficheur accepte indifféremment des picaxe 20M2 ou  des 20X2.
L'afficheur devient compatible avec tous les montages, quelque soit le picaxe utilisé. 
Le prix du 20X2 est quasiment le même que le 18M2. Pas de regrets.
 
RÈGLE GÉNÉRALE:
Il faut laisser le temps nécessaire au traitement entre deux commandes d'affichage, utiliser des pauses si nécessaire, sinon on obtient n'importe quoi.
 
J'ai gardé l'essentiel du code open source en l'adaptant au typon et les possibilités du firmware AXE 133 d'origine sont conservées. 
 
Le schéma:
 
 
    LCD série 
 
P1000267  LCD et CI
  Résultat  de l'opération:
  On écrit ce que l'on veut, où on veut
 Et...   avé l'accent!
 Le texte est écrit sur un Picaxe 08M2
 La valeur de b0 est mesurée par un ADC
Voir le programme ci dessous 
  Très peu de composants sur l'adaptateur:
Un connecteur en haut pour la liaison série.
Un autre en bas pour une reprogrammation.
Polarisation par diode. Quoique bizarement, ce 1604 n'a pas besoin de tension sur Vo ?
La 10k sur C.0 est une CMS côté cuivre        
 
 
 
Les caractères spécifiques sont définis dans la CGRAM au cours de l'initialisation.
    Voici les 8 nouveaux venus avec leur numéro en CGRAM:
 
 
  
   1   é
 
   2   è
 
   3   ê
 
   4   à
 
   5   ç
 
   6   ù
 
   7   ü
 
   8   ë 
affplus8
 
 
 
Il était tentant de pouvoir taper un "é" sur le clavier azerty pour obtenir un "é" sur l'afficheur LCD;
Un "é" donne le caractère n° 233 de la table de caractères. il suffisait d'un test à la réception du code pour transformer ce 233 en 1. Hélas, le moindre ajout de test perturbe l'affichage. On bute ici sur la limite de vitesse d'exécution des picaxes.
 
Voici donc le programme donnant le texte affiché sur le LCD 1604 ci dessus;
 
    LCD texte 
  (C'est une copie d'écran,  je vous laisse corriger les fautes de frappes et les erreurs.)    
 
Les caractères standards peuvent s'écrire entre guillemets, ils sont traduits automatiquement en codes caractères. Pour les accentués, il faut les remplacer par le numéro défini dans la CGRAM. C'est un peu moins lisible, mais c'est le prix à payer pour rester français (et c'est pas cher).
 
Justement, le prix:
6,55 euros sur ebay pour un LCD 2004, plus 3,55  euros de picaxe 20M2, ça fait un afficheur série de 4 lignes de 20 caractères rétroéclairé français à environ 12 euros tout compris.
 
Pour écrire où on veut, il faut positionner le curseur à l'endroit voulu avec ce tableau:
 
curseurLCD  
 
Exemple, la commande:
serout C.4,baud,(254,221) 
positionne le curseur à la ligne 4, colonne 14
 
Dans les exemples précédents, la position du curseur et le texte sont dans deux "serout" différents, mais:
serout C.4,baud, (254,144,"coucou")
Ecrira coucou   en ligne 3, colonne 1
      
Je ne sais pas comment fonctionne l'afficheur LCD d'origine AXE 133 avec un 18M2, mais avec le 20M2, le dernier test sur l'octet 255 fonctionne mal à la fréquence de 16MHz.
Pour utiliser cette option, il faut augmenter le vitesse de traitement à 32MHz.
En conséquence, la vitesse de transmission passe de 2400 à 4800 baud.
    
 
Test final
Voici le programme de test:
 
test LCD complet
 
Il comprend du texte accentué, le message enregistré n°4, et la commande d'une diode par le port C.5 de l'afficheur.
 
     
       
 
Pour le LCD 2004 (payé 6,55 euros, reçu 15 jours après la commande dans une lettre airmail, port gratuit....?), il fonctionne très bien, mais la diode ne donne pas le réglage optimum du contraste. Le typon a été amélioré pour faciliter l'implantation du potentiomètre.
Les adresses du curseur sont un peu modifiées:
curseur 2004   
         
LCD2004  Convpot
Voici le LCD 2004 série français

 

Et l'adaptateur final à enficher sur le LCD 

la diode 4007 pourait être remplacée par un strap 

 

 
 
Le pack complet est en téléchargement ICI
Ce pack mis à jour (14/08/12) comprend:
Le programme .bas à charger dans le 20M2 (ou le 20X2 en supprimant #picaxe 20M2) 
Le typon au format .tci à utiliser avec TCI4.3.
     
Une première application avec un 1604 série est sur cette page. 
   
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  MHz
Partager cette page
Repost0
Pour être informé des derniers articles, inscrivez vous :