Go Down

Topic: Ecran tactile LCD ? (Read 2666 times) previous topic - next topic

Heloderma-kris

Bonjour j'ouvre ce topic
car malgré des recherche sur le sujet je n'ai pas trouver de réponse concrète.

la grande question est comment choisir sont touchscreen?

on trouve des écran tactile avec des liaison SPI et d'autre avec des connections 8-16bit(il mon laire d'etre plus repandu non ?)

Pour le moment j'utilise en spi cela http://www.watterott.com/de/MI0283QT-2-Adapter
bien qu'il soit fourni avec une bibliothèque qui permet de faire des chose trés concluante (mon automate pour pièce d'élevage est basés dessus)
je le trouve petit et de plus l'afichage d'image a partire d'une carte SD et trés long( certainement du au fait qu'il fonction aussi en spi non?) et ne permet pas de faire de belles icones

j'ai trouvé ce genre d'écran avec une Connectique 8-16bit qui est pris en charge par la bibliotéque UTFT qui me semble plus compléte
http://imall.iteadstudio.com/display/tft-lcm/im120419008.html

est ce que je fait fausse route ou bien le choix de la connections joue sur la vitesse d'affichage bref je ne trouve pas de réponse a mes question sur le sujet qui me permette de tranché

Mon souhait final serrai un écran avec les caractéristique suivante:
Possibilité d'affiché rapidement des image couleur (stocké sur une carte sd ou microsd)
grande taille (supérieur a mon 2,8" actuel)
une bibliothèque pour généré quelque effet d'affichage(je ne parle pas de graphe ou autre mais de simple bouton arrondi)

si joint un exemple du code que j'utilise pour mes touche tactile

Code: [Select]
// --- trace une touche de la taille voulue à partir des coordonnées 40, yo du centre de la touche
void TraceBouton (int xo, int yo,int couleur,int Longueur,int hauteur,char text[],int tailleText) {
 
  int Couleur_Touche =COLOR_BLACK;
  int Couleur_Texte =COLOR_WHITE;
  //RGB(0,204,204);
  int Couleur_cadre=RGB(0,204,204);
  //RGB(51,153,102);
//recPleinCoinArrondi: c'est une fonction maison
  /*lcd.drawRect*/  recPleinCoinArrondi((xo-(Longueur/2)),(yo-(hauteur/2)),(xo+(Longueur/2)),(yo+(hauteur/2)),Couleur_Touche);
  /*lcd.drawRect*/  recCoinArrondi((xo-(Longueur/2)+2),(yo-(hauteur/2)+2),(xo+(Longueur/2)-2),(yo+(hauteur/2)-2),Couleur_cadre);
  lcd.drawTextPGM((xo-(Longueur/2)+5), yo-(hauteur/2)+5, text, tailleText,Couleur_Texte ,Couleur_Touche );
}
/*__________________________________________________________________    _______________________*/

boolean TesteBouton(int xo, int yo,int couleur,int Longueur,int hauteur,char text[],int tailleText){
 
  int Couleur_Touche =COLOR_WHITE;
  int Couleur_Texte =COLOR_BLACK;
  int Couleur_cadre=RGB(0,204,204);
  boolean reponse=false;
   
 
  touchpad.service(); // appel de la routine service touchpad
  if (touchpad.getPressure()>10){ // si appui touchpad
    X=touchpad.getX(), Y=touchpad.getY();
    if (testTouche(xo,yo,Longueur,hauteur)==true){
  recPleinCoinArrondi((xo-(Longueur/2)),(yo-(hauteur/2)),(xo+(Longueur/2)),(yo+(hauteur/2)),Couleur_Touche);
  recCoinArrondi((xo-(Longueur/2)+2),(yo-(hauteur/2)+2),(xo+(Longueur/2)-2),(yo+(hauteur/2)-2),Couleur_cadre);
  lcd.drawTextPGM((xo-(Longueur/2)+5), yo-(hauteur/2)+5, text, tailleText,Couleur_Texte ,Couleur_Touche );
  appui=1; // mémorise un appui a eu lieu
     //TraceBouton ( xo,  yo, couleur, Longueur, hauteur, text ,tailleText);
     reponse=true;
      };
   
  };

  return reponse;
}


voila je suis a l' ecoute de votre expérience et de vos connaissance sur le sujet

fdufnews

Le problème des interfaces parallèles c'est qu'elle bouffent toutes les broches d'une arduino uno. Pour pouvoir utiliser un afficheur à interface parallèle il faut une méga.
J'ai le même écran que toi. J'ai trouvé aussi que le remplissage de l'écran par une image prend pas mal de temps mais je n'ai pas encore eu le courage de pousser l'analyse jusqu'à chercher qui du soft ou de l'interface SPI est cause du ralentissement. Du coup je fait dessiner les boutons par le soft. Ils sont moins beau mais cela va un peu plus vite.
Dans le principe le SPI peut être très rapide. Le problème aussi c'est que l'image est généralement dans une carte mémoire SD accédée en SPI elle aussi. Donc il faut lire quelques octets dans la carte par le SPI, les mettre en mémoire, les envoyer à l'afficheur par le même SPI. Cela n'est pas du tout efficace. Un afficheur en interface parallèle permet d'envoyer directement les octets à l'afficheur puisque les broches d'interface ne sont pas partagées.

Heloderma-kris

sa confirme bien ce que je pensai aussi!
effectivement je procede comme toi en desinan par le soft a l 'aide des fonction de dessin les touche et tout le reste !
je pense que je vais essayer l'aitre type d'ecran car j'utilise une mega  et sa me permetra de tester avec la DUE lorsquelle sera disponible!

si d'autre on tester des ecrant sa serai bien d'avoir des retour non?

Go Up