SOMMAIRE ►
Un écran couleur TFT LCD de 1,8 ou 2,4 pouces est indispensable pour les projets nécessitant une sortie texte. Par exemple, lors de la création d’une horloge avec réveil ou d’une station météorologique domestique bricolée. Examinons les caractéristiques de l’écran TFT LCD couleur avec SPI et la connexion du module d’affichage 1.8 TFT SPI 128×160 v1.1 à Arduino Uno ou la connexion de l’écran 2.4 TFT 240×320 au microcontrôleur Arduino.
Pour cette activité, nous aurons besoin:
- Arduino Uno / Arduino Nano / Arduino Mega
- afficheur 1.8 TFT LCD 128×160 v1.1
- fils de connexion
Matériel supplémentaire sur ce sujet:
L’écran 1.8 TFT SPI 128×160 pinout, datacheet
Avec une carte Arduino et un écran TFT LCD, il est possible d’afficher un grand nombre d’informations graphiques et textuelles. TFT signifie Thin-film-transistor (transistor à couche mince). Cet écran doit son nom au fait que chaque pixel est constitué d’un condensateur et d’un petit transistor, qui ressemble à une fine pellicule. Ainsi, le contraste de l’écran augmente considérablement, contrairement aux écrans LCD, mais l’angle de vision diminue.

Caractéristiques écran 1.8 TFT ST7735 Arduino
- Tension de fonctionnement: 3,3 – 5V
- Courant de fonctionnement: 90mA
- Diagonale: 1,8 pouces
- Résolution: 128×160
- Technologie: TFT
- Interface: SPI
- Pilotes de la matrice: ST7735
- Nombre de couleurs: 65536
- Dimensions: 50.8×36.6 mm
L’écran graphique couleur TFT de 1,8 pouce a une résolution de 128 x 160 pixels. Le contrôleur ST7735R est responsable du fonctionnement du module d’affichage, qui est capable d’afficher jusqu’à 65 000 couleurs au format RVB. Au dos du module se trouve un support pour la carte SD, qui sert à télécharger des images sur l’écran 1.8 TFT LCD 128×160 v1.1. La connexion au microcontrôleur de la famille Arduino s’effectue via une interface SPI à quatre fils.
Comment brancher 1.8 TFT SPI à l’Arduino

| TFT spi 1.8 | Arduino Uno | Arduino Nano | Arduino Mega |
| LED | 3.3V | 3.3V | 3.3V |
| SCK | 13 | 13 | 52 |
| SDA | 11 | 11 | 51 |
| A0 | 9 | 9 | 9 |
| RESET | 8 | 8 | 8 |
| CS | 10 | 10 | 10 |
| GND | GND | GND | GND |
| VСС | 5V | 5V | 5V |
Connectez l’écran tft via le bus spi à l’Arduino comme indiqué dans le diagramme ci-dessus. Notez que les ports SCK et SDA sur la carte Arduino Mega sont situés sur les ports 52 et 51 respectivement. Pour une première prise en main de l’écran ST7735, il n’est pas nécessaire d’installer des bibliothèques supplémentaires, les bibliothèques standard TFT.h (librairie pour l’écran) et SPI.h (librairie pour le bus spi) sont utilisées dans le programme.
Programme Arduino pour display 1.8 TFT 128×160
#include "TFT.h" #include "SPI.h" #define cs 10 // broche pour la connexion CS #define dc 9 // broche pour la connexion A0 #define rst 8 // broche pour la connexion reset TFT screen = TFT(cs, dc, rst); void setup() { screen.begin(); // couleur de l'écran ( r , g , b ) screen.background(0, 0, 0); // taille de la police screen.setTextSize(1); // couleur du texte de l'écran ( r , g , b ) screen.stroke(255, 255, 255); // afficher un texte à l'écran avec des coordonnées x et y screen.text("Hello, World!", 45, 20); delay(1000); } void loop() { // nettoyage de l'écran d'affichage screen.background(0, 0, 0); // taille de la police screen.setTextSize(2); // changement de couleur du texte en douceur for (int i = 0; i <= 255; i=i+5) { screen.stroke(i, 255 - i, 255); screen.text("Hello, World!", 5, 50); delay(5); } delay(1000); // nettoyage de l'écran d'affichage screen.background(0, 0, 0); // taille de la police screen.setTextSize(4); // défilement de droite à gauche for (int i = 130; i >= -360; i = i - 10) { screen.background(0, 0, 0); screen.stroke(0, 255, 0); screen.text("arduino-france.site", i, 40); delay(5); } delay(1000); }
Explication du code pour display 1.8 TFT 128×160 px Arduino:
- la palette RGB est utilisée pour définir les couleurs de l’écran et du texte;
- screen.setTextSize(1); – définit la taille du texte. La taille 1 correspond à 10 pixels de hauteur, la taille 2 correspond à 20 pixels et ainsi de suite.
L’exemple de programme suivant pour l’écran 1.8 TFT SPI 128×160 v1.1 démontre la possibilité de dessiner diverses formes géométriques sur l’écran en utilisant les commandes de la bibliothèque TFT.h. Les fonctions de cette bibliothèque vous permettent d’afficher des formes avec différents paramètres – couleur du contour, remplissage et taille. Rappelons que l’écran LCD TFT 1,8 possède 128 points horizontalement et 160 verticalement.
Programme Arduino pour dessiner sur l’écran TFT
#include "TFT.h" #include "SPI.h" #define cs 10 // broche pour la connexion CS #define dc 9 // broche pour la connexion A0 #define rst 8 // broche pour la connexion reset TFT screen = TFT(cs, dc, rst); void setup() { screen.begin(); // couleur de l'écran ( r , g , b ) screen.background(255, 255, 255); // couleur du texte de l'écran ( r , g , b ) screen.stroke(0, 0, 0); } void loop() { // dessiner cercle avec un contour noir screen.stroke(0, 0, 0); screen.noFill(); screen.circle(80, 60, 45); delay(500); // dessiner deux cercles avec un remplissage bleu screen.fill(255, 0, 0); screen.circle(60, 50, 7); screen.circle(100, 50, 7); delay(500); // tracer deux lignes noires screen.fill(0, 0, 0); screen.line(56, 35, 70, 38); screen.line(90, 38, 104, 35); delay(500); // dessiner un rectangle en noir screen.fill(0, 0, 0); screen.rect(78, 55, 4, 20); delay(500); // édition d'un point avec des coordonnées différentes screen.stroke(0, 0, 255); for (int i = 65; i <= 95; i++) { screen.point(i, 85); delay(30); } delay(500); // nettoyer l'écran screen.background(255, 255, 255); delay(1000); }
Explication du code dessiner des formes géométriques sur tft:
- commande pour effacer screen.background(); peut être utilisé n’importe où dans le programme.
Description des fonctions de la bibliothèque TFT.h
- screen.begin() – initialise l’écran.
- screen.background(red, green, blue) – la commande efface tout ce qui est affiché à l’écran dans la couleur spécifiée. La fonction est utilisée pour effacer l’écran.
- screen.stroke(red, green, blue) – la commande est appelée avant d’afficher du texte ou de dessiner un objet à l’écran et définit la couleur des lignes et des bordures autour des formes.
screen.noStroke() – après avoir appelé cette commande, les objets n’auront pas de couleur de trait. - screen.fill(red, green, blue) – cette fonction définit la couleur de remplissage des formes.
- screen.noFill() – après l’appel de cette fonction, les formes n’auront pas de couleur de remplissage.
- screen.setTextSize(size) – définit la taille du texte. La taille 1 correspond à 10 pixels de hauteur, la taille 2 correspond à 20 pixels et ainsi de suite.
- screen.text(text, xPos, yPos) – affiche le texte sur l’écran tft aux coordonnées spécifiées.
- screen.point(xPos, yPos) – fonction permettant d’afficher un point aux coordonnées données.
- screen.line(xStart, yStart, xEnd, yEnd) – la fonction dessine une ligne entre deux points.
- screen.rect(xStart, yStart, width, height) – la commande affiche un rectangle à l’écran. Vous devez spécifier 4 arguments dans la fonction, les deux premiers arguments – le coin supérieur gauche de la forme, les deux derniers paramètres – la largeur et la hauteur du rectangle.
- screen.circle(xPos, yPos, radius) – la fonction dessine un cercle sur l’écran, avec le centre spécifié dans la fonction et le diamètre spécifié, qui sera toujours un nombre impair.
- screen.image(image, xPos, yPos) – la commande affiche sur l’écran tft l’image de la carte SD à l’endroit spécifié.
Conclusion. Comme vous l’avez vu, l’écran TFT associé à la carte Arduino permet à l’utilisateur de modifier la couleur de l’écran et du texte affiché, d’utiliser divers éléments graphiques et d’afficher des images provenant de la carte SD. Cette fonctionnalité sera abordée dans le prochain article. Si vous avez encore des questions sur la connexion du 1.8 TFT SPI 128×160 v1.1 à Arduino et son firmware – laissez-les dans les commentaires de cet article.








Bonjour @Admin
Dites moi, n’y aurait-t-il pas un peu de ChatGPT dans cet article ? Ce n’est pas une reproche, je pense que vous avez testé son contenu, mais ai-je juste ou faux ?
Bonne journée
Cordialement
Rémi Arduino
Sinon excellent tuto, pas d’erreurs à première vue. 😉
pas mal, mais le résultat n’est pas exellent
bonjour,Admin
Pourrais-tu faire un programme avec un ILI9341 2,8 pouces 240×320.