Ở đây ta có hai loại module SD, một là full sd và một là micro SD. Hiện tại, các loại micro SD phổ biến hơn rất nhiều.
Cách nối chân
Thẻ SD sử dụng giao tiếp qua giao thức #SPI
Đầu tiên, hãy tiến hày format thẻ SD của bạn trước
Chọn định dạng FAT32
Nối với arduino
Chương trình
Thư viện SD đã được tích hợp sẵn trong Arduino, bạn không cần phải cài thêm.
Hay vào File -> Examples -> SD -> CardInfo trong Arduino IDE để mở ví dụ
Nạp và arduino để xem chi tiết các thông tin về thẻ SD của bạn
Vi dụ đọc ghi thẻ SD
File -> Examples -> SD -> ReadWrite
/*
SD card read/write
This example shows how to read and write data to and from an SD card file
The circuit:
SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4 (for MKRZero SD: SDCARD_SS_PIN)
created Nov 2010
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe
This example code is in the public domain.
*/
#include <SPI.h>
#include <SD.h>
File myFile;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
myFile = SD.open("test.txt", FILE_WRITE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
// re-open the file for reading:
myFile = SD.open("test.txt");
if (myFile) {
Serial.println("test.txt:");
// read from the file until there's nothing else in it:
while (myFile.available()) {
Serial.write(myFile.read());
}
// close the file:
myFile.close();
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
}
void loop() {
// nothing happens after setup
}