PB lecture image sur carte SD

Bonjour,

j'essaye de tester le soft UFT-tinyFat, (lecture images de la carte SD) J'ai une carte SD de 4Go. je l'ai reformaté avec windows en FAT, mais rien ne s'affiche. Quand la carte est absente, j'ai bien l'indication qu'il ne peux pas lire le fichier, mais avec la carte, l'écran reste noir.

Pour info : carte méga 2560+ ITDB02 + ecran 3.2 avec carte sd dessus.

merci pour votre aide

as tu bien convertie en .raw ton image? poste ton code ( ou partie ).

Oui les images sont bien en .raw

code en pj.

merci

Demo_Landscape.ino (3.6 KB)

c’est le fichier d’exemple de base ?
je vien de tester avec mes parametre d’ecran et ça marche trés bien!

donc verifi
que ce soit bien le bonne ecran que tu initialise dans :

UTFT         myGLCD(CTE50, 38, 39, 40, 41);   // Remember to change the model parameter to suit your display module!

en suite dans setup:

myGLCD.InitLCD(LANDSCAPE);

ajoute landscape

et surtout il faut metre tes fichier direct sur la SD pas dans un dossier ! ou alors modifier dans le tableau de des fichier exp :

char* files800[]={"PIC801.RAW", "PIC802.RAW", "PIC803.RAW", "PIC804.RAW", "PIC805.RAW", "", "", "", "", ""}; // 800x480

chaque

"PIC801.RAW"

par

"Mon_Fichier/PIC801.RAW"

Ok je vais vérifier tout cela, mais je pense que la config de l’écran est correct puisque quand il n’y a pas de carte SD, il y a écrit sur l’écran que le fichier est introuvable.

Faut-il une taille de carte SD spécifique ?
Avec quoi la formate-tu, est quel sont les options ?

merci

je formate avec loutil de base windows rien de spécial. si tu as fait toute les verif essaye de diminuer la vitesse lors de l'initialisation:

file.initFAT(SPISPEED_MEDIUM);

jai fait plusieur test par defaut c'est a SPISPEED_HIGH!

tu peut chercher aussi UTFT_SdRaw.h elle utilise la lib SDfat.h

Bonjouir,

en fait le problème viens bien de la partie SD. Dès que je la met tout se bloque. Il faut que je décortique l'init pour commencer et essayer de baisser la vitesse alors.

merci

Bonjour,

j'ai un petit peu avancé sur mon PB : j'ai essayé les programmes d'exemples arduino, et j'arrive à lire la carte SD avec ces drivers. donc mon problème n'est que softs avec les autres programmes.

Existe-t-il des biblio d'arduino pour lire et afficher des.raw sur l'écran ?

merci

En fait j'ai compris le problème :pour utiliser les lib tinyFat il faut que la carte SD fasse 2Go maxi (et la mienne fait 4Go) donc il faut que j'achete une carte 2Go

sinon tu peut utiliser la lib UTFT_SDRAW qui est une version modifier de la lib utft mais faite pour utilisé directement la lib SDfat bien plus puisante que tinyfat.
je l’ai tester et ça marche sans probléme.

dispo sur ce lien
pour utft sdraw
ftp://ghlawrence.myftp.org:2121/
pour SDfat
https://github.com/jbeynon/sdfatlib

avec ça tu n’auras plus de probléme de SD normalement

Cela fonctionne aussi sur la due ?

normalement oui mais j'ai pas encor tester je vais regarder tou ça ! :grin:

oui ça fonctione ! :grin: arduino DUE carte 16Go SDHC avec comme config le SPI a SPI_HALF_SPEED le full ne marche pas mais ça doit venir de ma SD qui n'est qu'une classe 4.

Bonsoir,

j'ai essayé utft-draw et cela fonctionne bien avec une carte 2Go et 4Go (par contre tiny_fat, fonctionne pas non plus avec une carte 2 Go)

je vais garder cette librairie alors. Par contre j'ai 2 écran 3.2" et avec un 'sainsmart' les images ne s'affiche pas correctement (que des carrés) mais le texte impécable.

donc il me reste à tester le touch avec cette librairie et résoudre le pb avec le 2ème écran.

merci

Génial Je vais voir si je peu tester cela avec la dur que jai et sur un 7pouce :grin:

Bon j'ai téléchargé les 2 lib, en gros tu fais quoi pour changer le code qu'on utilise avec tinyfat ?

tu as un sketch d'example apres il sufi d'aporter les modification corespondante a ton ecran ç'est tou de memoire.

il te faut sdFat.h et utft-Sdraw.

ok j’ai bien trouvé, merci :slight_smile:

mais mais mais

Arduino : 1.6.1 (Windows 8.1), Carte : "Arduino Due (Native USB Port)"

Les options de compilation ont été modifiées, tout sera recompilé

In file included from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/SdBaseFile.h:52:0,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/ios.h:22,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/istream.h:26,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat\istream.cpp:21:

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/SdVolume.h:25:2: error: #error SdVolume is deperacated. Remove this line to continue using this class.

 #error SdVolume is deperacated.  Remove this line to continue using this class.

  ^

In file included from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/iostream.h:27:0,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/bufstream.h:27,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ArduinoStream.h:29,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/FatLib.h:23,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/SdVolume.h:22,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/SdBaseFile.h:52,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/ios.h:22,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/istream.h:26,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat\istream.cpp:21:

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:50:36: error: expected class-name before '{' token

 class ostream : public virtual ios {

                                    ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:65:24: error: declaration of 'operator<<' as non-function

   ostream& operator<< (ios_base& (*pf)(ios_base& str)) {

                        ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:65:20: error: expected ';' at end of member declaration

   ostream& operator<< (ios_base& (*pf)(ios_base& str)) {

                    ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:65:32: error: expected ')' before '&' token

   ostream& operator<< (ios_base& (*pf)(ios_base& str)) {

                                ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:241:3: error: 'pos_type' does not name a type

   pos_type tellp() {

   ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:249:12: error: expected ';' at end of member declaration

   ostream& seekp(pos_type pos) {

            ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:249:27: error: expected ')' before 'pos'

   ostream& seekp(pos_type pos) {

                           ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat\istream.cpp:411:1: error: expected '}' at end of input

 }

 ^

In file included from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/iostream.h:27:0,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/bufstream.h:27,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ArduinoStream.h:29,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/FatLib.h:23,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/SdVolume.h:22,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/SdBaseFile.h:52,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/ios.h:22,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/istream.h:26,

                 from C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat\istream.cpp:21:

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In constructor 'ostream::ostream()':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:52:3: error: uninitialized reference member 'ostream::seekp' [-fpermissive]

   ostream() {}

   ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In member function 'ostream& ostream::operator<<(bool)':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:74:16: error: 'putBool' was not declared in this scope

     putBool(arg);

                ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In member function 'ostream& ostream::operator<<(const char*)':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:82:15: error: 'putStr' was not declared in this scope

     putStr(arg);

               ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In member function 'ostream& ostream::operator<<(const signed char*)':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:90:28: error: 'putStr' was not declared in this scope

     putStr((const char*)arg);

                            ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In member function 'ostream& ostream::operator<<(const unsigned char*)':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:98:28: error: 'putStr' was not declared in this scope

     putStr((const char*)arg);

                            ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In member function 'ostream& ostream::operator<<(char)':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:106:16: error: 'putChar' was not declared in this scope

     putChar(arg);

                ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In member function 'ostream& ostream::operator<<(signed char)':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:114:35: error: 'putChar' was not declared in this scope

     putChar(static_cast<char>(arg));

                                   ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In member function 'ostream& ostream::operator<<(unsigned char)':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:122:35: error: 'putChar' was not declared in this scope

     putChar(static_cast<char>(arg));

                                   ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In member function 'ostream& ostream::operator<<(double)':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:130:18: error: 'putDouble' was not declared in this scope

     putDouble(arg);

                  ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In member function 'ostream& ostream::operator<<(float)':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:138:18: error: 'putDouble' was not declared in this scope

     putDouble(arg);

                  ^

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h: In member function 'ostream& ostream::operator<<(short int)':

C:\Users\Jeff\Desktop\arduino-1.6.1\libraries\SdFat/utility/ostream.h:146:24: error: 'putNum' was not declared in this scope

     putNum((int32_t)arg);

                        ^

........ et cela continue :/

   }

raaaa cela m’enerve un peu :/… la le 7 pouces fonctionne bien avec la due, donc si cela passe je vais avoir mon soft ultra rapide, … j’ai vraiment envie que cela marche maintenant :slight_smile:

perso je suis en 1.7 est le fichier d'exemple compile impécable! verifie que tu a bien la derniere version de SDFat

https://github.com/greiman/SdFat

elle date du 21 mars 2015

Bon cela vient doucement..... as tu les images du sketch d'essais ? je ne les trouve pas :/