ARDUINO
et OSD (On Screen Display)
Pour aller plus loin
Caractères spéciaux:
Le MAX 7456 , dans sa configuration de base, contient sa propre table de caractères dont les adresses ne correspondent pas la table ASCII. Un certain nombre de caractères enregistrés ne nous sont pas utiles et d'autres sont absents Le signe + et le signe ° par exemple. Nous allons donc accéder à l'EEPROM afin de la modifier.
Chaque nouveau caractère sera dessiné, ce qui laissera libre cours à la création. Il sera ainsi possible de créer un logo ou des signes qui, appelés au fure et à mesure par le programme, simuleront l'évolution d'un appareil de mesure.
Une solution.
Télécharger le programmes d'évaluation de chez Maxim
ici . Il est portable: il n'est pas nécessaire
de l'installer.
Une
fois lancé, aller directement à la page "Character Memory File Builder"
... dessiner....et enregistrer. Le programme va alors créer dans le répertoire un
fichier *.mcm. C'est ce fichier contenant votre propre table que vous allez utiliser pour modifier l'EEPROM
du MAX7456.
En rouge les caractères modifiés avec le fichier F5MNA4.mcm ici
Programmation
de l'EEPROM.
Le module arduino équipé de la carte MAX7456 doit être branché
au port USB.
1) Télécharger
dans l'Arduino le programme Arduino_memo ici puis
fermer le programme arduino.exe afin de libérer le port. La platine reste sous
tension.
2) L'EEPROM est prête à recevoir la nouvelle table. Pour
cela j'utilise en émulateur terminal le logiciel "Tera
Term" . Une fois lancé (port série
à 9600 bauds), Tera Term va vous indiquer "Prèt
pour télécharger un fichier .mcm". Choisir alors
votre nouvelle table puis l'envoyer à l'EEPROM ("File"
"Send file") ce qui peut prendre trois bonnes minutes. Ensuite, votre
programme, modifié en conséquence, peut être "téléversé"
normalement.
Utilisation
de la nouvelle table dans un programme:
Dans
les programmes précédemment donnés en exemple, vous verrez un certain nombre
de lignes sous le titre // Transposition de la table ASCII (non standard)
intégrée à l'EEPROM du MAX7456. Si vous utilisez le fichier
F5MNA1.mcm (ci-dessus ) pour completer la table avec les signes
* ° + , les lignes suivantes sont ajoutées
en complément de la fonction:
else if (character == 43)
lookup_char
= 0x4e; // +
else
if (character == 42)
lookup_char
= 0x4d ; // *
else
if (character == 176)
lookup_char
= 0x4f ; // °
Dans la première ligne 43 correspond à
la valeur ASCII décimale du signe +
Dans
la seconde ligne 0x4e correspond à sa nouvelle adresse dans l'EEPROM. (Voir + haut la
façon de déterminer cette adresse).
Heureusement, une fois créee selon ses besoins, il n'y aura plus à revenir sur cette manipulation. Il sera bon cependant de conserver le fichier .mcm avec une copie d'écran de sa table personnelle !
Liens: Le site Arduino en français