mai 2012

Arduino leçon 19bis : créer un dessin pour l'afficheur graphique

Nous avons vu l'afficheur 128x64; Nous allons étudier comment lui faire afficher une image à nous.
pas FB

Le format bitmap

Il existe de nombreux formats d'images compressées (jpeg, gif, png ...). Pour obtenir une image affichable, nous devons partir d'une image non compressée de format .bmp.

Choix de l'image

Choisissez un dessin au trait comme le dessin Arduino vu dans la lçon 7. Une photo couleur ou un dessin avec des dégradés donnera de très mauvais résultats.
Ouvrez votre dessin dans un logiciel de dessin et résuisez éventuellement sa taille.
L'afficheur entier mesure 128x64 , chaque moitié mesure 64x64.
Sauvegardez cette image au format .bmp.

exemple

Je suis partie de l'image de la 1ère page de mon site

portrait 2002

Je l'ai réduite pour que sa plus petite dimension soit 64, je l'ai basculée de 90°, et je l'ai sauvée au format .bmp

portrait couché

Le format spécial afficheur

Nous devons transformer notre image bmp en un tableau de nombres récupérable par Arduino.
On peut le faire à la main en quelques années ou utiliser un logiciel qui le fasse pour nous en quelques dixièmes de seconde.

utilisation de LCD Assistant

Récupérez ce logiciel sur cette page et dézippez le
Vous obtenez un exécutable qui transformera facilement le .bmp en tableau.
Lancez le logiciel, ouvrez le dessin (File/Load image)
Indiquez les dimensions, gardez les autres options (little, 8 bits, vertical).
Exécutez (File/Save output) et donnez un nom avec le suffixe .h par exemple portrait.h
Dans la suite de cette page, vous remplacerez "portrait" par le nom que vous aves choisi.

Utilisation avec Arduino

modification du fichier .h

Mettez votre nouveau fichier dans la bibliothèque d'Arduino dans libraries/glcd/bitmaps/.
Ouvrez le dans un éditeur.
Remplacez la 1ère ligne par " static uint8_t portrait [] PROGMEM = { "
Juste après cette ligne, insérez les dimensions du tableau séparées par des vigules.

fichier LCD modifié

modif du fichier Arduino

dans les déclarations, ajouter : " #include "bitmaps/portrait.h ".
Dans le setup (pour image fixe) ou dans la loop ajouter " GLCD.DrawBitmap(portrait, x, y, BLACK); " en remplaçant x et y par les coordonnées du point haut gauche de l'image dans l'afficheur.
Dans le cas de mon image de hauteur 64 et de largeur 72, je mets 28 pour x et 0 pour y. Cherchez pourquoi.

afficheur avec portrait

Et maintenant à vous d'imaginer vos images à afficher.

Sarko Hollande

haut de la page
flèche gauche Page Précédente : l'afficheur graphique (début)           Page Suivante : l'afficheur couleur flèche droite

Valid XHTML 1.0 Transitional