Arduino, LCD et caractères spéciaux

Discussions générales pour tous les usagers du Lieu
Répondre
Avatar du membre
jerome
Administrateur du site
Messages : 123
Enregistré le : mar. 1 nov. 2016 20:54

Arduino, LCD et caractères spéciaux

Message par jerome »

Bonjour,

Ce post fait suite à une discussion que j'ai eu hier soir avec des étudiants de l'ENSSAT (désolé, je ne connais pas vos noms)
Pour les autres, le but était d'afficher des caractères chinois (japonais?) sur un LCD HD44780.

En faisant quelques recherches, j'ai découvert que :

Certains LCD embarquent dans leur ROM une table de caractères asiatiques. les puces sont marquées A00.
D'autres embarquent une ROM avec les caractères européens (A02)
Pour voir les tables de caractères, se reporter à la DS page 17 et 18 http://www.sparkfun.com/datasheets/LCD/HD44780.pdf
Je n'ai pas trouvé de moyen logiciel de lire ce code (A00 ou A02)
Si on ne trouve rien sur la puce, pour savoir quelle type de ROM est embarquée, on dumpera donc toute la table avec un code comme ça par exemple (non testé) :
for (int i=0; i <= 255; i++) {
lcd.setCursor(0, 0);
lcd.write(i); // afficher le caractère
lcd.setCursor(0, 1);
lcd.print(i, HEX); // afficher son code en hexa
delay(200);
}


Sinon, l'autre option est de redéfinir ses propres caractères, mais on est limité à 8 en même temps.
Pour cela voir cette fonction de la lib arduino : https://www.arduino.cc/en/Reference/Liq ... CreateChar

Voila,
Bon courage
Jérôme - FabManager/Vice-Président

Répondre