Arduino uno memiliki kemampuan untuk berkomunikasi dengan modul SD card, yang memudahkan pengguna untuk menyimpan dan membaca data pada kartu memori. Artikel ini memberikan panduan praktis untuk menggunakan modul SD card dengan Arduino, termasuk cara menulis dan membaca file dari kartu SD.

Komponen yang Dibutuhkan
- Arduino Uno
Mikrokontroler utama untuk berkomunikasi dengan modul SD card. - Modul SD Card
Modul yang mendukung komunikasi SPI untuk membaca dan menulis data ke kartu SD. - MicroSD Card
Kartu memori dengan format FAT32. - Kabel jumper
Untuk koneksi antar perangkat. - Power supply
Sumber daya untuk Arduino.
Rangkaian
Hubungkan modul SD card ke Arduino sesuai konfigurasi SPI berikut:
| Pin SD Card | Arduino | Keterangan |
|---|---|---|
| VCC | 5V | Sumber daya untuk modul |
| GND | GND | Ground |
| CS | GPIO 10 | Chip Select (CS) |
| SCK | GPIO 13 | Serial Clock (SCLK) |
| MOSI | GPIO 11 | Master Out Slave In (MOSI) |
| MISO | GPIO 12 | Master In Slave Out (MISO) |
Kode Program
Berikut adalah contoh kode untuk menulis dan membaca data pada file di SD card:
#include <SPI.h>
#include <SD.h>
const int SCK_PIN = 13; // Pin SCK (Serial Clock) untuk SPI
const int MOSI_PIN = 11; // Pin MOSI (Master Out Slave In) untuk SPI
const int MISO_PIN = 12; // Pin MISO (Master In Slave Out) untuk SPI
const int CS_PIN = 10; // Pin CS (Chip Select) untuk SD card
const char *filename = "/data.txt"; // Nama file untuk dibaca/tulis
void setup() {
Serial.begin(115200);
// Menampilkan pin SPI yang digunakan
Serial.print("SCK Pin: ");
Serial.println(SCK_PIN);
Serial.print("MOSI Pin: ");
Serial.println(MOSI_PIN);
Serial.print("MISO Pin: ");
Serial.println(MISO_PIN);
Serial.print("CS Pin: ");
Serial.println(CS_PIN);
// Inisialisasi SD card
if (!SD.begin(CS_PIN)) {
Serial.println("SD card Initialization failed!");
return;
}
Serial.println("SD card Initialization success!");
saveDataToFile();
readDataFromFile();
}
void loop() {
// Tidak ada yang perlu dilakukan di dalam loop
}
void saveDataToFile() {
// Membuka file untuk penulisan
File file = SD.open(filename, FILE_WRITE);
if (file) {
// Menulis data ke file
file.println("Hello, this is a sample data!");
file.close();
Serial.println("Data saved to file successfully.");
} else {
Serial.println("Failed to open file for writing.");
}
}
void readDataFromFile() {
// Membuka file untuk membaca
File file = SD.open(filename);
if (file) {
// Membaca data dari file dan menampilkannya di Serial Monitor
Serial.println("Reading data from file:");
while (file.available()) {
Serial.write(file.read());
}
file.close();
} else {
Serial.println("Failed to open file for reading.");
}
}
Penjelasan Kode
- Inisialisasi SPI dan SD Card
SPI.begin(SCLK_PIN, MISO_PIN, MOSI_PIN, CS_PIN)digunakan untuk mengatur komunikasi SPI dengan pin yang sesuai.SD.begin(CS_PIN)memulai komunikasi dengan SD card. Jika inisialisasi gagal, pesan kesalahan akan ditampilkan.
- Menulis Data ke File
File file = SD.open(filename, FILE_WRITE)membuka file dengan namadata.txtuntuk penulisan.file.println("Hello, this is a sample data!")menulis data ke file.
- Membaca Data dari File
File file = SD.open(filename)membuka file untuk membaca.file.read()membaca data dari file byte demi byte, kemudian ditampilkan di Serial Monitor.
- File Path
- Nama file yang digunakan, seperti
"/data.txt", harus dimulai dengan/karena itu adalah konvensi dalam sistem file Arduino.
- Nama file yang digunakan, seperti
Kalau ingin menghubungi lebih lanjut bisa hubungi nomor dibawah:

