SD card pada ESP32 adalah modul penyimpanan eksternal (biasanya berupa microSD) yang digunakan untuk:
- Menyimpan file log (log data sensor, data pengguna, dsb.)
- Menyimpan konfigurasi
- Menyimpan gambar, audio, atau file lain
ESP32 bisa berkomunikasi dengan SD card melalui SPI (Serial Peripheral Interface) atau SDMMC (lebih cepat, tapi terbatas pada model tertentu dan membutuhkan lebih banyak pin).
Berikut ini adalah cara memprogram SDCard di esp32 dengan mudah:
Untuk kode bisa digunakan dibawah ini :
#include <Arduino.h>
SD card attached to SPI bus as follows:
** SDO - pin 11
** SDI - pin 12
** CLK - pin 13
** CS - pin 4 (For For Uno, Nano: pin 10. For MKR Zero SD: SDCARD_SS_PIN)
#include <SD.h>
const int chipSelect = 10;
File myFile;
void setup()
{
Serial.begin(9600);
Serial.print("Initializing SD card...");
if (!SD.begin(chipSelect)) {
Serial.println("initialization failed. Things to check:");
Serial.println("1. is a card inserted?");
Serial.println("2. is your wiring correct?");
Serial.println("3. did you change the chipSelect pin to match your shield or module?");
Serial.println("Note: press reset button on the board and reopen this Serial Monitor after fixing your issue!");
while (true);
}
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");
}
}
void loop(){
}
🔧 Bagian Header dan Informasi Wiring SD Card
#include <Arduino.h>
- Memuat pustaka dasar Arduino yang digunakan untuk semua program Arduino (biasanya otomatis dimasukkan).
// SD card attached to SPI bus as follows:
// SDO - pin 11
// SDI - pin 12
// CLK - pin 13
// CS - pin 4 (untuk Uno, Nano: pin 10. Untuk MKR Zero SD: SDCARD_SS_PIN)
#include <SD.h>
- Komentar yang menjelaskan koneksi pin untuk kartu SD ke Arduino menggunakan protokol SPI (Serial Peripheral Interface).
#include <SD.h>menyertakan pustaka SD agar Arduino dapat membaca dan menulis data ke kartu SD.
📌 Variabel dan Inisialisasi
const int chipSelect = 10;
File myFile;
chipSelect: Pin CS (Chip Select) yang digunakan untuk memilih perangkat SD card (untuk Arduino Uno/Nano biasanya pin 10).File myFile: Objek file dari pustaka SD untuk merepresentasikan file di kartu SD.
⚙️ Fungsi setup()
void setup()
{
Serial.begin(9600);
Serial.print("Initializing SD card...");
- Memulai komunikasi serial dengan kecepatan 9600 bps.
- Menampilkan pesan bahwa inisialisasi SD card sedang dimulai.
if (!SD.begin(chipSelect)) {
Serial.println("initialization failed. Things to check:");
Serial.println("1. is a card inserted?");
Serial.println("2. is your wiring correct?");
Serial.println("3. did you change the chipSelect pin to match your shield or module?");
Serial.println("Note: press reset button on the board and reopen this Serial Monitor after fixing your issue!");
while (true);
}
- Mengecek apakah SD card berhasil diinisialisasi.
- Jika gagal:
- Menampilkan pesan kesalahan dan saran perbaikan.
while (true);menghentikan program agar tidak melanjutkan eksekusi.
Serial.println("initialization done.");
- Jika berhasil, tampilkan pesan sukses.
📝 Menulis ke File SD Card
myFile = SD.open("test.txt", FILE_WRITE);
- Membuka (atau membuat) file bernama
test.txtdi SD card untuk ditulisi (FILE_WRITE).
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
myFile.close();
Serial.println("done.");
} else {
Serial.println("error opening test.txt");
}
}
- Jika file berhasil dibuka:
- Menulis teks
"testing 1, 2, 3."ke dalam file. - Menutup file setelah selesai menulis.
- Menulis teks
- Jika gagal membuka file, tampilkan pesan kesalahan.
🔁 Fungsi loop()
void loop() {
}
- Fungsi
loop()kosong karena penulisan hanya dilakukan sekali disetup().
📋 Kesimpulan
Kode ini akan:
- Menginisialisasi komunikasi serial dan kartu SD.
- Membuat dan menulis ke file
test.txtdi SD card jika semuanya berhasil. - Menampilkan status operasi di Serial Monitor.
untuk diskusi bisa kontak dibawah ini :

Sosial media :





