Problème d'écriture sur une carte SD

Bonjour, avant d’exposer le problème, je tiens à préciser que je suis un débutant dans l’univers d’Arduino.
Mon projet est d’enregistrer les valeurs d’une sonde de température dans un fichier texte stocker sur la carte SD. Mais n’ayant aucune base j’ai commencé par réaliser un programme plus simple.

#include <SD.h>
#include <SPI.h>

File monFichier;

void setup() {
  // on initialise la communication 
  Serial.begin(9600);
  Serial.println("Initialisation de la carte SD...");
  
  SPI.beginTransaction(SPISettings(9600, MSBFIRST, SPI_MODE0));
  

  if (!SD.begin(4))
  {Serial.print("Initialisation de la carte SD à échoué...");
  return;
  }
  Serial.print("Initialisation réussie");

  monFichier= SD.open("test.txt",FILE_WRITE); // On l'ouvre en mode d'écriture 

  if (monFichier) { // Si fichier bien ouvert 
    Serial.print("En train d'écrire dans le fichier .txt");
    monFichier.println("J'écris une ligne dans le fichier");
    monFichier.close();
    Serial.println("Fait");
  }
  else{ // sinon 
    Serial.println("Erreur erreur de l'ouverture de test.txt");
  }
}

void loop() {
  // put your main code here, to run repeatedly:

}

Lorsque j’ouvre le moniteur, j’ai “Initialisation de la carte SD à échoué”

Pour le projet j’utilise une Arduino UNO Rev2 avec module wifi et pour le module SD c’est celui-ci.

J’ai connecté les bornes du module SD ( GND, VCC, MISO, MOSI, SCK,CS) aux bornes de l’Arduino ( GND, 3.3V, 12, 11, 13, 4).

Si vous avez une solution je suis preneur.
Merci par avance.

L'origine du problème peut être tout simplement la SD elle-même.
Il faut en essayer plusieurs.
Une Sandisk Extreme SDHC donne de bons résultats.
La Kingston SDHC 4Gb est moins fiable.
D'autres ne marchent pas du tout.

Le lien sur le lecteur de carte SD

Dans Description du produit, il est indiqué
DONNÉES TECHNIQUES
Tension d'alimentation : 5V

Cela ne correspond pas à

J'ai connecté les bornes du module SD ( VCC,) aux bornes de l'Arduino ( 3.3V, ).

Effectivement ça peut être gênant.

Également très utile : un condensateur 10µF entre VCC et GND du module SD.

Merci de vos retour,

Pour l’alimentation j’ai essayé d’alimenté en 3.3V et en 5V, mais rien n’a changé.

Pour la carte SD j’utilise une Sandisk ultra 16 Go. Je vais essayer avec une autre pour voir. Même si celle-ci est neuve.

Pour le condensateur je vais essayer voir si cela fonctionne. Le condensateur servirait à quoi ?

Découpler (filtrer) l'alimentation du module SD.

Bonjour à tous,

J'ai essayer avec le condensateur comme tu me l'as indiqué. Mais cela une fonctionne pas. Je ne parviens pas à le faire fonctionner.

D'autres idées ?

As-tu essayé d'alimenter en 5V comme suggéré par vileroi ?

Le régulateur du module SD est un AMS1117. Il provoque une chute de tension de plus de 1V.
Avec 3.3V il ne doit pas rester grand chose.

En tout cas, avec le programme donné, chez moi cela fonctionne (avec la broche 10 au lieu de 4).

J'en profite pour demander l'utilité de:
SPI.beginTransaction(SPISettings(9600, MSBFIRST, SPI_MODE0));

j'ai essayé avec toutes le vitesses du monde, c'est pareil. Si je ne mets pas cette ligne cela fonctionne aussi.