Bonjour
Je trouve des dizaines d'exemples compliqués sur diverses cartes mais je cherche quelque chose de simple.
Je souhaite utiliser un ili9341 sur ESP32, apprendre pas à pas.
Sur adafruit, je ne trouve même pas le câblage.
Parfois on passe d'un hello world à une station météo connectée...
Je désespère, j'aimerais pouvoir utiliser cet écran sans être ingénieur mais tout en utilisant son potentiel: SD et touch.
Quelqu'un connaît un bon tuto facile à prendre en mains et complet?
pour la partie affichage
dans elektor magazine
ils utilise un ili9341 pour l'affichage, prend exemple sur leur logiciel
par contre pour la partie touch, je n'ai rien trouvé.
Bonjour,
Exemple d'utilisation du touch avec Ili9341, il y a d'autres exemples sur leur blog
https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/4-gewinnt-mit-dem-az-touch-mod
ou
https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/tetris-am-az-touch
L'ILI9341 ne gère pas la partie tactile. Il y a des cartes qui utilisent un contrôleur dédié pour la partie tactile il y a d'autres cartes qui utilisent les entrées analogique du CPU.
Il faut savoir comment est constituée la carte de @kammo .
Yves Pelletier a écrit plusieurs tutos sur le ILI9341 dont celui-ci :
Salut
Je suis dessus depuis ce matin. Ok, je ne suis pas doué, c'est clair. J'ai des messages d'erreur en cascade à cause de la manipulation qui modifie la bibliothèque. J'ai réinstallé deux bibliothèques qui ont des homonymes, bref, il y a toujours un truc qui couine. Est ce que tu as eu ce message 'class TFT_eSPI' has no member named 'getTouch'
merci mais c'est beaucoup trop complexe
J'ai suivi ce tuto de 'electroniqueamateur'. En fait, c'est ce que je cherche mais j'ai des messages d'erreur. J'ai viré les bibliothèques et réinstallé celle qui est recommandée (bomer)
'ai procédé à la modif indiquée mai j'ai encore du rouge:
Déjà installé Adafruit TouchScreen@1.1.3
C:\Users\simon\Documents\Arduino\codes\deux boutons tactiles\deux boutons tactiles.ino: In function 'void loop()':
C:\Users\simon\Documents\Arduino\codes\deux boutons tactiles\deux boutons tactiles.ino:51:25: error: 'class TFT_eSPI' has no member named 'getTouch'
boolean pressed = tft.getTouch(&t_x, &t_y); // vrai si contact avec l'écran
^
C:\Users\simon\Documents\Arduino\codes\deux boutons tactiles\deux boutons tactiles.ino: In function 'void touch_calibrate()':
C:\Users\simon\Documents\Arduino\codes\deux boutons tactiles\deux boutons tactiles.ino:107:7: error: 'class TFT_eSPI' has no member named 'calibrateTouch'
tft.calibrateTouch(calData, TFT_YELLOW, TFT_BLACK, 20);
^
exit status 1
Compilation error: 'class TFT_eSPI' has no member named 'getTouch'
Vu sur Arduino en réponse à un problème similaire
Apr '21post #2
Typically the error is caused by the TFT_TOUCH pin not being defined. Note that loading a new version of the library will over-write old setup files. Also do not copy an old “User_Setup_Select.h” into the new library as new features are added and this can cause problems. Post an issue on Github if the problem persists.

Ce que je ne comprends pas trop bien, là, c'est que l'auteur du tuto n'en parle pas, pourtant, ce tuto semble vraiment de qualité. Aussi, sur le D19, on a CDCK MISO

c'est ça le problème?
Le tuto date un peu (librairie TFT_eSPI 2.2.6)
Depuis, la librairie a évolué : 2.4.78
Jette un œil dans le fichier User_Setup.h et tu verras que les options pour ESP32 existent. Il suffit de dé-commenter celles qui correspondent à ton câblage.
Donc, à mon avis, modifier User_Setup.h comme l'a fait Yves Pelletier n'est plus d'actualité.
Et répondre aux questions serait un plus.
On ne sait même pas quel écran tu utilises ![]()
Salut Kammo
C'est vrai que la bibliothèque TFT_eSPI n'est pas facile à faire marcher. Mais une fois que tout est configuré, on est comme sur l'autoroute...
Pour ton écran ILI9341, il y a un user_setup dédié à l'ESP32 : je te conseille de l'utiliser et de connecter comme il dit
#define TFT_MISO 19 // (leave TFT SDO disconnected if other SPI devices share MISO)
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15 // Chip select control pin
#define TFT_DC 2 // Data Command control pin
#define TFT_RST 4 // Reset pin (could connect to RST pin)
Et:
// Optional touch screen chip select
//#define TOUCH_CS 5 // Chip select pin (T_CS) of touch screen
à décommenter.
Pour tester le touch, tu peux utiliser ce sketch. Pour le calibrer celui-ci.
Bonne chance Mr Phelps...

ili9341 2.8 TFT SPI 240*320 v1.1 // TCJTM24029-SPI
Et la carte ESP32 ?
D'habitude on ne numérote pas les pins comme tu le fais Dxx avec un ESP32 mais simplement xx ou GPIOxx.
En dé-commentant dans User_Setup_Select.h :
//#include <User_Setups/Setup42_ILI9341_ESP32.h> // Setup file for ESP32 and SPI ILI9341 240x320
On est vachement avancés. c'est à croire que tu es un débutant total, qui ne sait même pas copier / coller un lien sur la page du site où l'écran a été acheté.
L'écran est classique, il ne devrait y avoir aucune surprise. Sauf peut-être l'absence du touch, car certains vendeurs en ligne annoncent un écran tactile et envoient un écran sans le tactile.
Il faut vérifier la présence de la petite nappe de 4 fils au bord de l'écran.
esp32 WROOM 32u
En fait je n'ai pas les mêmes pins que dans le tuto, par exemple, je n'ai pas de d15
J'en ai déduit qu'il nomme D les pins GPIO
J'ai bien 5 broches T à l'arrière
Je n'ai pas mis ce lien parce qu'il renvoie à plusieurs références, la mienne étant celle citée précédemment
Le fait est que j'ai suivi le tuto et que je n'ai pas le même user_setup
je désinstalle donc encore les libraries et je recommence...
A partir de l'IDE, je ne trouve même pas la bibliothèque, je le fais à la main.
C'est quand-même intriguant ce passage
" Malheureusement, le dossier ne comporte pas de fichier conçu pour l'utilisation d'un ILI9341 avec un ESP32, et j'en ai donc écrit un (voir ci-dessous). Ce fichier devrait être enregistré dans le dossier User_Setups sous le nom "Setup_ILI9341_ESP32.h ""
C'est obsolète?
Ca, je pense que c'est la référence de la puce, pas de la carte. Laquelle sur le site Ali ?
C'est Setup42_ILI9341_ESP32.h
