Caractéristiques :
La carte SD doit être formatée en FAT32 et ne comporter que des « noms courts » :
Nom . Suffixe
où
Nom est de 1 à 8 caractères
Suffixe est de 3 caractères maximum
Bibliothèque
L’installation standard de l’IDE Arduino comporte la bibliothèque SD permettant d’effectuer les traitements habituels relatifs ou fichiers et aux bibliothèques.
Brochage
Les deux rangées de connecteurs sont équivalentes.
Module | Arduino |
---|---|
GND | GND |
3.3 V | |
5 V | 5 V (Vérifier si le module convertit le 5V en 3.3V) |
CS | 10 |
MOSI | 11 |
SCK | 13 |
MISO | 12 |
GND |
Exemple :
C
x
1
/*
2
The circuit:
3
4
SD card attached to SPI bus as follows:
5
6
** MOSI – pin 11 on Arduino Uno/Duemilanove/Diecimila
7
** MISO – pin 12 on Arduino Uno/Duemilanove/Diecimila
8
** CLK – pin 13 on Arduino Uno/Duemilanove/Diecimila
9
** CS – depends on your SD card shield or module.
10
*/
11
12
#include <SPI.h>
13
#include <SD.h>
14
15
void stop()
16
{
17
while (true);
18
}
19
20
#define CHIPSELECT 10
21
22
void setup()
23
{
24
boolean bMounted;
25
File fich;
26
Serial.begin(9600);
27
// Vérifier si une carte est présente
28
bMounted = SD.begin(CHIPSELECT);
29
if (bMounted == false)
30
{
31
Serial.println("Carte non presente");
32
stop();
33
}
34
Serial.println("Carte presente");
35
// Ajouter une ligne dans un fichier texte
36
fich = SD.open("test.txt", FILE_WRITE);
37
if (!fich)
38
{
39
Serial.println("Impossible d'ouvrir le fichier test.txt en ecriture");
40
stop();
41
}
42
fich.println("testing 1. 2. 3.");
43
fich.flush(); //** <============================== IMPORTANT **
44
fich.close();
45
// Afficher le contenu du fichier texte
46
fich = SD.open("test.txt");
47
if (!fich)
48
{
49
Serial.println("Impossible d'ouvrir le fichier test.txt en lecture");
50
stop();
51
}
52
while (fich.available())
53
{
54
Serial.write(fich.read());
55
}
56
fich.close();
57
}
58
59
void loop()
60
{
61
}