probleme esp8266 avec module carte SD

Bonjour à tous,
Je rencontre un problème avec un esp8266 node mcu 12_f acheté ici et un module carte sd acheté ici.
J’essaie d’écrire sur la carte sd mais la procédure ne fonctionne pas.
J’ai essayé le module carte sd avec un Arduino uno et tout fonctionne très bien.
J’utilise la version ide Arduino 1.8.13 sous Windows 10.
Le module carte sd est alimenté par une alimentation externe 5v en branchent en commun sur la breadboard le GND de l’esp et de l’alimentation.
Voici le code :

#include <SPI.h>
#include <SD.h>
File monFichier;

void setup() {
 
  Serial.begin(115200); // vitesse du moniteur serie
  while (!Serial) {
    ; // attend que le port série se connecte. Nécessaire uniquement pour le port USB natif
  }


  Serial.print("Initialisation de la carte SD ...");

  if (!SD.begin(15)) {
    Serial.println("Initialisation échouée!");
    while (1);
  }
  Serial.println("initialisation terminée.");

  // ouvre le fichier. notez qu'un seul fichier peut être ouvert à la fois,
  // donc vous devez fermer celui-ci avant d'en ouvrir un autre.
  monFichier = SD.open("test.txt", FILE_WRITE);

  // si le fichier s'est bien ouvert, écrivez-y:
  if (monFichier) {
    Serial.print("Ecriture dans test.txt ...");
    monFichier.println("test 1, 2, 3.");
   // ferme le fichier:
    monFichier.close();
    Serial.println("terminé.");
  } else {
   // si le fichier ne s'est pas ouvert, affiche une erreur:
    Serial.println("erreur lors de l'ouverture de test.txt");
  }

// rouvre le fichier pour lecture:
  monFichier = SD.open("test.txt");
  if (monFichier) {
    Serial.println("test.txt:");

    
// lit le fichier jusqu'à ce qu'il n'y ait rien d'autre:
    while (monFichier.available()) {
      Serial.write(monFichier.read());
    }
 // ferme le fichier:
   monFichier.close();
  } else {
    // si le fichier ne s'est pas ouvert, affiche une erreur:
    Serial.println("erreur lors de l'ouverture de test.txt");
  }
}

void loop() {
  // nothing happens after setup
}

Ce que m’affiche le moniteur serie :
--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Soft WDT reset

stack>>>
ctx: cont
sp: 3ffffdc0 end: 3fffffc0 offset: 01a0
3fffff60: 3fffdad0 3ffee46c 3ffee46c 402011bd
3fffff70: 53444653 fe000f00 003d0900 feef0001
3fffff80: feefeffe feefeffe feefeffe feefeffe
3fffff90: feefeffe feefeffe feefeffe feefeffe
3fffffa0: 3fffdad0 00000000 3ffee494 40206550
3fffffb0: feefeffe feefeffe 3ffe8520 40100bfd
<<<stack<<<

--------------- CUT HERE FOR EXCEPTION DECODER ---------------
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 3584, room 16
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld
Initialisation de la carte SD …Initialisation échouée!

Je suis perdu, si une âme charitable peut m’éclairer.
Merci à tous.
PS c’est mon premier sujet ne soyez pas trop dure avec moi :wink:

Bonjour

Même si parfois le code pour UNO fonctionne tel quel , mieux vaut tenir compte des spécificités des diverses cartes !!

Commencer par virer ce bout de code qui ne présente pas d'intérêt dans le cas d'un esp8266 et peut le planter si la boucle d'attente dure trop longtemps.

 while (!Serial) {
    ; // attend que le port série se connecte. Nécessaire uniquement pour le port USB natif
  }

Pour le signal de sélection je préfère utiliser D4 (GPIO2) et évite dans le mesure du possible de jouer avec la pin D8 (GPIO15) qui joue un rôle particulier et pour cette raison est tirée à la masse par une résistance voire soudée à la masse sur certaines cartes.

Merci al1fch

J'ai suprimé la ligne de code et changé de pin comme tu me l'a conseillé mais le résultat est le même.
Noté pour le (GPIO15).

En prenant une carte formatée et l'exemple listfiles pris dans les exemples dédiés ESP8266
Fichiers/Exemples/SD(ESP8266) c'est pareil ?

Un autre périphérique est-il raccordé sur le port SPI ?

j'ai formater à nouveau mes cartes sd, ca ne change rien et je n'ai rien d'autre de racordé sur le spi.

Par contre je vois partout que la plupart des esp son monté avec la CP2102 alors que mon model est équipé de la
CH340G.
Es que ça pourrait venir de là?
PS: en essayant l'exemple listfiles rien ne s'affiche dans le moniteur serie.

Par contre je vois partout que la plupart des esp son monté avec la CP2102 alors que mon model est équipé de la
CH340G.
Es que ça pourrait venir de là?

Non, une mauvaise configuration de puce d'interface USB donnerait un échec de téléversement.

PS: en essayant l'exemple listfiles rien ne s'affiche dans le moniteur serie.

Si le moniteur n'affiche plus d'erreur d'initialisation de la carte c'est déjà ça de gagné !!
Des fichiers sont-ils présents sur la carte SD ? sans eux la liste est vide

Bonjour al1fch merci encore pour tes réponses.

Non la carte sd est bien vide même après la compilation du code. J'ai fait l'essai avec un autre esp (commande d'un lot de 3) ça fait la même chose. Je ne sais plus ou chercher. Je vais peut être changer mon fusil d'épaule.