Pentru a salva diferite informatii sau parametri din Arduino cel mai usor mod este sa folosim un card SD. Pentru a face acest lucru avem nevoie de un modul cititor de carduri pe care sa-l conectam la Arduino. Comunicarea intre modul si Arduino se face prin protocolul SPI.
Modulul se alimenteaza cu +5V.
Acest modul costa 5 lei si poate fi achizitionat de aici.
Poza cu acest modul este mai jos:

Conexiunile dintre cititorul de carduri si Arduino sunt urmatoarele:
Cititor SD --- Arduino
GND - GND
+5V - +5V
MISO - D12
MOSI - D11
SCK - D13
CS - D10
Sketchul folosit pentru a scrie si citi cardul SD este cel de mai jos:
#include <SPI.h>
#include <SD.h>
File myFile;
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
Serial.print("Initializare card SD...");
if (!SD.begin(10)) {
Serial.println("eroare initializare!");
while (1);
}
Serial.println("Initializare realizata cu succes.");
myFile = SD.open("test.txt", FILE_WRITE); //deschidem fisierul test.txt
if (myFile) {
Serial.print("Scriere in fisierul test.txt...");
myFile.println("Acesta este un test :)"); //scriem primul rand in fisier
myFile.println("testare 1, 2, 3."); //scriem cel de-al doilea rand in fisier
myFile.close(); //inchidem fisierul
Serial.println("realizat.");
} else {
Serial.println("eroare deschidere fisier test.txt");
}
myFile = SD.open("test.txt"); //deschidem fisierul test.txt
if (myFile) {
Serial.println("test.txt");
while (myFile.available()) {
Serial.write(myFile.read()); //afisam continutul fisierul in terminalul serial
}
myFile.close(); //inchidem fisierul
} else {
Serial.println("eroare deschidere fisier test.txt");
}
}
void loop() {
}
Pe terminalul serial vom avea afisate urmatoarele:

Fisierul existent fizic pe cardul SD este urmatorul: