bonjour a tous,
je suis en galere , je n'arrive pas a trouver une bibliotheque avec un exemple valide pour ouvrire une image .raw de la sd et l'afficher sur un ecrant tft .
est ce que quelqu'un pourrais m'aider
Il faudrait connaître le type de format utilisé dans votre .raw
chaque constructeur (Canon, Nikon, Sony, etc.) utilise son propre type de fichier raw avec des extensions spécifiques (comme .cr2, .nef, .arw). Ces fichiers ne sont donc pas interchangeables sans conversion et leur interprétation est spécifique.
merci de la réponse ,
j'utilise imageconverter 565.exe
et je part d'image que je me fait sur paint, sauvegardé en BMP, avant d'etre transformé en RAW
du coup je n'en sais pas plus . historiquement j'avais réussi avec le même hardware
mais la je ne trouve même pas une bibliothèque qui fonctionne .
"#include <UTFT_SdRaw.h> "
me cree une erreur
"Erreur de compilation pour la carte Arduino Mega or Mega 2560"
C’est cela que vous utilisez ?
Oui j'ai essayé. Mais je ne sais plus quoi utiliser comme bibliothèques. Rien ne fonctionne pour le moment
C’est pour la bibliothèque UTFT dont il parle
j'avais déjà la bibliothèque dont il parle , je l'ai quand même changé pour être sur . mais aucun résultat .
mais je suis pret a changer de matériel . la c'est trop frustrant .
j'espère juste une bibliothèque qui tourne avec un écran tactile .
Lisez ce qu’il dit sur sa bibliothèque UTFT et la taille memoire
Pour la partie touch si vous utilisez
Lisez aussi quels écrans sont supportés
non mais mais même avec la bibliothèque utft tinyfat . et les image fourni par la bibliothèque , ca me dit image non trouvé !
je ne veu pas devenir un expert et lire tout ce qu'il y a a lire sur internet . je souhaite juste trouver 1 exemple qui marche .
je ne serai jamais un expert et je n'en ai pas besoin. mais je suis surpris que dans aucun exemple je n'ai trouver de déclaration de la taille de l'écran . ni aucun exemple "simple" .
Quel écran et matériel avez vous ?
Donc ce n'est pas un problème de librairie graphique.
Oui ça ressemble à un souci d’accès du fichier.
fdufnews c'est que j'arrive a crer ecrire et effacer sur la SD .
mais mes "images , ou plutot le delir de pixel ne rempli pas l'ecran , comme si la taille n'étai pas bonne . mais je ne voi pas ou configurer les 320x240 .
. je ne sais pas comment formater ou format fat16 . mon pc ne me propose que le fat 32.
selon les sources c'est bon ou pas . mais comme j'arrive a lire et ecrire des fichiers ..
Tes réponses sont contradictoires.
Une fois tu dis "ca me dit image non trouvé !"
Une autre tu dis "le delire de pixel ne rempli pas l'ecran , comme si la taille n'était pas bonne"
Donne un programme minimal qui cause le problème et les fichiers que l'on comprenne le problème au lieu de parler dans le vide
alors avec ce code
// Master Binder v2 telecommande
#include <XBee.h>
#include <UTFT.h>
#include <URTouch.h>
#include <Adafruit_GFX.h>
//#include <UTFT_SdRaw.h>
#include <SPI.h>
#include <SD.h>
//#include <Adafruit_ImageReader.h>
//SdFat SD; // SD card filesystem
//Adafruit_ImageReader reader(SD);
//////////////////////////////////////////////////////////////////////
//sd
// Chip select may be constant or RAM variable.
const uint8_t SD_CS_PIN = 53;
//
// Pin numbers in templates must be constants.
const uint8_t SOFT_MISO_PIN = 35;
const uint8_t SOFT_MOSI_PIN = 37;
const uint8_t SOFT_SCK_PIN = 36;
//ecran tft
//model,cs,cd/rs,wr,rd,reset// rs option
UTFT myGLCD(ITDB32S,38,39,40,41);
// ecran tactil
URTouch myTouch( 6, 5, 4, 3, 2);
//myGLCD.begin();
//UTFT.InitLCD(240, 320);
//
// Declare which fonts we will be using
extern uint8_t BigFont[];
extern uint8_t SmallFont[];
unsigned long tempoenvoi = 0;
int tempoaffich = 1000;
#define NOIR 0, 0, 0
#define NAVY 0, 0, 123
#define DARKGREEN 0, 125, 0
#define DARKCYAN 0, 125, 123
#define MAROON 123, 0, 0
#define PURPLE 123, 0, 123
#define OLIVE 123, 125, 0
#define LIGHTGREY 198, 195, 198
#define DARKGREY 123, 125, 123
#define BLUE 0, 0, 255
#define GREEN 0, 255, 0
#define CYAN 0, 255, 255
#define RED 255, 0, 0
#define MAGENTA 255, 0, 255
#define YELLOW 255, 255, 0
#define BLANC 255, 255, 255
#define ORANGE 255, 165, 0
#define GREENYELLOW 0 173, 255, 41
#define PINK 255, 130, 198
const int nbOutil = 9;
char* outil[nbOutil] = {"VIDE" ,"NANOPIX", "CAM_TH","ORCA" , "MULTI G" , "CAM360", "outil1","outil2","outil3"};
String Puce = " SUPER V2";
// 320 x 240
//const int nbOutil = 9;
const int nbdim = 5;
//File myFile;
//UTFT_SdRaw myFile(&myGLCD);
void setup()
{
tempoenvoi = millis();
Serial.begin(115200);
Serial.print("Initializing SD card...");
// see if the card is present and can be initialized:
if (!SD.begin(53)) {
Serial.println("Card failed, or not present");
// don't do anything more:
while (1);
}
Serial.println("card initialized.");
delay(2000);
///////////////////////////////
int xscreen = 0; // largeur ecrant
int yscreen = 0;
myGLCD.InitLCD (PORTRAIT);//(PORTRAIT);//(LANDSCAPE);//
myGLCD.clrScr();
myTouch.InitTouch();
myTouch.setPrecision(PREC_MEDIUM);
xscreen = myGLCD.getDisplayXSize();
yscreen = myGLCD.getDisplayYSize();
myGLCD.clrScr();
delay(2000);
myGLCD.setFont(SmallFont);//(BigFont);
myGLCD.setColor(BLANC);
myGLCD.setBackColor(NOIR);
}
void loop()
{
/*
myGLCD.drawBitmap(10,20,"miniwoof.bmp",160,120);
delay(5000);
myGLCD.drawBitmap(10,20,"miniwoof.bmp",120,120,160);
delay(5000);
*/
myGLCD.clrScr();
myGLCD.drawBitmap(0,0,"tiger.raw",240,320);
myGLCD.print("tiger.raw",10,20);
delay(5000);
myGLCD.clrScr();
myGLCD.drawBitmap(10,20,"miniwoof.bmp",120,160);
myGLCD.print("miniwoof.bmp",10,20);
delay(5000);
myGLCD.clrScr();
myGLCD.drawBitmap(0,0,"test.bmp",240,320);
myGLCD.print("test.bmp",10,20);
delay(5000);
myGLCD.clrScr();
myGLCD.drawBitmap(0,0,"test.raw",240,320,1);
myGLCD.print("test.raw",10,20);
delay(5000);
myGLCD.clrScr();
myGLCD.drawBitmap(2,2,"ced.bmp",240,320);
myGLCD.print("ced",10,20);
delay(5000);
}
j'optien un griboulli
et quand j'utilise le code de la bibliotheque utft tinyfat . ca me dit fichier non trouvé
Quel hardware ??
Serialisez les problèmes - faites pour le moment un code qui ne gère que l’écran ou que la SD.
Ton code compile sans erreur ni warning?
Voilà la signature de drawBitmap
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale=1);
void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int deg, int rox, int roy);
Et voilà ton code
myGLCD.drawBitmap(10,20,"miniwoof.bmp",120,160);
Pourquoi inclure Adafruit_GFX qui risque de mettre la pagaille?
J-Mj jackson , le code sd fonctione , dans la mesure ou j'arrive a creer des fichier text, les remplir et les lire .
fdufnews , Adafruit_GFX etait un essai .. infructueux , je l'ai enlevé . après , je suis prêt a me servir de n'importe quel bibliothèque ou matériel , ca fait des jour que je suis bloqué juste pour afficher une image .
pour la syntaxe :
" myGLCD.drawBitmap(0, 0, "/miniwoof.raw", 320, 240, 1);" , ne me genere pas d'ereur de compilation , alors que
" myGLCD.drawBitmap(0, 0, 320, 240, "/miniwoof.raw", 1);", en revanche m'en genére une
maintenant le code est juste ca
#include <UTFT.h>
#include <URTouch.h>
#include <SPI.h>
#include <SD.h>
//////////////////////////////////////////////////////////////////////
//sd
// Chip select may be constant or RAM variable.
const uint8_t SD_CS_PIN = 53;
//
// Pin numbers in templates must be constants.
const uint8_t SOFT_MISO_PIN = 35;
const uint8_t SOFT_MOSI_PIN = 37;
const uint8_t SOFT_SCK_PIN = 36;
//ecran tft
//model,cs,cd/rs,wr,rd,reset// rs option
UTFT myGLCD(ITDB32S,38,39,40,41);
// ecran tactil
URTouch myTouch( 6, 5, 4, 3, 2);
//myGLCD.begin();
//UTFT.InitLCD(240, 320);
//
// Declare which fonts we will be using
extern uint8_t BigFont[];
extern uint8_t SmallFont[];
void setup()
{
Serial.begin(115200);
Serial.print("Initializing SD card...");
// see if the card is present and can be initialized:
if (!SD.begin(53)) {
Serial.println("Card failed, or not present");
// don't do anything more:
while (1);
}
Serial.println("card initialized.");
delay(2000);
///////////////////////////////
int xscreen = 0; // largeur ecrant
int yscreen = 0;
myGLCD.InitLCD (PORTRAIT);//(PORTRAIT);//(LANDSCAPE);//
myGLCD.clrScr();
myTouch.InitTouch();
myTouch.setPrecision(PREC_MEDIUM);
xscreen = myGLCD.getDisplayXSize();
yscreen = myGLCD.getDisplayYSize();
myGLCD.clrScr();
delay(2000);
myGLCD.setFont(SmallFont);//(BigFont);
myGLCD.setColor(255,255,255);
}
void loop()
{
myGLCD.drawBitmap(0, 0, "/miniwoof.raw", 320, 240, 1);
delay(5000);
}
et dans la biliotheque UTFT Tinyfat il n'y a qu'un seul mot clef qui est loadBitmap
pourtant je me retrouve avec cet erreur.
"
'class UTFT' has no member named 'loadBitmap'; did you mean 'drawBitmap'?
"
Faudrait peut-être l'inclure cette librairie dans ton code.
Et créer une instance de UTFT_tinyFAT
Je voudrais pas faire mon désagréable mais la librairie est livrée avec des exemples de code.
Si tu regardes un peu comment ils sont écrit tu devrais assez rapidement comprendre pourquoi ton code ne fonctionne pas.