Ecran TFT 7 pouces touch Saint Smart : configuration ? [RESOLU]

Bon j'ai déjà tester l'écran commun en 3.2' la en général tout marche facilement :grin:

le 5 pouces de Saint Smart, pas trop de soucis, non plus, surtout après avoir fait la calibration du tactile en paysage.

et là j'ai acheter le 7pouces, et déjà en commençant on arrive a un écran en mirroir :confused:
le soucis est énoncé ici

j'ai donc changer le code via ce qui est donner, (je n'ai changer que la premiere fois que je voyais les 2 ligne de code, je ne sais pas s'il faut aller plus loin dans le code....)

maintenant j'ai bien l'écran qui est droit, (quoi que j'ai l'impression d'etre a 180°) mais impossible de faire la calibration, enfin si, mais cela ne donne rien du tout.

certain d'entre vous ont trouver une solution avec ce matos ?

Sinon j'ai un shield CTE pour info

Bon comme d'hab quand je pose une question je trouve la réponse derrière :grin:

donc d'abord le code
LCD_Write_COM (0x36);
LCD_Write_DATA (0x03);

est bien a changer dans le fichier UTFT.cpp dans le premier 1/4 du code. et juste là

après il faut faire une calibration mais au lieux de mettre LANDSCAPE il faut rester en PORTRAIT... donc mettre l'inverse de l'utilisation de l'écran, si vous êtes en portrait, je pense qu'il faudra mettre en paysage ^^

et voila ce que j'ai eu en calibration pour mon écran
#define CAL_X 0x03C4C070UL
#define CAL_Y 0x03EC0074UL
#define CAL_S 0x001DF31FUL

à mettre dans le fichier UtouchCD :grin:

si cela peut aider les autres ::slight_smile:

Salut Jazznet,

merci pour le partage, quelle carte utilises-tu pour faire tourner un 7 pouces?

Merci.

Une mega de base :wink:
J'ai yne due aussi qui traine mais j'ai pas encore réussi a lui faire lire la Sd pour afficher des images (dommage, mais je n'ai pas encore déclarer forfait).
Apres sous mega l'affichage est aussi rapide que sur un 5pouces donc cest pas limitant suivant ce qu'on realise :slight_smile:

normal c'est la meme resolution de 800*480pix et la vittesse d'affichage est inversement proportionel au nombre de pix :wink:

Jazznet tu nous fait des monologue! :grin:

Ok, merci pour la petite précision, le 7" est un peu trop chère pour moi ( ou pas encore à l' ordre du jour ), mais je suis assez content de savoir qu' une Mega puisse faire tourner un 7 pouces!
Je te souhaite de réussir à le faire tourner la partie SD sur Due... :wink:

Salut Heloderma-Kris,
je me disais "tiens tiens" Heloderma-Kris n' est pas encore passez par là!
Donc même résolution... donc image moins bien défini sur le 7" ?

moins bien défini non! c'est toujours la meme definition 800/480 pix mais les pix son plus gros
on passe de 0.135mmx0.135mm a 0.179mmx0.179mm pour chaque pixel.
voir :www.sainsmart.com

donc je suis pas sur que l'on voit la diférence a 0.05mm peut'etre sur les arondit on vera un leger sisaillement ?
je n'en ai pas a disposition donc je ne peut pas vraiment comparé! :grin:

Ok, je te remercie. :wink:

Je confirme l'écran a mon de dpi mais Kris la deja bien expliqué
Sinon a la vu cela se voit aussi un peu
Le 5 pouces fait un peu Retina quand le 7 tenvois à la génération d'avant... Pour ceux qui on connu les iPhone 3 et 4 par exemple :slight_smile:

Apres cest tout de même correct.
Mais si on ne veux pas forcément de 7pouces le 5 est plus sympa :slight_smile:


c’est pas représentatif de la qualité de l’écran, car on voit une trame bizarre mais cela donne une idée de la taille de l’écran

c'est sur qu'un 7" ça fait petite tablette !

Oui, je viens de voir ça sur ton aquarium... en fait, il me reste 2 critères de choix, l' encombrement et le prix.

Pour la résolution, je comprends mieux, le 5" est un peu mieux, ce ne sera pas pour faire des jeux video 3d, pour un IHM, je trouve cela très satisfaisant, mais dans le cas d' un IHM, plus il y a de surface, plus on peut se faire plaisir au niveau des pages. 8)

Néanmoins, il faudra que j' y passe énormément de temps vu mon niveau en programmation...

Merci les gars pour toutes ces infos, je vais regarder ça.

ouep le prix, pique un peu, mais bon il est préférable de prendre ce dont tu as besoin dés le départ... et pas acheter un 3.2, puis un 5 puis un 7.... un mega, puis une due (que j'arrive pas encore a faire fonctionné pour récupérer les images sur la sd) donc je suis revenu sur la méga, et la avec kris en aide (merci kris) j'essai a nouveau de faire fonctionner la due lol......
bref j'ai dépensé plus que prévu, beaucoup plus....

donc étudies bien tout, et après tu prends ce qu'il te faut.

le hazard fait bien /mal les chosse je vien de recevoir mon ecran 5" commander sur la bay et bien il ce sont planter et m'on envoyer un 7" ! du coup je vais regarder la différence entre les deux!

Lol
Et bien te voila partie pour du 7 lol.

Tu n'aurais pas un bout de code qui fonctionne pour le due et la sd, je sais que cest pas le sujet mais je profite que tu sois la ^^.

voila je vien de tester cela avec le 5" car pour le moment le 7" ne demar pas :smiling_imp:
pense a changer la config d’ecran et touchpad
la vitesse et en halfspeed car sinon marche pas chez moi

#include <SPI.h>
// SdFat lib from here :-
// https://github.com/greiman/SdFat/archive/master.zip
#include <SdFat.h>
#include <UTFT.h>
#include <UTouch.h>
#include <UTFT_Buttons.h>
#include <UTFT_SdRaw.h>
extern uint8_t SmallFont[];
extern uint8_t BigFont[];

#define SD_CHIP_SELECT  53  // SD chip select pin
// file system object
SdFat sd;
// print stream
ArduinoOutStream cout(Serial);

int wait = 2, pressed_button;

// Initialize display
// ------------------
// Set the pins to the correct ones for your development board
// -----------------------------------------------------------
// Standard Arduino Uno/2009 Shield            : <display model>,19,18,17,16
// Standard Arduino Mega/Due shield            : <display model>,38,39,40,41
// CTE TFT LCD/SD Shield for Arduino Due       : <display model>,25,26,27,28
// Teensy 3.x TFT Test Board                   : <display model>,23,22, 3, 4
// ElecHouse TFT LCD/SD Shield for Arduino Due : <display model>,22,23,31,33
//
// Remember to change the model parameter to suit your display module!

UTFT myGLCD(CTE50, 25, 26, 27, 28);
//UTFT myGLCD(CTE50, 25, 26, 27, 28);
//UTFT myGLCD(CTE70, 25, 26, 27, 28);


// Initialize touchscreen
// ----------------------
// Set the pins to the correct ones for your development board
// -----------------------------------------------------------
// Standard Arduino Uno/2009 Shield            : 15,10,14, 9, 8
// Standard Arduino Mega/Due shield            :  6, 5, 4, 3, 2
// CTE TFT LCD/SD Shield for Arduino Due       :  6, 5, 4, 3, 2
// CTE TFT LCD/SD Shield for Arduino Due (JP10):  6, 5,32, 3, 2
// Teensy 3.x TFT Test Board                   : 26,31,27,28,29
// ElecHouse TFT LCD/SD Shield for Arduino Due : 25,26,27,29,30
//
UTouch  myTouch( 62, 63, 64, 65, 66); // shield aqualedsource
//UTouch  myTouch( 6, 5, 4, 3, 2);

UTFT_SdRaw myFiles(&myGLCD);
UTFT_Buttons  myButtons(&myGLCD, &myTouch);

void setup()
{
  // Open serial communications and wait for port to open:
  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for DUE & Leonardo only
  }
  Serial.println(F("Initialising SD card..."));
  bool mysd = 0;
  // see if the card is present and can be initialized:
  while (!mysd)
  {
    if (!sd.begin(SD_CHIP_SELECT, SPI_HALF_SPEED)) {
      Serial.println(F("Card failed, or not present"));
      Serial.println(F("Retrying...."));
    }
    else
    {
      mysd = 1;
      Serial.println(F("Card initialised."));
    }
  }
  Serial.println(F("Initialising LCD."));
  myGLCD.InitLCD();
  myGLCD.clrScr();
  myGLCD.setFont(SmallFont);
  myTouch.InitTouch();
  myTouch.setPrecision(PREC_MEDIUM);
  myButtons.setTextFont(BigFont);
  int butskip = myButtons.addButton( 85,  219 , 70,  20, "Skip");
  Serial.println(F("LCD initialised."));
  // ////////////////////////////////////////////////////////////////////////////////
  //             Wait for GPS screen  or skip button
  ///////////////////////////////////////////////////////////////////////////////////
  Serial.println(F("Initialising GPS."));
  long mytime = millis();
  myFiles.load(0, 0, 240, 240, "wait4gps.RAW", 1 , 1);
  long mytime1 = millis() - mytime;
  cout << F("Time to draw 240x240 raw ") << mytime1 << F(" ms") << endl;
  myButtons.drawButton(butskip);
  while (wait == 2) {
    pressed_button = myButtons.checkButtons();
    if (pressed_button == butskip)
    {
      cout << F("Skip button detected (No GPS :( )\n");
      wait = true;
    }
  }
  char fname440[] = "SO11/SO100100.RAW";
  myGLCD.clrScr();
  mytime = millis();
  myFiles.load(20, 20, 440, 440, fname440, 1);
  mytime1 = millis() - mytime;
  cout << F("Time to draw 440x440 raw (no extra buffer) (non inverted colour) ") << mytime1 << F(" ms") << endl;
  delay(5000);
  myGLCD.clrScr();
  mytime = millis();
  myFiles.load(20, 20, 440, 440, fname440, 32, 0);
  mytime1 = millis() - mytime;
  cout << F("Time to draw 440x440 raw (32*buffer) (non inverted colour) ") << mytime1 << F(" ms") << endl;
  delay(5000);
  mytime = millis();
  myFiles.load(20, 20, 440, 440, fname440, 32, 1);
  mytime1 = millis() - mytime;
  cout << F("Time to draw 440x440 raw (32*buffer) (inverted colour) ") << mytime1 << F(" ms") << endl;
  delay(5000);
  myGLCD.clrScr();
  mytime = millis();
  myFiles.pan(20, 20, 440, 440, 0, 0, 4040, 4040, "SK45/SK45.RAW", 1);
  mytime1 = millis() - mytime;
  cout << F("Time to draw 440x440 portion from 4040x4040 raw image (inverted colour) ") << mytime1 << F(" ms") << endl;
  delay(5000);
  myGLCD.clrScr();
  int xad, yad;
  int xd = 0, yd = 0;
  int tmpx = 0, tmpy = 0;
  mytime = millis();
  for (int z = 0; z < 209; z++)
  {
    tmpy = (z / 19);
    tmpx = z - (tmpy * 19);
    xd = tmpx * 42;
    yd = tmpy * 42;
    tmpy = (z / 22);
    tmpx = z - (tmpy * 22);
    yad = (tmpy * 69) + 10;
    xad = (tmpx * 108) + 44;
    myFiles.pan(xd, yd, 42, 42, xad, yad, 2374, 696, "icons.raw");
  }
  mytime1 = millis();
  cout << F("time to draw 210 42x42 icons (ms) ") << (mytime1 - mytime) << endl;
  delay(5000);
  cout << F("Thanks for watching!") << endl;
  myGLCD.clrScr();
  myGLCD.setFont(BigFont);
  myGLCD.setColor(VGA_GREEN);
  myGLCD.print("Thanks for watching!", CENTER, 231);
}

void loop()
{
}

Pour le 7 essais :
La ref cte70 avec 38,39,40,41
Moi cela marche sans soucis pour les 2
Apres faut mettre les corrections que jai donner si dessus pour faire fonctionner le touch
Et d'ailleurs tu prendras l'autre code de déclaration dans ton exemple :wink:
Celui avec 6,5,4,3,2 :slight_smile:

Sinon je vois bien le sketch que tu as mis
Mais moi rien ne sort encore :confused:
En plus je n'ai pas les photo avec se sketch
Impossible a les trouver

j'ai répondu dans l'autre topic celui lier a la SD

Bon ça y et mon 7" fonctione mais pas avec les parametre clasique

pour moi il faud faire la calib en LANDSCAPE .
pour le shield j'ai utiliser CTE shield prevu pour le CTE50 , je n'ai pas encor réhusi avec le mega screw shield , car je nais pas de pin d'alimentation 5V pour l'ecran donc une modif sera peut'etre a prévoire!