[Numérique] Piloter un écran TFT LCD
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Piloter un écran TFT LCD



  1. #1
    ueihttam

    Piloter un écran TFT LCD


    ------

    Bonjour,

    Je souhaite utiliser un écran 3,5", à la base conçu pour être utiliser sur un Arduino UNO.
    Le controleur monté sur la carte est le ILI9481B mais je ne sais pas comment sont transformés les signaux pour arriver au niveau du connecteur.
    Voici un lien vers cet écran : http://www.banggood.com/fr/3_5-Inch-...p-1022298.html
    Je cherche à connaitre l'utilité de chacun des signaux qui transitent entre le Arduino et le controleur de l'écran, à savoir :
    -LCD_D0..7 : signaux de data de chacune des couleurs rouge, vert, bleu ?
    -LCD_RST : reset de l'écran ?
    -LCD_CS : chip select de l'écran ? Doit toujours être high pour piloter l'écran ?
    -LCD_RS : ??
    -LCD_WR : LCD write ? Utilité ?
    -LCD_RD : LCD read ? Utilité ?

    Je ne vois pas de signaux de synchro horizontal ou vertical, pas de clock non plus, comme ce qu'on pourrait retrouver sur des signaux RGB.
    Enfin, comment sont décomposés les couleurs sur le bus de data 8 bits ?

    Est-ce que quelqu'un sait comment fonctionne ce controleur ?

    Merci de votre aide.

    -----

  2. #2
    vincent66

    Re : Piloter un écran TFT LCD

    Bonjour,
    Cet afficheur contient un circuit qui génère les signaux de commande du lcd...
    Il est interfacé avec le microcontrôleur par un bus parallèle 8 bits...
    L'utilisateur, pour afficher quelquechose doit écrire dans les registres du contrôleur...

    Donc
    LCD_D0..7 : bus 8 bits parallèle...
    LCD_RST : oui, reset de l'écran...
    LCD_CS : Chip Select, voir la doc si actif état haut ou bas...
    LCD_RS : ??? , voir la doc...
    LCD_WR : écriture dans un registre...
    LCD_RD : lecture d'un registre...

    La traduction gogol des caractéristiques sur le site n'est d'aucune utilité...

    Il te faut trouver et télécharger la datasheet du contrôleur ILI9481B pour pouvoir progresser...

    Courage !
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

  3. #3
    jiherve

    Re : Piloter un écran TFT LCD

    Bonjour,
    Ben il faut se farcir la data sheet du controleur ici :http://www.ncsys.co.jp/webshop/GTV35...4(ILI9481).pdf.
    et faire les recoupements avec celle du module.
    JR
    l'électronique c'est pas du vaudou!

  4. #4
    Murayama

    Re : Piloter un écran TFT LCD

    Bonjour!

    Un bon moyen pour commencer sans trop se fatiguer:

    Chercher sur gougueule ou autre: ILI9481B.c

    En principe on trouve un morceau de code qui permet au moins l'initialisation
    et l'écriture du premier pixel. Et dans un driver de LCD, quand le premier pixel est
    écrit, on peut dire que 95% du travail est fait, le reste c'est juste de l'adaptation pour
    que l'interface soit adaptée exactement à vos besoins.

    Sinon pour vos questions:

    Je ne vois pas de signaux de synchro horizontal ou vertical, pas de clock non plus


    Dans tous les TFT de petite taille, il y a de la mémoire interne au circuit driver
    (le ILI cité ci-dessus), et un système qui génère les signaux RGB pour les envoyer
    au LCD. La seule chose que vous avez à faire est de remplir cette mémoire dans un
    format compatible avec votre configuration (format 323, 565, 666, etc...).

    comme ce qu'on pourrait retrouver sur des signaux RGB.
    Il n'y a probablement pas de signaux RGB, il y a juste une mémoire à remplir, et le
    LCD s'occupe du reste.

    Enfin, comment sont décomposés les couleurs sur le bus de data 8 bits ?


    C'est selon. Si vous configurez en 323, alors il faut composer chaque byte que vous
    envoyez avec 3 bits de bleu, 2 de vert, 3 de rouge. Tiens je suis en train de me demander
    si le format 323 est bien raisonnable. 2 seulement pour le vert pour lequel l'oeil est le plus
    sensible me paraît bizarre. Bref, passons.
    Si c'est en 5,6,5, alors chaque fois que vous enovoyez 2 bytes, vous écrivez 1 pixel.
    Et si c'est en 666, vous écrivez RGBRGBRGB successivement. Donc on ne peut rien dire
    sans savoir quelle configuration vous utilisez.

    Pascal


  5. A voir en vidéo sur Futura
  6. #5
    ueihttam

    Re : Piloter un écran TFT LCD

    Bonjour,

    Merci beaucoup pour vos réponses, elles sont très utiles.
    Je comprends que le controleur fait l'interface pour piloter le LCD, je vais me farcir la doc dès que possible.
    Je me pose juste une question pour mon application : j'ai un système qui sort du RGB dont chacune des couleurs rouge, vert et bleu sont codées sur 8 bits.
    Comme vous l'avez mentionné, il faudra surement une interface pour récupérer les signaux RGB et les convertir pour le LCD, ne serait-ce que pour les convertir pour le bus parallèle 8 bits ou pour adapter l'image s'il faut downscaler l'image.
    Pour ça, quel est le composant programmable qui pourrait être utilisé ? Je pense qu'une logique programmable pourrait convenir si elle est cadencé suffisamment vite ; avez-vous une référence ?
    Est-ce qu'un dsPIC pourrait convenir si l'on souhaite avoir un rafraichissement de l'image à 50 Hz ? Pour ça, il faudrait que le rafraichissement de chaque pixel prenne moins de 130ns (=1/(50*320*480))...

  7. #6
    vincent66

    Re : Piloter un écran TFT LCD

    Ben alors tu prends un écran avec entrées rgb...
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

  8. #7
    Murayama

    Re : Piloter un écran TFT LCD

    Bonjour!

    Il n'y a pas besoin de composant.
    Pour transformer par exemple du RGB888 en RGB565, on peut faire par exemple comme ça:
    uint16 RGB565Val = 0;
    uint8 r, g, b;
    RGB565Val += r << 8;
    RGB565Val &= 0x07FF; // Enlever les 3 derniers bits du rouge
    RGB565Val+= g<<3;
    RGB565Val &= 0x001F; // Enlever les 2 derniers bits du vert
    RGB565Val += (b >> 3);

    En ce qui concerne le rafraîchissement, il est entièrement géré par le composant ILI qui est
    à l'intérieur du LCD, vous n'avez pas à vous en occuper.
    NB: il y a peut-être tout de même un mode dynamique qui permet d'envoyer des images très
    vite. Lire la doc. Sinon, en mode ordinaire, il est possible que vous ne puissiez pas suivre.
    Là encore: lire la doc.

    Est-ce qu'un dsPIC pourrait convenir si l'on souhaite avoir un rafraichissement de l'image à 50 Hz ?
    Pour ça, il faudrait que le rafraichissement de chaque pixel prenne moins de 130ns (=1/(50*320*480))...
    Il est difficile de vous répondre autre chose que "faut voir" parce que le système nous est totalement
    inconnu. Vous parlez d'un "système qui sort du RGB dont chacune des couleurs rouge, vert et
    bleu sont codées sur 8 bits". Ce système sort des RGB, mais combien par trame / par ligne? Combien
    de trames par seconde? Est-ce que ce système est le DSPIC? Est-ce que c'est une caméra extérieure
    au DSPIC? Si la caméra sort sur un bus parallèle RGBRGBRGB, alors il suffira d'envoyer tout ça au LCD.
    Si la source est plus petite que le LCD (par ex. 160 x 120), il y a dans les drivers ILI que j'utilise la
    possibilité de fenêtrage.
    Mettez en place une DMA entre le port d'entrée caméra et de sortie LCD, et ça devrait être possible.
    Mais là encore, on marche dans le brouillard au radar, impossible de faire une réponse absolue.

    Pascal

  9. #8
    ueihttam

    Re : Piloter un écran TFT LCD

    Hello,

    Je remonte ce petit post que j'ai ouvert il y a un moment déjà.
    J'ai avancé sur mon projet; je suis désormais sur un HX8357-D.
    J'ai trouvé un code d'exemple qui fonctionne très bien avec la fonction SPI 4 fils.
    Ce que j'aurais voulu, c'est configuré le composant par le SPI 4 fils et lui envoyer une image 16 bits par le RGB.
    Pour ces tests, j'utilise un Arduino Mega que je connecte à mon écran.

    Je joins le code principal et l'init du LCD.

    Est-ce que quelqu'un a déjà fait ça ? Je me demande si je ne dois pas changer les niveaux des IM0..2 à la volée.

    Merci de votre aide.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Piloter un écran capacitif de liseuse a distance
    Par Vonze66 dans le forum Électronique
    Réponses: 9
    Dernier message: 05/10/2015, 13h00
  2. Piloter un écran de projection
    Par aurel51 dans le forum Électronique
    Réponses: 6
    Dernier message: 17/07/2014, 14h22
  3. Réponses: 2
    Dernier message: 12/06/2011, 15h43
  4. Piloter LCD
    Par invite8fe13b0e dans le forum Électronique
    Réponses: 1
    Dernier message: 30/11/2009, 13h30
  5. piloter un ecran LCD de PSP
    Par MorpheusPic dans le forum Électronique
    Réponses: 13
    Dernier message: 28/02/2009, 13h02
Découvrez nos comparatifs produits sur l'informatique et les technologies.