Page 1 sur 1

Arduino, LCD et caractères spéciaux

Posté : jeu. 3 déc. 2015 20:25
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