// Inclusion des bibliothèques nécessaires
#include <Adafruit_GFX.h> // Bibliothèque graphique de base
#include <Adafruit_ILI9341.h> // Pilote pour écran avec contrôleur ILI9341
// Définition des broches utilisées pour connecter l'écran à la carte
#define TFT_CS D3 // Broche CS (Chip Select)
#define TFT_DC D5 // Broche DC (Data/Command)
#define TFT_RST D4 // Broche RST (Reset)
// Dimensions de l'écran en mode paysage (rotation 2)
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
// Création de l'objet écran en utilisant les broches définies
Adafruit_ILI9341 screen(TFT_CS, TFT_DC, TFT_RST);
void setup() {
// Initialisation de l'écran
screen.begin();
// Orientation de l'écran : paysage, connecteur à gauche
screen.setRotation(1);
// Remplissage de tout l'écran en noir (efface ce qu'il y avait avant)
screen.fillScreen(ILI9341_BLACK);
// Définition de la couleur du texte (blanc)
screen.setTextColor(ILI9341_WHITE);
// Définition de la taille du texte (2 fois plus grand que la taille standard)
screen.setTextSize(2);
// Déclaration du message à afficher
String message = "Hello World";
// Variables pour stocker les dimensions et position du texte
int16_t x1, y1; // Position du coin haut gauche réel du texte
uint16_t w, h; // Largeur et hauteur du texte
// Calcul de la taille et de la position exacte du texte
// Cela permet de centrer le texte précisément
screen.getTextBounds(message, 0, 0, &x1, &y1, &w, &h);
// Calcul des coordonnées pour centrer le texte (horizontalement et verticalement)
int x = (SCREEN_WIDTH - w) / 2 - x1;
int y = (SCREEN_HEIGHT - h) / 2 - y1;
// Positionnement du curseur à l'endroit calculé
screen.setCursor(x, y);
// Affichage du message (sans retour à la ligne)
screen.print(message);
}
void loop() {
// Boucle principale vide : rien à faire ici
}
Loading
xiao-esp32-c3
xiao-esp32-c3