Utiliser les écrans TFT pour Arduino à puce ILITEK

Salut à tous ! Ce tutoriel va vous apprendre à utiliser les écrans TFT pour Arduino à puce d'ILITEK.
Pour commencer, nombre d'entre nous à déjà tenté d'utiliser un écran pour Arduino, et pour apprendre comment l'utiliser, vous avez fait des recherches. Vous avez également testé.

En vain. (En tout cas si vous êtes là)

Et justement, ce tutoriel va bien vous aider !
C'est parti !

1 ) Installation des librairies

  1. Pour commencer, il faut les librairies. Les voiçis :
  • Adafruit GFX
  • MCUFRIEND_kbv

Attention ! Plein d'autres librairies existent aussi ! J'ai choisi celles-ci car elles vont bien ensemble, on se documente assez facilement sur Internet pour ces librairies et elles sont très utilisées. Il existe aussi la librairie PecheuxGraph qui présente les possiblitées d'un écran ILI9341 (cette librairie fonctionne uniquement avec les écrans ILI9341). Il existe aussi TFT-eSPI et encore d'autres ! A vous de choisir. Mais je vais m'orienter vers les deux librairies déjà listées

La nouvelle version d'Adafruit GFX n'est PLUS compatible avec les cartes Arduino, si vous n'installez pas aussi Adafruit BusIO. Donc voilà pourquoi vous avez eu du mal à réussir à faire fonctionner votre écran si vous avez juste téléchargé Adafruit GFX. C'est pourquoi vous avez le choix entre une ancienne version et la nouvelle version, mais avec Adafruit BusIO (me demandez pas à quoi elle sert exactement).
Voici l'ancienne version d'Adafruit GFX :
Adafruit GFX ,ou alors télécharger directement ce fichier (c'est le même) : Librairies-ecran-Tactile.zip (632,9 Ko)
Si vous avez choisi l'ancienne version, plus besoin d'Adafruit BusIO.

  1. Si vous avez choisi l'ancienne version, ouvrez le fichier "Librairies-ecran-Tactile.zip" SANS le décompresser ou extraire les fichiers et dossiers, cherchez le dossier nommé "Adafruit-GFX-Library-master", sélectionnez le et déplacez le vers : C:\Users\Votre nom d'utilisateur\Documents\Arduino\libraries ou Documents\Arduino\libraries.Redémarrez Arduino IDE par précaution s'il était déjà ouvert.
    Si vous préférez la dernière version, alors allez dans Croquis>Inclure une bibliothèque>Gérer les bibliothèques, puis recherchez "Adafruit GFX", cliquez dessus et installez-le.


    Ainsi que les autres librairies demandées en cliquant sur "Install all" :

  2. Ouvrez l'Arduino IDE (oui je met des majuscules à Arduino, preuve que pour moi c'est important), allez dans Croquis>Inclure une bibliothèque>Gérer les bibliothèques. Une fois dans le gestionnaire de librairies, recherchez MCUFRIEND_kbv, cliquez dessus et installez-le.

  3. Vous pouvez également faire de même pour les autres dossiers du fichier "Librairies-ecran-Tactile.zip", si vous voulez les utiliser. Attention, je n'explique pas pas comment les utiliser ! Et en plus, il me semble qu'elles ne fonctionnent pas !

  4. Complément Tactile :
    Allez voir sur le gestionnaire de bibliothèques dans Arduino IDE et marquez "TouchScreen" et installez "Adafruit TouchScreen".

Voilà ! Vous avez Terminé pour les librairies ! :wink::upside_down_face:

2 ) Utiliser le code

Maintenant, il va falloir savoir utiliser les librairies. Bon je ne vais pas faire un cours complet, parce que il y a déjà le site officiel de la librairie qui en fait un alors... :

Si le sens de l'écran n'est pas paramétré, alors le sens des pixels est comme ça :

3 ) Conclusion

Maintenant vous n'avez plus qu'à rechercher comment utiliser ces librairies ! Je ne saurais pas vraiment vous apprendre ça.
Mais sachez que ces librairies ne sont pas uniques pour les utiliser ! Il y en a d'autres. Si vous voulez faire vous même votre propre librairie, allez dans la datasheet de la puce qui contrôle votre écran et écrivez tout votre code ! Si vous faites ça, bonne chance !

Lien(s) interressant(s) ou en rapport

Utilisation d'un Resistive Touch Screen à 4 fils
Fonctionnement d'une puce ILI9341
Librairie pour écran tactile pour Arduino
Fonctionnement du tactile d'un écran pour Arduino
Système d'exploitation pour Arduino pour les écrans tactiles
MCUFRIEND_kbv - Arduino Reference

J'espère que ce tutoriel vous a plu !
Salut !

1 Like

Ça semble bizarre ce que vous dites, ces librairies ne sont elles justement pas faites pour arduino ?

Oui, c'est bizarre, je sais. C'est bien pour ça que ça devient plus compliqué de faire fonctionner les écrans.

Pouvez vous expliquer ce qui ne fonctionne pas? Message d’erreur ?
Postez un bug sur github si on, il n’y a pas de raison pour que ça ne fonctionne pas

Peut être vous avez un écran chinois cloné et certains registres sont dysfonctionnels

Cf Recent purchases Bangood of "red" 2.4" LCD + touchscreen. · Issue #166 · prenticedavid/MCUFRIEND_kbv · GitHub

Oui, un message d'erreur s'affiche dans l'Arduino IDE. Maintenant que j'ai les bonnes librairies, il va falloir que je refasse un bazar pour les retrouver et les tester tout ça pour dire quel est ce bug ! Mais d'accord, puisque ce sera utile ! Mais en attendant, il me semble que le message est Erreur de compilation pour la carte Arduino Zero (Programming Port).

Je vais voir en testant, pas juste de mémoire.

Que l'écran soit chinois ou pas, c'est la puce qui est lue. Dans l'article, j'ai l'impression qu'il ne s'agit pas d'une ILI9341. Sauf erreur de ma part, on ne peut pas bloquer la lecture d'un registre et la valeur 9341 est inscrite hard. Elle est dans la doc de la puce. Les valeurs retournées par les autres identificateurs sont laissés libres. Par contre le dump montrerait qu'il y a très peu de registres utiles, ce qui n'est pas le cas d'une ILI9341. Ou alors il y a une connexion non branchée qui empêche l'accès aux registres.

Je voulais dire que la puce pourrait être un clone potentiellement

C'est un problème de compilation, pas de matériel. Soit ça vient de la librairie, soit ça vient du gestionnaire de cartes. Je ne voit pas d'autres propositions.

Postez le code que vous essayez de compiler et l’erreur obtenue


Installation de MCUFRIEND_kvb.


Installation de Adafruit GFX uniquement.

Testons un exemple !


OH ! UNE ERREUR !

Arduino : 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Carte : "Arduino Uno"

In file included from C:\Users\Techvij\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.cpp:20:0:

C:\Users\Techvij\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.h:30:10: fatal error: Adafruit_I2CDevice.h: No such file or directory

 #include <Adafruit_I2CDevice.h>

          ^~~~~~~~~~~~~~~~~~~~~~

compilation terminated.

exit status 1

Erreur de compilation pour la carte Arduino Uno

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

Dommage !
Peut-être le fait que j'ai installé uniquement Adafruit GFX ?
En tout cas, le problème devrait être dit dans l'IDE Arduino.

J'ai emprunté un ordinateur, ce n'était pas le mien : vous fiez pas au nom d'utilisateur écrit dans ce message dans le nom d'utilisateur de l'ordinateur. D'ailleurs, je vais le modifier comme ça il faudra un peu plus fouiller pour trouver l'ancien nom.

C'est juste Adafruit GFX qui n'est plus compatible.

Peut-être que le problème est indiqué par l'IDE mais si tu ne le laisses pas l'afficher......

Je testerai.

De toutes les façons, cette option devrait toujours être activée car elle informe sur le type des erreurs et elle donne une information (approximative) sur leur emplacement.

Je vais aussi tester la librairie avec l'autre qui à été demandée à l'installation.

J'installe Adafruit GFX,

avec Adafruit Bus IO :

Pareil pour MCUFRIEND_kbv :

Maintenant, je teste "GLUE_Demo_480x320" de MCUFRIEND_kbv, et ça marche !

Le problème venait alors de là !

donc tout marche bien alors ! :slight_smile:

Eh oui ! C'est de ma faute ! Désolé ! Mais au moins tout le monde saura qu'il ne faudra pas faire ça ! Bon, le seul avantage que je pourrais lister d'utiliser la librairie sur le site exotique, précisément celle là, Adafruit GFX, c'est que Adafruit BusIO n'est pas téléchargé ! :sweat_smile:

la discussion sert à apprendre !
merci d'avoir fait le suivi