Aujourd'hui, les écrans TFT équipés du contrôleur ILI9341 sont l'une des options les plus populaires pour les projets de prototypage Arduino en raison de leur polyvalence et de leurs capacités graphiques. Si vous cherchez comment tirer parti de ces écrans dans vos projets, vous êtes au bon endroit. Nous expliquons ici tout ce que vous devez savoir pour connecter, configurer et utiliser l'écran TFT ILI9341, et nous verrons également quelques exemples de codes très utiles.
Travailler avec cet écran peut sembler compliqué au début en raison du nombre de broches et de connexions requises, mais une fois que vous avez compris le processus, cela devient beaucoup plus simple. Dans cet article nous allons voir étape par étape comment établir la connexion, la tester et la programmer.
Matériel nécessaire pour utiliser l'écran ILI9341 avec Arduino
[amazon box=”B0C8V88Z9D, B0798N2HHW” items=”2″ grid=”2″ image_size=”large” description_items=”0″ template=”widget”]
- Arduino UNO ou Arduino Pro Mini 3.3 V: Si vous utilisez un Arduino UNO, vous aurez besoin d'adaptateurs de niveau logique pour éviter d'endommager l'écran, puisqu'il fonctionne en 3.3V. Si vous utilisez un Arduino Pro Mini 3.3 V, vous pouvez vous connecter directement.
- Écran TFT ILI9341: Écran de 2.4 ou 2.8 pouces avec une résolution de 240x320 pixels.
- Convertisseur de niveau logique (si tu utilises Arduino UNO) : pour adapter les niveaux de 5V à 3.3V.
- Protoboard y cet ensemble de câbles polyvalent de connexion.
Étape 1 : Connectez l'écran ILI9341 à l'Arduino
L'écran TFT ILI9341 utilise l'interface SPI pour communiquer avec l'Arduino, il sera donc important d'établir les connexions correctes entre les broches SPI de l'Arduino et l'écran. Le tableau suivant explique en détail comment réaliser les connexions de base :
| épingle d'écran | Broche Arduino |
|---|---|
| ODD (MISO) | Broche 12 |
| SCK | Broche 13 |
| IDS (MOSI) | Broche 11 |
| D / C | Broche 9 |
| CS | Broche 10 |
| GND | Broche GND |
| VCC | 3.3 V. Pile |
| DEL | 3.3 V. Pile |
N'oubliez pas que si vous utilisez un Arduino UNO, il faudra utiliser le adaptateurs de niveau logique pour convertir le 5V des broches Arduino en 3.3V. Si vous utilisez un Arduino Pro Mini 3.3 V, cette précaution n'est pas nécessaire.
Étape 2 : Installez les bibliothèques nécessaires
Pour interagir avec l'écran ILI9341, nous devons installer certaines bibliothèques dans l'IDE Arduino. Nous devons nous assurer que nous disposons des bibliothèques suivantes :
- Adafruit_ILI9341: Il s'agit de la bibliothèque principale pour piloter les écrans ILI9341 avec Arduino.
- Adafruit_GFX: Cette bibliothèque permet de créer facilement des graphiques de base tels que des lignes, des cercles, des rectangles, etc.
Pour installer ces bibliothèques, ouvrez l'IDE Arduino et accédez à Programme > Inclure la bibliothèque > Gérer les bibliothèques recherche ILI9341 pour installer la bibliothèque correspondante. Cherchez également la librairie Adafruit GFX et assurez-vous d'installer le bon.
Étape 3 : Testez l'écran TFT avec un exemple basique

Une fois les bibliothèques installées, il est temps de tester l'écran pour s'assurer que tout est correctement connecté et fonctionne. L'IDE Arduino comprend un exemple très complet qui nous sera d'une grande aide. Chargeons le test graphique:
- Ouvrez l'IDE Arduino.
- Aller à Fichier > Exemples > Adafruit_ILI9341 > test graphique.
- Compilez et téléchargez l'exemple sur votre Arduino.
Si tout s'est bien passé, vous devriez voir une série de graphiques montrant différents types de lignes, de formes et de couleurs à l'écran.
Étape 4 : Créer un projet pratique : Afficher les valeurs analogiques sur l'écran ILI9341
[amazon box=”B0C8V88Z9D, B0798N2HHW” items=”2″ grid=”2″ image_size=”large” description_items=”0″ template=”widget”]
L'un des premiers projets que nous pouvons réaliser avec cet écran est d'afficher la valeur d'une entrée analogique, comme la tension d'un potentiomètre. Pour cela, nous utiliserons les broches d'affichage que nous avons déjà connectées, ainsi qu'un potentiomètre connecté à l'entrée analogique A0 de l'Arduino.
Le code suivant montre comment lire la valeur analogique du potentiomètre et l'afficher à l'écran :
#include
#include
#include
#define TFT_DC 9
#define TFT_CS 10
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
void setup() {
tft.begin();
tft.setRotation(1);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
}
void loop() {
int val = analogRead(A0);
float voltage = val * (5.0 / 1023.0);
tft.setCursor(60, 30);
tft.print("Voltaje: ");
tft.print(voltage);
delay(500);
}
Ce programme lit en permanence la tension et l'affiche à l'écran au format texte. Si vous tournez le bouton du potentiomètre, vous devriez voir le changement reflété sur l'écran presque immédiatement.
Ajout d'un bouton sur l'écran tactile ILI9341
En plus d'afficher des informations, l'écran ILI9341 dispose également d'une capacité tactile s'il est équipé du contrôleur XPT2046. Créons un exemple simple qui montre comment détecter les contacts sur l'écran.
Tout d’abord, nous devons établir les connexions du contrôleur tactile de l’écran. Les broches principales du contrôleur tactile sont :
- TOUCH_CS: Broche 10.
- TOUCH_IRQ: Broche 2.
Après avoir effectué ces connexions, nous utiliserons la bibliothèque XPT2046_Écran tactile pour détecter les touches. Ci-dessous je vous laisse un code qui affiche un bouton sur l'écran, qui change de couleur à chaque pression.
#include
#include
#include
#include
#define TFT_DC 9
#define TFT_CS 10
#define TOUCH_CS 10
#define TOUCH_IRQ 2
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
XPT2046_Touchscreen ts(TOUCH_CS, TOUCH_IRQ);
void setup() {
tft.begin();
ts.begin();
tft.setRotation(1);
tft.fillScreen(ILI9341_BLACK);
tft.fillRect(50, 160, 100, 50, ILI9341_RED);
tft.setCursor(75, 175);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
tft.println("BOTON");
}
void loop() {
if (ts.touched()) {
TS_Point p = ts.getPoint();
if (p.x >= 50 && p.x <= 150 && p.y >= 160 && p.y <= 210) {
tft.fillRect(50, 160, 100, 50, ILI9341_GREEN);
tft.setCursor(75, 175);
tft.println("PULSADO");
}
}
}
Le code détecte si le bouton a été enfoncé et change sa couleur du rouge au vert. Vous pouvez également personnaliser la position et la taille du bouton selon vos besoins.
Il est essentiel de s'assurer que l'écran est correctement calibré afin que les touches correspondent correctement aux coordonnées de l'écran. Si vous remarquez que la réponse tactile n'est pas précise, un calibrage lié à la résolution de l'écran peut être nécessaire.