Impossible de lire ma carte SD (Arduino Mega 2560) [Résolu]

Bonjour à tous,
J'ai un projet consistant à enregistrer des données d'une photorésistance sur une carte micro SD. Pour ce faire, j'ai utilisé les éléments suivants:

  • un lecteur de micro sd (marque Catalex)
  • un micro SD SanDisk 16 go
  • Arduino Mega 2560 (Elegoo)
  • une photorésistance

Pour le branchement du lecteur SD à l'arduino, j'ai suivi le même que celui utilisé dans ce lien:

--> MOSI - pin 51

--> MISO - pin 50

--> CLK - pin 52

--> CS - pin 53

Le code pour l'utilisation du lecteur SD est le suivant :

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

File myFile;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  pinMode(53, OUTPUT);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.print("Initializing SD card...");

  if (!SD.begin(53)) {
    Serial.println("initialization failed!");
    while (1);
  }
  Serial.println("initialization done.");

  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  myFile = SD.open("test.txt", FILE_WRITE);

  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
    // close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }

  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");

    // read from the file until there's nothing else in it:
    while (myFile.available()) {
      Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

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

Malheureusement, à chaque fois que j'exécute le code, j'ai le message d'erreur suivant:
"Initializing SD card...initialization failed".

Comment resoudre le problème? Merci d'avance

Bonjour

je suppose que vous avez bien aussi connecté l'alimentation et le GND à votre carte SD ? (on sait jamais ;D )

  • il vaut mieux utiliser la libraire SDFat qui est plus robuste

  • comment est formatée la carte SD ? éventuellement utiliser SDFormatter pour l'effacer et la formater

  • pas besoin du   pinMode(53, OUTPUT);

  • vous pouvez communiquer à 115200 au lieu de 9600 sans aucun soucis, changez  Serial.begin(9600); pour  Serial.begin(115200);(et changez la vitesse dans votre console série)

jetez un oeil à l'exemple ReadWrite et essayez de le voir s'il fonctionne (et vous pouvez vous en inspirer, il y a aussi plein d'autres exemples de log)

Merci pour ton retour. J'ai bien connecté le GND à la masse et l'alimentation à 5V :slight_smile:
J'ai formatté la carte sous Windows 10 en FAT32. Cependant j'ai installé la librairie "SDFat" comme tu l'as suggéré et j'ai essayé de le formatter en utilisant le code " SDFormatter" . Malheureusement, j'ai obtenu l'erreur suivante :

"SD initialization failure!
Is the SD card inserted correctly?
Is chip select correct at the top of this program?
error: card.begin failed
SD error: 43,ff"

Dans le code, j'ai modifié le "chipSelect = 53". Du coup, je ne sais pas si le problème vient du lecteur ou de la carte?

Merci d'avance

La carte est elle glissée dans le bon sens dans le lecteur et bien enclenchée ?

Lisez aussi ce que @al1fch dit ici

Oui la carte a été mis dans le bon sens. Mais je pense que le problème vient plutôt du lecteur de la marque catalex. Car après maintes vérification, le câblage est OK. J'ai même acheté et utilisé plusieurs Micro SD mais impossible de les lire.
J'aimerais acheter un autre lecteur SD. Quelle marque me suggeriez vous?
Merci d'avance

pour ma part j'achète sur Ebay us des lecteur micro SD a 1€ pcs et aucun souci, du coup quand j'en prends , je prends des lot de 5, mais pour allez plus vite vous pouvez trouver la memechose sur Ebay.fr ou amazon. par ex

Idem j’en ai commandé des lot de 5 sur eBay il y a une moment pour 2 euros par lot livraison comprise (en micro et normal) - pas de soucis mais c’est du “no-name” (pas de marque)

Bonjour à tous et désolé pour ce long silence. Finalement, j'ai commandé des lecteurs SD sur Amazon qui fonctionne très bien et qui sont pourtant de la même marque CATALEX. Après vérification, j'ai compris que mon ancien lecteur SD était HS (peut être grillé).
Merci pour votre soutien :slight_smile: