mercredi 23 septembre 2026

Afficher sur l'écran de l'ESP32 CYD des jpegs stockés sur la carte micro SD

Dans cet article, je vous présente de quelle façon j'ai procédé pour afficher des images en format jpeg à l'écran de l'ESP32-2432S028 "Cheap Yellow Display". Les fichiers jpeg ont préalablement été enregistrées sur une carte microSD insérée dans le lecteur de l'ESP32 CYD.



Les bibliothèques nécessaires

Comme d'habitude, je programme l'ESP32 en utilisant l'IDE Arduino. Deux bibliothèques de Bodmer doivent être installées: TFT_eSPI et JPEGDecoder.


Pour que la bibliothèque TFT_eSPI fonctionne correctement, vous devez modifier le fichier User_Setup.h pour qu'il contienne les paramètres de l'ESP32 CYD. Si ça peut vous être utile, j'ai publié le contenu de mon fichier User_Setup.h dans ce récent article.

L'exemple ESP32_SDcard_jpeg

Bonne nouvelle: la bibliothèque TFT_eSPI est accompagnée d'un exemple intitulé "ESP32_SDcard_jpeg" qui va énormément nous simplifier la tâche. 

Vous trouverez cet exemple dans les menus de l'IDE Arduino:

Fichier - Exemples - TFT_eSPI - Generic - ESP32_SDcard_jpeg



Ce sketch permet d'afficher à l'écran de l'ESP32 CYD quatre images en format jpeg qui doivent être enregistrées à la racine de la carte microSD.  Ces images se trouvent dans le dossier "Data" qui accompagne l'exemple ESP32_SDcard_jpeg. Vous pouvez également les trouver sur le gitHub de Bodmer.


Il y a un petit contretemps: si vous exécutez l'exemple  ESP32_SDcard_jpeg tel qu'il est présenté, aucune image ne s'affiche à l'écran, et le moniteur série présente un message d'erreur affirmant qu'aucune carte SD n'a été trouvée.

Le problème se situe à la ligne 39 de l'exemple.


J'ai effacé les paramètres de la fonction SD.begin. Ainsi  "SD.begin(5, tft.getSPIinstance())" est devenu "SD.begin()".

... et cette fois, ça fonctionne. Les 4 images s'affichent tour à tour à l'écran.


Il est ensuite facile de modifier le sketch pour qu'il affiche les images de votre choix, que vous aurez préalablement enregistrées sur la carte microSD.

Redimensionner les images

Le programme ne redimensionne pas les images. Ainsi, si une image est plus grande que l'écran (320 X 240 pixels), seule une portion de l'image s'affiche (le coin supérieur gauche).

Pour voir les images au complet, il faut les redimensionner afin que leur taille n'excède par 320 X 240 pixels. 

Pour ce faire, j'ai utilisé GIMP, qui est gratuit et disponible sur tous les systèmes d'exploitation. Une image de 320 X 240 pixels occupera tout l'écran, mais il peut aussi être pertinent d'utiliser des images encore plus petites, qui seront utilisées comme icônes, accompagnées de texte, etc.

Sur la photo ci-dessous, par exemple, l'écran affiche simultanément 4 photos de format 133 X 100 pixels.

.

Diaporama

Pour terminer voici un sketch qui affiche en boucle tous les fichier jpeg situés dans un répertoire intitulé "diaporama" sur la carte microSD. Le nom des fichiers jpeg n'a pas d'importance. Chaque image est affichée pendant 5 secondes.

-

-


Yves Pelletier


À lire également:

Aucun commentaire:

Enregistrer un commentaire