Les afficheurs LCD HD44780 type 1602 et 1604 sont bien pratiques, comme en témoignent les pages de ce site.
Les afficheursais 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.
Module AXE 133Y: Le même en version OLED (meilleur contraste à 24 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, et un peu cher
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 5 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"
Le kit FRM010 donnait un adaptateur plus performant. Il a disparu... Pourquoi ?
RevEd propose un adaptateur "universel" à basee le picaxe 18M2....bon.
Revolution Education nous montre aussi l'exemple avec le module AXE 133 utilisant un 18M2 doté d'un firmware en open source.
Cliquer ici pour voir le firmware original Mise à jour 03/11/2023 Le prix des picaxe 18M2 a baissé, il sont moins chers que les 14M2.
Le PCB prévu est fabriqué par JLCPCB, pour 3 ou 4 euros tout compris. Programmation sur site.
Voici une page consacrée à cet
adaptateur 18M2 Je
n'ai pas encore fait beaucoupde tests, mais les résultats sont très positifs. La version picaxe 20M2 n'a plus d'intérêt. Il sera supprimé prochainement
Mise à jour 03/04/2015
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 utilisant un picaxe 20X2, le même programme de test ne fonctionne plus correctement. Le serin du picaxe 20M2 de l'afficheur semble ne pas pouvoir avaler assez vite le flux rentrant envoyé par le serout du 20X2. 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.
L'afficheur devient compatible avec tous les montages, quelque soit le picaxe utilisé.
La mise à jour du 20/05/2013 intègre la modification du code et fonctionne avec ces deux picaxe sans interventions.
Une autre solution est d'utiliser la commande HSEROUT, disponible sur une broche du picaxe. Il faut également privilégier cette commande pour les programmes utilisant TIME.
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:... utilisez plutôt la version 18M2..
La liaison se fait uniquement par le connecteur à trois fils [5v, 0v, RX]
Cette liaison regroupe l'alimentation et Rx reçoit l'information venant de la commande SEROUT du programme.
Le connecteur "Programmation" ne sert qu'à programmer le 20M2 et éventuellement à introduire les messages préenregistrés.
Le typon prévoit la commande du rétroéclairage par C.3. Il reste les ports C.4 ,C.5, C.7 pour commander des TOR (voyants, ou autres). Voir l'exemple en fin de page.
| |
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 inroduits dans la CGRAM au cours de l'initialisation. La position des pixels de chaque caractère est décrite ligne par ligne, chacun peut définir las caractères de son choix.
Voici par exemple les 8 nouveaux venus avec leur numéro en CGRAM dans le programme en téléchargement:
1 ⇒ é 2 ⇒ è 3 ⇒ ê 4 ⇒ à 5 ⇒ ç 6 ⇒ ù 7 ⇒ ü 8 ⇒ ë | |
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;
(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:
Moins de 5 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 10 euros tout compris, pour un 1602, on tombe à 6 ou 7.
Pour écrire où on veut, il faut positionner le curseur à l'endroit voulu avec ce tableau:
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:
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:
| |
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 Dans le pack mis à jour une version avec controle du rétroéclairage et une version sur véroboard |
Ce pack mis à jour (20/05/13) comprend:
Le programme .bas compatible pour 20X2 ET 20M2 (erreur dans le commentaire) à charger dans le picaxe du LCD
Le typon au format .tci à utiliser avec TCI4.4. avec possibilité de controler le rétroéclairage, et une version véroboard.
Une première application avec un 1604 série est sur cette page.