Afficher une image sur TFT 7"

Bonjour,
cela fait maintenant plusieurs jours que je cherche à afficher une image de 800x480 pixels stockée sur une carte SD à l'arrière d'un écran TFT 7 pouces. Je n'y arrive pas.
Ce que j'ai pour l'instant :

  • j'utilise la librairie UTFT.h et mon écran est de type TFT01_70 donc pour déclarer mon écran je fais :
UTFT myGLCD(TFT01_70,38,39,40,41);

Sinon j'ai essayé ça mais cela ne marche pas

#include <tinyFAT.h>
#include <UTFT.h>
#include <UTFT_tinyFAT.h>
 
extern uint8_t SmallFont[];
 
UTFT myGLCD(TFT01_70,38,39,40,41);
UTFT_tinyFAT myFiles(&myGLCD);
void setup()
{
  myGLCD.InitLCD();
  myGLCD.clrScr();
  file.initFAT();
  myGLCD.setColor(255,255,255);
  myGLCD.setFont(SmallFont);
}
 
void loop()
{
  myFiles.loadBitmap(0, 0, 800, 480, "PIC802.RAW");
}

Je ne sais pas comment faire.. si vous pouvez m'aider je suis preneur.
Merci d'avance
bCybak
P.S: mon écran est http://www.gotronic.fr/art-ecran-tft-tactile-7-ef03106-23476.htm

Faudrait commencer par les bases, est-ce que des commandes simples (allumer un point, tracer un segment de droite, ...) fonctionnent?

fdunews a raison, assurez-vous déjà que votre écran est reconnu en affichant des choses simples. exemple à placer en fin de setup :

myGLCD.setBackColor(VGA_BLACK);
myGLCD.setColor(VGA_WHITE);
myGLCD.print("Mon écran fonctionne", 10, 10);

Cordialement.

Pierre

Oui tout cela fonctionne.

Si les commandes de base fonctionnent, on pourrait supposer que le problème vient de la lecture de la carte.
En première approche, on pourrait penser:

  • Soit à un problème de compatibilité entre la librairie et ton écran.
  • Soit à un problème de formatage de la carte SD.
    Par exemple, ce qui me parait surprenant c'est que l'on ne déclare nulle part quelle broche est utilisée pour le Chip Select de la carte SD. Peut-être faut-il le gérer à la main. Il faudrait sans doute se plonger dans la librairie pour voir ça.

Ce que je sais c'est que ma carte est de Go et est formaté en FAT16

Avez-vous seulement essayé les exemples donnés dans la librairie UTFT_tinyFAT Je viens de l'essayer avec une MEGA2560 et un écran TFT 320 x 240 : ça fonctionne.

Cordialement.

Pierre

Quel est le nom de l'exemple ?
Parce que quand j'essaye avec Demo_Landscape ça ne marche pas.

Vous avez essayé Demo_Portrait ?

Cordialement.

Pierre

Oui ça ne marche pas non plus

Pour les deux exemples Demo_Landscape et DEmo_Portrait, vous avez bien chargé les fichiers images (*.RAW) du répertoire "Image_files" à la racine de votre carte SD ?

Maintenant, quand vous dites "ça na marche pas", soyez un peu plus précis, que se passe-t-il ?

Cordialement.

Pierre

Le programme Demo_Portrait ne devrait pas marcher car il teste dans le setup une hauteur d'écran de 220, 320 ou 400. Comme ton écran fait 480 il n'affichera rien sauf si tu modifies un peu le programme.

Demo_Landscape devrait afficher un code d'erreur s'il y a un problème d'accès à la carte SD.

loadBitmap() retourne une valeur. Tu devrais récupérer cette valeur dans ton programme et la faire imprimer avec un Serial.print() pour savoir ce qu'il se passe. C'est d'ailleurs ce qui est fait dans le programme de démo.

En regardant la librairie je n'ai toujours pas compris comment la carte SD est sélectionnée.

ChPr oui c'est ce que j'ai fais et quand je téléverse, j'ai sur l'écran : File not found... avec toutes les images

bCybak:
ChPr oui c'est ce que j'ai fais et quand je téléverse, j'ai sur l'écran : File not found... avec toutes les images

Ca, ça veut dire qu'aucun fichier n'a pu être ouvert. Le problème vient soit des fichiers (absents ou endommagés), soit de la carte SD soit du lecteur SD. Essayez les exemples de la librairie tiny-FAT.

Cordialement.

Pierre