Écriture sur carte SD

Bonjour,

Je suis en train d’essayer de réaliser une écriture simple sur une carte SD. J’utilise une arduino mega et un microSD Shield (RFD22130) ainsi qu’une carte SD qui possède 2 partitions, 1 qui fonctionne sous windows et l’autre à laquelle windows n’a pas accès. C’est dans le cadre de mon stage donc je dois faire avec ce que je viens de citer.

J’ai réussi jusqu’ici a lire un document.txt sur le moniteur en serie, l’étape suivante est donc l’écriture. Je rencontre 2 problèmes a l’heure actuelle. Le premier est mineur mais j’aimerais y trouver une solution. Quand je veux téleverser un programme ou faire un reset afin que le programme se relance, il ne détecte plus la carte SD, je suis alors obligé de la sortir puis la remettre dans le shield pour que ca remarche, voilà le premier problème.
Le second est l’écriture, le programme, que je mettrais après, valide l’écriture du message dans mon fichier texte, cependant en remettant la SD comportant le fichier sur mon ordinateur le fichier est vide, 2eme tentative sans aucun changement du programme ou du montage, il met 2 secondes de plus pour valider l’action de l’écriture, sauf que cette fois il a formatter la carte SD.
Si quelqu’un pourrait m’aider sur ces 2 problèmes.
Merci bien a vous !

#include <SD.h>
#include <SPI.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 Leonardo only
 }

 Serial.print("Initializing SD card...");
 // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
 // Note that even if it's not used as the CS pin, the hardware SS pin 
 // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
 // or the SD library functions will not work. 
 pinMode(10, OUTPUT);
 
 if (!SD.begin(4)) {
 Serial.println("initialization failed!");
 return;
 }
 Serial.println("initialization done.");
 
 myFile = SD.open("test.txt", FILE_WRITE);
 if (myFile) {
 Serial.print("Writing to test.txt...");
 myFile.println("testing 1, 2, 3.");
 myFile.close();
 Serial.println("done.");
 } else {
 Serial.println("error opening test.txt");
 }
 
}

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

Bonjour et Bienvenue

Je te conseille un petit tour en direction des Règles du Forum pour y découvrir où poser les questions, quelels infos fournir, comment publier du code....

Utilises le lien 'report to Moderator' pour demander le déplacement du fil de discussion au bon endroit, ce sous-forum (cf titre) est exclusivement dédié à la publication et la consultation de tutoriels et de cours.

A+

Sujet déplacé...

Sujet déplacé...

C'est vrai que c'est un peu déplacé comme demande. Voir https://forum.arduino.cc/index.php?topic=716394.0