#include <SPI.h>
#include <SD.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include <Adafruit_ImageReader.h>
// Définition des pins pour l'écran TFT
#define TFT_CS 10
#define TFT_DC 9
#define TFT_RST 8
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);
Adafruit_ImageReader reader; // Instancie le lecteur d'images
// Défini la carte SD
#define SD_CS 4 // Pin CS pour la carte SD
void setup() {
Serial.begin(115200);
tft.begin();
if (!SD.begin(SD_CS)) {
Serial.println("Erreur de la carte SD");
return;
}
Serial.println("Carte SD initialisée");
// Charger et afficher l'image BMP
displayImage("image.bmp");
}
void loop() {
// Rien à faire dans la boucle principale pour afficher l'image
}
void displayImage(const char *filename) {
// Ouvre le fichier BMP sur la carte SD
File imageFile = SD.open(filename);
if (!imageFile) {
Serial.print("Erreur d'ouverture de fichier: ");
Serial.println(filename);
return;
}
// Utilise la bibliothèque ImageReader pour afficher l'image
ImageReturnCode stat = reader.drawBMP(filename, tft);
if (stat != IMAGE_SUCCESS) {
Serial.print("Erreur de lecture BMP: ");
Serial.println(stat);
}
imageFile.close(); // Ferme le fichier après lecture
}
//=======================================================================================