ESP32 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 ESP32, termasuk cara menulis dan membaca file dari kartu SD.

Komponen yang Dibutuhkan
- ESP32
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 ESP32.
Rangkaian
Hubungkan modul SD card ke ESP32 sesuai konfigurasi SPI berikut:
| Pin SD Card | ESP32 | Keterangan |
|---|---|---|
| VCC | 3.3V | Sumber daya untuk modul |
| GND | GND | Ground |
| CS | GPIO 15 | Chip Select (CS) |
| SCK | GPIO 2 | Serial Clock (SCLK) |
| MOSI | GPIO 13 | 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 <FS.h>
#include <SD.h>
#include <SPI.h>
// Konfigurasi pin SPI
const int SCLK_PIN = 2;
const int CS_PIN = 15;
const int MOSI_PIN = 13;
const int MISO_PIN = 12;
const char *filename = "/data.txt";
void setup() {
Serial.begin(115200);
// Inisialisasi pin SPI
SPI.begin(SCLK_PIN, MISO_PIN, MOSI_PIN, 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 ESP32.
- Nama file yang digunakan, seperti
Kalau ingin menghubungi lebih lanjut bisa hubungi nomor dibawah:

