Les cartes mémoire micro SD sont des supports de stockage très pratiques et très populaires. Elles sont utilisées pour stocker des données, des photos, des vidéos et bien plus encore. Dans cet article, nous allons vous expliquer comment afficher le contenu de votre carte mémoire micro SD. Nous vous expliquerons les différentes méthodes pour afficher le contenu de votre carte mémoire micro SD, ainsi que les avantages et les inconvénients de chaque méthode. Nous vous donnerons également des conseils pour vous assurer que vos données sont en sécurité et que vous pouvez facilement afficher le contenu de votre carte mémoire micro SD.
SD Card : Afficher le contenu de la carte mémoire micro SD
1. Présentation
Ce programme lit et affiche dans le Terminal Série la liste des fichiers et répertoires présents sur une SD-Card
Ce programme utilise les fonctionnalités suivantes :
- Utilise la connexion série vers le PC
- Utilise le module Ethernet Arduino (uniquement pour le connecteur SD Card)
Ressources utiles associées à ce programme :
- La librairie Serial – pour les communications séries entre la carte Arduino et l’ordinateur ou d’autres composants
- La librairie SD – pour utiliser une SD Card
2. Matériel Nécessaire
2.1 L’espace de développement Arduino
- … pour éditer, compiler le programme et programmer la carte Arduino.

2.2 Le matériel suivant pour réaliser le montage associé
- un module Arduino Ethernet ou tout autre module disposant d’un emplacement pour carte mémoire SD.

- une carte mémoire micro-SD

3. Instructions de montage
- La connexion série vers le PC utilise les broches 0 et 1 (via le câble USB)
- Le module Ethernet est à enficher broche à broche sur la carte Arduino
- Connecter broche SCLK du module Ethernet sur la broche 13
- Connecter broche MISO du module Ethernet sur la broche 12
- Connecter broche MOSI du module Ethernet sur la broche 11
- Connecter broche Select Ethernet du module Ethernet sur la broche 10
- Connecter broche Select SD Card du module Ethernet sur la broche 4
- Le module Ethernet est compatible avec la carte Mega via le connecteur ICSP
Pour ce programme, on pourra au préalable créer des fichiers et répertoires sur la SD-Card sur son PC. Un fois fait, on pourra l’utiliser avec le programme décrit ici.
4. Le circuit du montage
Le schéma du montage à réaliser (cliquer pour agrandir)
5. Explication du programme
- Ce programme initialise la SD Card puis lit le contenu du répertoire : tant qu’un contenu existe il est affiché. Si le contenu correspond à un fichier, sa taille est affichée.
- Le déroulement des opérations est affiché dans un Terminal Série
6. Mise en oeuvre du programme
6.1 Préparation du montage et programmation de la carte Arduino :
- Commencer par réaliser le montage indiqué sur plaque d’expérimentation
- Ensuite, programmer la carte Arduino avec ce programme (en bas de page) selon la procédure habituelle
6.2 Préparation du Terminal côté PC dans le logiciel Arduino
- Côté PC, il faut ouvrir la fenêtre terminal de l’IDE Arduino : pour ce faire, un simple clic sur le bouton « Sérial Monitor ».

- La fenêtre « Terminal » s’ouvre alors :

- Il faut alors régler le débit de communication sur la même valeur que celle utilisée par le programme avec lequel nous allons programmer la carte Arduino :

6.3 Fonctionnement
Pour ce programme, on pourra au préalable créer des fichiers et répertoires sur la SD-Card sur son PC. Un fois fait, on pourra l’utiliser avec le programme décrit ici.
- Au lancement, du Terminal Série, le contenu de la SD-Card s’affiche, répertoires et fichiers.
7. Le programme complet en langage Arduino
A copier/coller directement dans l’éditeur Arduino
// Programme écrit le : 02/2012.
// ——- Licence du code de ce programme —–
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License,
// or any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//– ce programme lit le contenu de la SD Card et l’affiche dans le Terminal Serie
// dérivé de l’exemple listFile des exemples fournis pour la librairie SD
#include <SD.h> // crée automatiquement un objet racine SD représentant la carte mémoire SD
File myDir; // objet file
boolean test=false;
void setup()
{
Serial.begin(115200); // utiliser le meme debit coté Terminal Serie
//—– initialisation de la carte SD —–
Serial.println(« Initialisation de la SD card… »);
pinMode(10, OUTPUT); // laisser la broche SS en sortie – obligatoire avec librairie SD
test=SD.begin(4); // initialisation de la carte SD avec broche 4 en tant que CS – renvoie true/false
if (test!=true) { // si initialisation n’est pas réussie
Serial.println(« Echec initialisation! »); // message port Série
}
else { // si nitialisation réussie
Serial.println(« Initialisation reussie ! »); // message port Série
//—– affiche le contenu du répertoire
myDir = SD.open(« / »); // ouvre la SD Card à la racine
afficheContenu(myDir, 0); // affiche contenu d’un répertoire avec 0 tab
Serial.println(« Operation Terminee! »);
} // fin si initialisation réussie
} // fin setup()
void loop(){
}
void afficheContenu(File dir, int numTabs) { // la fonctin reçoit le
rép et le décalage tab
while(true) { // tant que vrai = crée une « loop » qui séxécute tant
que contenu // la sortie se fait par break;
File entry = dir.openNextFile(); // ouvre le fichier ou
repertoire suivant
if (! entry) { // si aucun nouveau fichier /repertoire
//Serial.println(« ** pas d’autre fichier ou repertoires** »);
entry.close();
break; // sort de la fonction
} // fin si aucun nouveau fichier / répertoire
// affiche le nombre de tab voulu – 0 si racine, 1 si sous Rép, 2
si sous–sous rép, etc.. for (int i=0; i<numTabs; i++) {
Serial.print(‘\t‘);
}
Serial.print(entry.name()); // affiche le nom du fichier/repertoire
if (entry.isDirectory()) { // si le fichier est un répertoire
Serial.println(« / »); // affiche un slash
afficheContenu(entry, numTabs+1); // affiche le contenu en
décalant d‘un tab } // fin si le fichier est un répertoire
else { // sinon affiche la taille – les fichiers ont une taille,
pas les répertoires // files have sizes, directories do not
Serial.print(« \t\t« ); // affiche de Tab de décalé
Serial.print(entry.size(), DEC); // affiche la taille
Serial.println( » octets »); // affiche la taille
} // fin sinon = si pas un rép
} // fin while(true)
entry.close();
} // fin fonction
Articles Liés
- Test d'une mémoire Eeprom externe SPI type AT25256
Le test d'une mémoire Eeprom externe SPI type AT25256 est une tâche importante pour les…
- Afficher du texte sur un afficheur LCD alphanumérique
L'afficheur LCD alphanumérique est un outil très pratique pour afficher des informations sur un écran.…
- Ethernet en mode serveur : Afficher la requête reçue du navigateur
L'Ethernet en mode serveur est un protocole de communication réseau qui permet aux ordinateurs de…