Bonjour à tous,
Je rencontre un problème avec la détection de ma carte SD sur un module ESP32 MSP4030 (écran TFT 4.0" avec slot SD intégré).
Configuration matérielle:
- Module: MSP4030 4.0" TFT + ESP32-WROOM-32E
- Carte SD: 16GB microSDHC, formatée FAT32, fonctionne parfaitement sur PC
- Pins utilisés (selon documentation fabricant):
- CS: GPIO 22
- MOSI: GPIO 13
- MISO: GPIO 12
- SCK: GPIO 14
- Carte insérée correctement (fait "clic" dans le slot)
Symptôme: SD.begin() retourne systématiquement false. La carte n'est jamais détectée.
Ce que j'ai déjà testé:
Code de test isolé (sans TFT, sans BLE, juste SD)
pinMode(CS, OUTPUT) + digitalWrite(CS, HIGH) avant SD.begin()
Différentes vitesses SPI (4MHz, 1MHz, 400kHz)
Délais de 100ms à 500ms entre les initialisations
SPI.begin() explicite avec pins HSPI
Contacts de la carte nettoyés
Carte réinsérée plusieurs fois
Testé avec et sans TFT_eSPI actif
Bibliothèque SD version 1.2.4 et 2.0.0
Code de test minimal utilisé:
cpp
#include <SD.h>
#include <SPI.h>
#define SD_CS 22
void setup() {
Serial.begin(115200);
delay(2000);
Serial.println("Test SD");
pinMode(SD_CS, OUTPUT);
digitalWrite(SD_CS, HIGH);
delay(100);
if (SD.begin(SD_CS)) {
Serial.println("SD OK");
Serial.printf("Type: %d\n", SD.cardType());
} else {
Serial.println("SD ECHEC");
}
}
void loop() {}
Résultat Serial Monitor:
Test SD
SD ECHEC