Faire marcher un lecteur de carte SD Lc Studio

Bonjours/Bonsoirs à tous, J’ai récemment fait l’acquisition d’un lecteur de carte SD de chez LC Studio acheté sur Ebay.
Un comme celui ci :
!(http://i.ebayimg.com/t/New-SD-Card-Module-Slot-Socket-Reader-LC-Studio-3-3-5V-For-Arduino-ARM-MCU-NEW-/00/s/NjAwWDYwMA==/$(KGrHqR,!iIE+94pEfysBQGV+s!MJw~~60_35.JPG)

Je dispose d’un arduino Mega 2560, j’ai brancher directement le lecteur de carte a l’Arduino
le Gnd sur le Gnd
le +3v3 sur le 3v3 de l’arduino
le MISO sur le 50
le SCK sur le 52
le MOSI sur le 51
le CS sur le 53

Je dispose de 4 cartes SD tous de fabricants différents:

  • 8Go FAT32 Classe 4
  • 4Go FAT32 Classe 4
  • 1Go FAT16 Classe 2
  • 1Go FAT16 Classe 2

J’utilise la librairie Officiel SD.
Le problème est que je n’arrive pas a le faire fonctionné à 100% (la il marche une fois sur 50) des fois j’ai des fichier bizard complètement corrompus obliger de reformater la carte.

J’ai le code :

#include <SD.h>

const int chipSelect = 53;
int x = 0;
void sleep()
{
   Serial.println("Press Key");
   while (Serial.read() >= 0) {}
   while (Serial.read() <= 0) {}
}
void setup()
{
  Serial.begin(9600);
  sleep();

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

  pinMode(53, OUTPUT);
  
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    sleep();
  }
  Serial.println("card initialized.");
  delay(1000);
}

void loop()
{
  File dataFile = SD.open("datalog.txt", FILE_WRITE);

  if (dataFile) {
    dataFile.println(x);
    dataFile.close();
    // print to the serial port too:
    Serial.println(x);
  }  
  else {
    Serial.println("error opening datalog.txt");
  }
  if(Serial.read() > 0)
    sleep();
    
  x++;
  delay(1000);
}

Sois j’ai Card failed, or not present sois “error opening datalog.txt” dans le deuxième cas, j’ai toujours des fichier avec des noms bizard et rien n’est écrit dans le fichier.

Comment résoudre le problème ? je ne pense pas etre le seul à avoir ce lecteur, de plus je pense que plusieurs personne ont réussi a le faire fonctionné.

Merci à vous.
Timiti29

LC Studio c'est fictif, j'ai le même module et sa marche bien (enfin défois la carte sd est mal inséré, un mauvais câblage, ou la définition du Cs oublié).

Je te conseille de changer de chipselect tout en laissant le 53 en output.

Ok, J'ai essayer de change le ChipSelect mais sa ne change rien toujours le meme problème.

Merci encore. timiti29

Je ne connais pas ce module, mais il me semble voir que les entrées sont sur diviseurs de tension, et le 5v sur un régulateur. Avant de tester ce que je dis, attend confirmation, mais si tu utilise la broche 5v plutôt que la 3,3v, tu devrais le faire fonctionner, et avoir la 3,3v comme Vout. Ceci dit, sur ta photo les soudures du slot SD semblent foireuses. Jette un œil aux tiennes, y'a peut être un contact mauvais quelque part.

J'ai ré-essayer de mettre sur le 5v mais sa ne change rien, quand au régulateur il me semble bien fonctionné, il sert juste a transformer le 5v en 3,3V, les 4 résistances sont des résistance de pull-up, (le coté gauche est relié au 3,3v, et le coté droit au signaux MOSI MISO SCK CS) sur la carte tout a l'aire d'etre relié au 3,3v.

L'arduino travaille en 5v, si je me fait un montage intermédiaire avec 4 transistor 2n2222a 6 résistance, pour adapté le signal pour avoir du 3v en sortie marcherais ? (une résistance a la base du transistor avec le signal d'entrée, le collecteur au 3v3, on mais la sortie du signal sur l' émetteur, et une résistance sur l'émetteur au gnd) et on fait ce montage pour les 4 signaux.

quelqu'un pense que sa marcherais ?

ou il y aurais d'autre idée ?

Merci. timiti29

L'intérêt de ce circuit est justement de ne pas avoir à envoyer du 3,3v, mais du 5v. Si ce n'etait pas le cas, tu aurais deja grillé tes cartes sd. Pour mon dernier projet, j'ai soudé directement des connecteurs sur une carte sd, et là j'avais besoin de diviseurs à base de résistances. Le signal DO ne devrait pas passer par une résistance par contre, c'est étrange! Il envoie du 3,3v, si on le rabaissé encore, l'arduino ne peut pas le lire. As-tu testé les cartes depuis cet adaptateur, pour en vérifier le bon formatage? Les soudures sont comment? Si tu as un mauvais contact, ça peut faire n'importe quoi au lieu d'écrire ce que tu veux sur la carte !

Comment vérifier les carte avec cette adaptateur ? les cartes marche bien avec un adaptateur SD usb sur mon ordinateur.

quand aux soudures comment les vérifier ? je ne connais pas les CMS et je débute en électronique

Merci. Timiti29

http://arduino.cc/en/Tutorial/CardInfo

Test ça déjà.

Avac le chipSelect sur 4 Pour la 8G j'ai : Initializing SD card...initialization failed. Things to check: * is a card is inserted? * Is your wiring correct? * did you change the chipSelect pin to match your shield or module?

Pour la 4Go j'ai : Initializing SD card...Wiring is correct and a card is present.

Card type: SDHC

Volume type is FAT32

Volume size (bytes): 3989061632 Volume size (Kbytes): 3895568 Volume size (Mbytes): 3804

Files found on the card (name, date and size in bytes):

Pour une 1Go : Initializing SD card...initialization failed. Things to check: * is a card is inserted? * Is your wiring correct? * did you change the chipSelect pin to match your shield or module?

Pour l'autre : Initializing SD card...Wiring is correct and a card is present.

Card type: SD1

Volume type is FAT16

Volume size (bytes): 986693632 Volume size (Kbytes): 963568 Volume size (Mbytes): 940

Files found on the card (name, date and size in bytes):

J'ai beau reformatter la 8Go et la 1Go mais sa change pas. la carte 8Go est neuve, je l'est acheter il y a moins d'une semaine

Merci Timiti29

Edit : Si je mais le chipSelect du 53 (au niveau software et hardware) tout a l'aire de marcher : Initializing SD card...Wiring is correct and a card is present.

Card type: SD1

Volume type is FAT16

Volume size (bytes): 1027817472 Volume size (Kbytes): 1003728 Volume size (Mbytes): 980

Files found on the card (name, date and size in bytes):

Initializing SD card...Wiring is correct and a card is present.

Card type: SDHC

Volume type is FAT32

Volume size (bytes): 3635109888 Volume size (Kbytes): 3549912 Volume size (Mbytes): 3466

Files found on the card (name, date and size in bytes):

Initializing SD card...Wiring is correct and a card is present.

Card type: SDHC

Volume type is FAT32

Volume size (bytes): 3989061632 Volume size (Kbytes): 3895568 Volume size (Mbytes): 3804

Files found on the card (name, date and size in bytes):

Initializing SD card...Wiring is correct and a card is present.

Card type: SD1

Volume type is FAT16

Volume size (bytes): 986693632 Volume size (Kbytes): 963568 Volume size (Mbytes): 940

Files found on the card (name, date and size in bytes):

Hello,

J'ai aussi eu ce souci il n'y a pas longtemps J'ai pu resoudre ca simplement en suivant les instructions ici http://www.instructables.com/id/Arduino-DIY-SD-Card-Logging-Shield/

Donc pour resumer il faut connecter le +5v et pas le 3.3v (il y a un convertisseur pour le courant dans le module) Par contre les entrées logiques ne sont pas converties en 3.3v, ca arrive donc en 5v dans la SD et elle n'aime pas l'auteur de l'article resoud le probleme avec un 4050, c'est aussi ce que j'ai fait et ca marche d'enfer Chez snootlab ils ont aussi regle le probleme avec des resistances (pont diviseur de tension) ca marche aussi mais faut calculer les valeurs ;)

Bonne chance :)

les résistances CMS de 10k servent a faire chuter la tension logique justement, je l'ai utilisé souvent sans sentir une odeur d’électronique "cramé"..

J'ai essayé avec un 4049, car je n'est pas de 4050, et si j'en achete un je l'aurais que dans 2-3 semaines ... J'ai mis les inverseurs en série par pair pour avoir une porte OUI. le résultat était décevant, sa na pas marcher, c'était pire, rien ne marche avec.

J'ai fait le branchement : carte sd 4049 Arduino Sortie Entrée GND VSS GND +5v +3,3V MISO 50 SCK 6 / 9 SCK du port ICSP MOSI 4 / 11 MOSI du port ICSP CS 2 / 14 53

le 10 et le 7 sont relié le 12 et le 5 sont relié le le 15 et le 3 sont relié

Pourquoi sa ne marche pas ? quand je fait à la main sa marche bien, quand je mais du 5v en entrée j'ai bien du 3,3v et quand je mais au GND j'ai bien 0v

Merci Timiti29

PS j'ai : Initializing SD card...Card failed, or not present Press Key

Hey, quelqu'un n'a pas une idée ? car je n'est toujours pas avancé d'un poil.

Merci. timiti29

Pourquoi sa marche pas ? sa commence à m'énerver, je comprend pas pourquoi des fois sa marche et d'autres non. sil-vous plais, aidez moi !

Merci Timiti29

Hey, je vais acheté un CMOS 4050 pour voir si sa marche, mais vus comme c'est partit je ne sais pas du tout si sa va marcher, Si vous avez des propositions je suis preneurs, sinon je vous tiendraient au courant du fonctionnement de ce lecteur. timiti29

Preneur de solution ? faire sa shield SD soit même, donne moi un peut de temps je pense avoir une idée.

Salut, alors cette idée, c'est quoi exactement ?

Je devrais avoir mes 4050 aux alentours du 1er Juin

Merci Timiti29

Edit, Je vient de recevoir les CD4050, plus tôt que prévus, c'est génial, j'ai pus essayer le montage proposée. Maintenant, tout marche impeccable ! J'ai essayer tout les sketch de la librairie officiel SD, avec toutes mes cartes SD et les pin de chip Select différente, et tou marche bien.

ceci dit, je remercie toute les personnes qui on participé ce topic et qui mon dirigée vers ce composant.

Enfin, Si quelqu'un d'autres solutions / astuce, je suis preneur.

Merci encore à tous.