ESP32 - TFT 2.8" SPI Tactile - ILI9341

tft_2.8p


L'écran TFT 2.8 pouces Spi 240 x 320px affiche des images et du texte en couleur. 

Il utilise le SPI 4 fils pour communiquer et possède son propre frame buffer adressable par pixel, il peut être utilisé avec n'importe quel type de microcontrôleur (Arduino et/ou ESPxx)


L'écran de 2,8 pouces 240x320 pixels couleur 18 bits est piloté par le contrôleur d'écran ILI9341. et comprend également un écran tactile résistif avec contrôleur XPT2046 intégré. Il possède un lecteur de carte micro SD.



Caractéristiques

Contrôleur d'écranILI9341
Taille de l'écran2.8 pouces (Existe en 2.4p)
Type d'affichageLCD TFT
Couleur d'affichageCouleur RVB 65K
Résolution320 x 240 px
Interface de communicationSPI
Type d'écran tactileRésistif
Contrôleur tactileXPT2046
Alimentation3,3v ou 5v (Connecteur J1)
Tension des IO3,3v

Connecteur J1


Sur la broche VCC, vous pouvez utiliser 5 V ou 3,3 V selon que le connecteur J1 est ouvert ou fermé (généralement ouvert par défaut, comme illustré ci-dessous). 


  • VCC = 5 V si J1 est ouvert 
  • VCC = 3,3 V si J1 est fermé

Personnellement, j'ai alimenté le TFT en 3.3v avec un ESP32-Wroom avec le connecteur J1 ouvert - Et cela fonctionne ....


TFT_J1

Brochage

TFT_Brochage


Brochage (Connecteur jaune)

Pin Tactile  -  T_IRQ  -  Signal d'interruption de l'écran tactile
Pin Tactile  -  T_DO  -  Sortie du bus SPI tactile (à connecter sur MISO)
Pin Tactile  -  T_DIN  -  Entrée du bus SPI (à connecter à MOSI)
Pin Tactile  -  T_CS  -  Signal de sélection de la puce tactile - Activation au niveau bas
Pin Tactile  -  T_CLK  -  Signal d'horloge du bus SPI tactile

Pin TFT  -  SDOK <MISO>  -  Signal de lecture de données sur le bus SPI
Pin TFT  -  LED  -  Rétroéclairage à connecter sur +3.3v
Pin TFT  -  SCK  -  Signal d'horloge du bus SPI
Pin TFT  -  SDI <MOSI>  -  Signal de données d'écriture du bus SPI
Pin TFT  -  DC  -  Signal de sélection du registre LCD - Données/niveau haut - Registre/bas niveau
Pin TFT  -  RESET  -  Signal de réinitialisation du LSD
Pin TFT  -  CS  -  Signal de sélection de la puce LCD
Pin TFT  -  GND  -  Masse
Pin TFT  -  VCC  -  Alimentation +5v ou +3.3v


Suivant les cartes et/ou les schémas de câblage, certaines pins peuvent être nommées différemment, le mieux est de repérer les pins MISO et MOSI


SD_SCK SD CARD  -  Signal d'horloge pour l'utilisation de la SD Card
SD_MISO  -  Signal MISO pour l'utilisation de la SD Card
SD_MOSI  -  Signal MOSI pour l'utilisation de la SD Card
SD_CS  -  Signal CS pour l'utilisation de la SD Card




IMPORTANT

danger


Les entrées IO de l'écran TFT ne supportent que +3.3v (Pas de +5v)

Les pins digitales de l'Arduino délivrent 0v ou +5v.

Pour utiliser un Arduino avec un écran TFT SPI ILI9341, il faut utiliser un convertisseur +5v en +3.3v pour éviter d'endommager les entrées IO du TFT qui ne supportent que +3.3v.

Pas de soucis avec un ESP32-Wroom, qui délivre +3.3v en OUTPUT 

(Vérifier bien les tensions de sorties si vous utilisez un autre ESP32-xx)




Câblage TFT avec ESP32 

TFT 2.8"ESP32
VCC+3.3v
GNDGND
CS15
Reset4
DC2
SDI MOSI23
SCK18
LED+3.3v
SDOK MISO19
T_CLK18
T_CS21
T_DIN19
T_D023
T_IRQNot Use


Exemple: Horloge digitale


Fichier / Exemples / TFT_eSPI / 320 x 240 / TFT_Clock_Digital

esp32-18h46


Code

  • esp32_dev_module
  • librairie_tft_espi
  • user_setup
  • Driver_ILI9341
  • 240x320
  • commenter_toutes_les_lignes
  • ligne_ESP32
  • CS


Connecter l'ESP32 à votre ordinateur
Ouvrir l'IDE Arduino
Sélectionner l'ESP32-Wroom en ESP32 Dev Module
Sélectionner votre port COM

Installer la bibliothèque TFT_eSPI de Bodmer

Une fois la bibliothèque TFT_eSPI installée, vous devez modifier le fichier User_Setup.h
Vous devez adapter le fichier User_Setup.h en correspondance à votre câblage.

Déplacez-vous sur le dossier contenant les bibliothèques d'Arduino,
Allez dans // Documents / ARDUINO / libraries / TFT_eSPI /

Ouvrir avec votre éditeur de texte, le fichier User_Setup.h     (Je l'ai ouvert avec Visual Studio Code)
Vous devez commenter et dé-commenter quelques lignes de code afin d'adapter le fichier User_Setup.h à votre câblage.

Ligne 12  -  #define USER_SETUP_INFO "User_Setup"  -  Ne pas modifier cette ligne

Ligne 45  -  #define ILI9341_DRIVER  - A dé-commenter (Driver ILI9341)    (Supprimer le double-slash // en début de ligne)

Lignes 83 à 93  -  dé-commenter uniquement les lignes ci-dessous    (Supprimer le double-slash // en début de ligne)
Ligne 88  -  #define TFT_WIDTH  240 // ST7789 240 x 240 and 240 x 320  - (240 pixels)
Ligne 92  -  #define TFT_HEIGHT 320 // ST7789 240 x 320  -  (320 pixels)

Lignes 169 à 177  -  Commenter toutes les lignes - Car elles correspondent au câblage avec un ESP8266    (Ajouter un double-slash // en début de ligne)

Lignes 212 à 217  -  Dé-commenter toutes ces lignes    (Supprimer le double-slash // en début de ligne) 
et modifier ci-besoin les n° des pin correspondant à votre câblage - Elles correspondent à l'ESP32 
Assurez-vous que les PIN correspondent bien à votre câblage
Ligne 212  -  #define TFT_MISO 19 Pin MISO
Ligne 213  -  #define TFT_MOSI 23 Pin MOSI
Ligne 214  -  #define TFT_SCLK 18  -  Pin Horloge
Ligne 215  -  #define TFT_CS   15  -  Pin CS
Ligne 216  -  #define TFT_DC    2  -  Pin DC
Ligne 217  -  #define TFT_RST   4  -  Pin Reset

Ligne 230  -  #define TOUCH_CS 21  -  Pin CS    (Supprimer le double-slash // en début de ligne) 

Les autres lignes non pas besoin d'être modifiées ...
Sauvegarder les modifications  [Ctrl] + [S] (pour Visual Studio Code)
Fermer l'éditeur.


Sur l'IDE Arduino
Charger le code exemple TFT_Clock
Ouvrir Fichier / Exemples / TFT_eSPI / 320x240 / TFT_Clock
Et téléverser le fichier ...

Si une fois, le code téléversé, l'écran tft reste blanc, 
c'est que vous vous êtes certainement trompé soit dans le câblage, soit dans la modification du fichier User_Setup.h

.

exemple_tft_clock

Fichier / Exemples / TFT_eSPI / 320 x 240 / TFT_Clock


Personnaliser

Google Analytics

Google Analytics est un service utilisé sur notre site Web qui permet de suivre, de signaler le trafic et de mesurer la manière dont les utilisateurs interagissent avec le contenu de notre site Web afin de l’améliorer et de fournir de meilleurs services.

Facebook

Notre site Web vous permet d’aimer ou de partager son contenu sur le réseau social Facebook. En l'utilisant, vous acceptez les règles de confidentialité de Facebook: https://www.facebook.com/policy/cookies/

Twitter

Les tweets intégrés et les services de partage de Twitter sont utilisés sur notre site Web. En activant et utilisant ceux-ci, vous acceptez la politique de confidentialité de Twitter: https://help.twitter.com/fr/rules-and-policies/twitter-cookies