Salut ! Je travaille avec une carte ESP32 et une Micro-SD Breakoutboard.
J'ai lancé le code suivant :
#include <SPI.h>
#include <SD.h>
File myFile;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("Initializing SD card...");
if (!SD.begin(4)) {
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
}
Et malheureusement, toujours je me retrouve avec ce message dans le moniteur série : "initialization failed!". Et donc je ne parviens pas à travailler avec ma carte SD.
Je pense que c'est mon câblage qui ne doit pas être bon. J'ai soudé le tout et normalement je me suis pas trompé au niveau des broches (image câblage).
Mais j'ai peut-être mal soudé le câble jaune MOSI to broche23 (regarder deuxième image).
Est-ce que j'ai bien raison et le soudage de ce câble jaune est mal réalisé ou est-ce que le problème vient d'ailleurs ?
une photo d'un petit dessin tracé au crayon et à la règle avec un rectangle pour les composants et le noms des broches utilisées (pas forcément mise à l'endroit exact de la vraie puce) + info sur l'alimentation
Pardon j'ai envoyé le mauvais code...
Voici le bon :
/*
https://www.electronicwings.com/
SD Card Interface code for ESP32
SPI Pins of ESP32 SD card as follows:
CS = 5;
MOSI = 23;
MISO = 19;
SCK = 18;
*/
#include <SPI.h>
#include <SD.h>
File myFile;
const int CS = 5;
void WriteFile(const char * path, const char * message){
// 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(path, FILE_WRITE);
// if the file opened okay, write to it:
if (myFile) {
Serial.printf("Writing to %s ", path);
myFile.println(message);
myFile.close(); // close the file:
Serial.println("completed.");
}
// if the file didn't open, print an error:
else {
Serial.println("error opening file ");
Serial.println(path);
}
}
void ReadFile(const char * path){
// open the file for reading:
myFile = SD.open(path);
if (myFile) {
Serial.printf("Reading file from %s\n", path);
// read from the file until there's nothing else in it:
while (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close(); // close the file:
}
else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
}
void setup() {
Serial.begin(9600); // Set serial baud rate to 9600
delay(500);
while (!Serial) { ; } // wait for serial port to connect. Needed for native USB port only
Serial.println("Initializing SD card...");
if (!SD.begin(CS)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
WriteFile("/test.txt", "ElectronicWings.com");
ReadFile("/test.txt");
}
void loop() {
// nothing happens after setup
}
Milles excuses, j'ai introduit la confusion en citant mon lecteur 5V, cette information était inutile dans le contexte.
Ton lecteur est en 3.3V et c'est ainsi qu'il doit fonctionner, il n'y a rien à changer
Si ton lecteur ne fonctionne pas, c'est que lecteur est soit mort ou un problème de câblage ou que ta carte SD n'est pas ou mal formattée. Quel est le formatage de cette carte?
As tu essayé de créer un fichier texte sur cette carte?