The same post in English at http://arduino.cc/forum/index.php/topic,125973.new.html#new
Bonjour à tous,
Lorsque j'ai commencé à travailler sur ce lecteur de carte SD, je pensais en avoir pour une quinzaine de minute à lancer le tout et quelque heures pour maitriser l'ensemble des fonctionnalités offertes par la libraire SD.h.
Sans doute y a t-il une info qui m'échappe car j'y suis depuis des heures et rien ne fonctionne. Pour le simple test de carte, j'obtiens invariablement le message suivant sur le mini terminal :
Initialisation de la carte SD... Echec de l'initialisation. Penser à vérifier les points suivants :
* Une carte SD est-elle insérée ?
* Votre câblage est-il correct ?
* Avez-vous modifié le shipSelct pour correspondre à votre micro-contrôleur ?
Le programme dans l'ATMEGA 2560 de la MEGA est celui fournis en exemple, accessible par Fichier/Exemples/SD/cardinfo de la version 1.0.1 d' ARDUINO.
Le code modifié pour le MEGA devient :
#include <SD.h>
Sd2Card card;
SdVolume volume;
SdFile root;
const int chipSelect = 6;
//const int chipSelect = 53;
void setup()
{
Serial.begin(9600);
while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only }
Serial.print("\nInitializing 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(53, OUTPUT); // 10 change this to 53 on a mega
pinMode(chipSelect, OUTPUT); // ICI : Tentative avec une autre pin (6) au hasard
if (!card.init(SPI_HALF_SPEED, chipSelect)) { Serial.println("initialization failed. Things to check:");
...
etc
J'ai fais un échange de carte MEGA,... un échange de carte SD (64Mo au départ et 32Go en second choix),... un echange de pin pour le Chip select CS (Pin 53 à la base pour le MEGA puis Pin 6 au hasard ensuite), puis fini vu le signal scope par mettre CS à la masse en hard,... J'alimente les cartes avec l'USB et comme on peut le voir sur les scopes, les tensions restent à peu près stable et nominales,... j'ai alimenté en 5 ou en 3,3V.
Je n'ai pas mis de résistance et de transistor d'adaptation 5V/3,3V et 3,3V/5V comme on le voit parfois sur le net. Je ne suis pas sans savoir que 70% à 90% de ce que l'on trouve sur la toile est à jeter mais je m'attend à beaucoup mieux de la part d'électroniciens, même amateurs.
La connectique est la suivante :
MEGA pin 50 --> miso (Master In) du lecteur de carte "LC studio"
MEGA pin 51 --> mosi (Master Out)
MEGA pîn 52 --> sck (Serial Clock)
MEGA pin 53 NC au final
MEGA pin 6 --> CS (Chip Select) puis à rien au final (CS lecteur à la masse)
Au Final,... le sempiternel message d'échec ci-dessus rappelé.
J'ai entrepris de cerner le problème avec un oscilloscope dont je livre quelques captures ci-dessous.
Ce qui m'étonne dans un premier temps est la différence de timing entre la pin 6 que j'ai sélectionne pour CS en programme et la réponse de la pin 53. (1ier scope)
En second, l'aspect du signal pin 6 en charge sur CS de la carte SD (quelle qu'elle soit).(2ième scope)
On voit sur le 4ième scope que l'horloge série est envoyée. Sur le 5ième et 6iémé que l'alim 3,3V ou bien 5V est à peut près correcte.
On voit sur le 7ièmé scope que l'Atmega entame une transaction avec la SD card (MOSI en pin 51).
On voit sur les 8ième et 9ième scopes que la SD répond sur MISO et le détail des mots échangés en scopes 10 & 11.
On peut trouver une expérience quasi similaire (avec un DueMilaNove) ici : http://electroniqueamateur.blogspot.fr/2012_06_01_archive.html mais en ce qui me concerne, bien que la carte SD puisse être indifféremment mise d'une face ou de l'autre, j'ai préféré mettre les bornes de la SD en contact avec les... contacts.
L'ordi que j'utilise est sous Windows 7. Il m'a servi a formater mes cartes SD en FAT,... FAT 16 par défaut d'indication j'imagine.
Je suis preneur de toute info nouvelle, de résultat d'expérience ou d'idée constructive et vous en remercie par avance.
Cordialement.
NB :bon descriptif du lecteur : http://babelduck.com/index.php/en/reference/user-manuals/1422-sd-card-module-user-manual