Branchement Arduino et 1.8 TFT SPI 128×160

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:

  1. Jeu Tetris sur Arduino avec écran OLED 128×64
  2. Horloge Arduino avec DS3231 et l’écran OLED
  3. Station météo Arduino avec Bluetooth module

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.

L’écran 1.8 TFT ST7735 datacheet
L’écran couleur 1.8 TFT ST7735 datacheet, pinout

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

Connecter 1.8 TFT SPI 128×160 Arduino
Comment connecter 1.8 TFT SPI 128×160 à 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:

  1. la palette RGB est utilisée pour définir les couleurs de l’écran et du texte;
  2. 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:

  1. 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.





4 Replies to “Branchement display 1.8 TFT SPI 128×160 Arduino”

  1. 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.