Membaca dan Menulis Data di SD Card dengan Arduino

Melakukan interaksi seperti membaca dan menulis data/file di SD Card dengan Arduino caranya cukup mudah. Anda hanya cukup mendeklarasikan library ‘SD.h’ di program sketch Arduino Anda. Library ini adalah library internal yang sudah disediakan software Arduino IDE secara default.

Pada tutorial kali ini, saya akan mencontohkan bagaimana membaca dan menulis file di SD Card (tipe micro SD) menggunakan Ethernet shield. Sebagaimana kita tahu bahwa dalam Ethernet shield terdapat satu slot micro SD reader yang dapat kita manfaatkan untuk berinteraksi dengan micro SD. Biasanya, micro SD ini digunakan untuk menyimpan data hasil pengukuran/penyensoran atau yang lebih sering dikenal dengan nama ‘data logger’.

Baiklah, mari kita mulai percobaannya. Siapkan satu unit papan Arduino (tipe Uno atau yang lain), Ethernet shield dan micro SD. Masukkan micro SD ke slot micro SD reader di Ethernet shield. Jika sudah, buka software Arduino IDE Anda, dan masukkan sketch sebagai berikut :

#include <SPI.h>
#include <SD.h>

File myFile;

void setup()
{
   Serial.begin(9600);
   Serial.print("Initializing SD card...");

  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }

  Serial.println("initialization done.");
  myFile = SD.open("test.txt", 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");
  }
   myFile = SD.open("test.txt");

  if (myFile) {
    Serial.println("test.txt:");
     while (myFile.available()) {
      Serial.write(myFile.read());
    }
     myFile.close();
  } else {
     Serial.println("error opening test.txt");
  }
}

void loop()
{

 }

Upload sketch di atas ke papan Arduino Anda, dan aktifkan jendela Serial Monitor melalui menu Tools-Serial Monitor. Seharusnya akan akan ada tampilan sebagai berikut, yang menandakan file ‘test.txt’ telah ditambahkan di micro SD Anda dan file tersebut diisi dengan tulisan “testing 1, 2, 3.”. Anda dapat mengeceknya menggunakan micro SD reader yang lain melalui laptop Anda atau memasukkan micro SD tersebut ke smartphone Anda dan membacanya melalui aplikasi File manager.

read write micro sd dengan arduino dan ethernet shield

Beberapa function library ‘SD.h’ yang penting dalam proses membaca dan menulis file di SD Card adalah sebagai berikut :
1. SD.begin(chip_select) : menginisialisasi SD card, dengan parameter ‘chip_select’ sebagai berikut (tergantung hardware SD card reader) :
– Arduino Ethernet shield >> chip_select = 4
– Adafruit SD shields/modul >> chip_select = pin 10
– Sparkfun SD shield >> chip_select = pin 8
2. SD.open(nama_file) : membuka file dengan nama sesuai parameter ‘nama_file’. Function ini akan mengembalikan sebuah nilai bertipe ‘File’
3. File_object.print()/File_object.println() : menulis data ke file. Parameter ‘file_object’ menunjukkan nama variabel bertipe file (pada contoh di atas adalah variabel ‘myFile’)
4. File_object.read() : membaca data dari file
5. File_object.close() : menutup file

Demikian tutorial cara membaca dan menulis data di SD card menggunakan Arduino. Dengan bantuan library ‘SD.h’ Anda akan cukup cepat menanganinya. Selamat berkreasi.

 Beli microSD module murah

4 1 vote
Article Rating

Leave a Reply

63 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
indra

Mas kalau mau pake module arduino data logger chip-selectnya pake yang mana? Mau nampilin hasil baca rfid mas..

handi

Kok ga bisa di copy mas coding nya
ngikutin tutorialnya gimana 🙁

Rausyan

Mas klo umpama mw buka file yg d micro sd tanpa cabut & pasang ke card reader gmn?

Jd maksudnya biar g ribet. Tgl colok kabel usb trus terbaca sbg media storage. Bs g?

Rausyan

Brarti g bs y? Soalnya msh penasaran d video mecatronik ko kliatannya g d pindah k card reader tp lgsg bs dbuka di pc filenya

Ahnaf

Siang mas..minta tolong follow
Saat saya upload ke arduino uno terjadi error: no su much file directory.
Minta tolong pencerahan ya mas..tq

Turno

Siang mas aji..?
Mas saya minta bantuannya/ilmunya..(code’y) 🙂
Gimana cara menghapus file di sd card menggunakan arduino..?

indi setiyadi

Permisi, mas mau tanya tutorial hasil pembacaan RFID yang di simpan dalam data logger ada g y??? klo tidak ada mohon pencerahannya jika pembacaan sensor di ganti biar bisa nyimpan hasil pembacaan dari RFID. terimkasih…

Aditya Rahman

mas kalo mau baca file test.txt yang ada di folder gimana?

Reva

maaf mas saya mau tanya, saya ada project arduino uno dengan sensor pH dan suara, dan saya mau data outputan dari pH dan suara ini tersimpan di SD card, apa bisa? untuk menempatkan (if myFile) ini apa bisa di dalam loop?karena variabel yang saya gunakan untuk pH ada di dalam loop. jadi otomatis harus di buat lagi variabel nya. terima kasih

Riandanu Aldy Sadewo

mas mau nanya, sistem kodingan ini apabila sistemnya di matikan lalu dinyalakan kembali, apakah file test.txt nya akan otomatis ketiban dan file test.txt yang lama isinya akan hilang atau isi dari file test.txt nya melanjutkan isi filenya (file test.txt nya gak ketiban)?
terimakasih mas.

Riandanu Aldy Sadewo

oke mas terimakasih ya

Riandanu Aldy Sadewo

mas mau nanya lagi, itu kenapa semua codenya dimasukin ke void setup ya? kalo saya mau ngirim data dari pc ke rs232 ke arduino lalu disimpen ke microsd apakah semua codenya ditulis di void setup semua ya? terimakasih mas

Ahmad faruq h

Mas aji, kenapa di void loopnya tidak ada sketchnya? Klo kosong error compiling mas. Terima kasih mas

Ahmad faruq h

Saya compiling kok eror ya mas?

Rendy

Mas aji mau nyanya ini ada error pas compile skecth untuk modul sd card dataloger karna pin 10 output arduino uno sudah terpakai oleh modul rfid, mohon bantuan bagaimana cara mengatasinya ?

Andi Pandedi

mas kalo file yg terbaca berulang sebanyak 3 kali itu gmna ya mas biar satu kali aja gitu? kesalahannya dmna ya mas

trio

mas mau nanya, cara nya parsing datadari pembacaan data di sd card itu gmna ya

Reva

Maaf mas mau numpang tanya, modul SD card apakah bisa sebagai memory tambahan arduino dalam pemrograman???

anonymus

om mau tanya data logger ini kira2 bisa gak di gabung dengan keypad dan modul gsm.. jadi kita tinggal menulis daan menyimpan nomor HP penerima sms dari keypad saja dan bisa d ganti sewaktu2 juga melalui keypad trsebut tanpa merubah sketch… karna yg sering di lakukan biasa ny no hp penerima sms dari modul gsm langsung kita tuliskan d sketch.. terima kasih om di tunggu pencerahan nya

anonymus

Jika berkenan mohon tutorial ny om

bow wow

mas mau tanya, apabila saya gunakan data logger untuk pembacaan sensor dan rtc tiap 1 jam, bagaimana caranya agar saya bisa menampilkan data yang tersimpan tersebut di LCD? trims

Hari

Mas mau tanya. Kalau mau di pake buat manggil MP3 di microSDnya bisa kah.?? Jd tidak perlu beli lagi Dfplayer ..

apple

mas kalo mau mengirim data melalui software PLX DAQ ke sd card yang dipasang pada ethernet card bagaimana ya programnya?

adi

Mas saya mau bertanya, file yang sudah tersimpan dalam SD card apakah bisa dikirim ke HP lewat modul bluetooth atau modul wifi(jadi yang dikirim file nya bukan string nya aja)

alvian

ada yang tau cara memasukan RTC 1302
ke sd card ?

alvian

agar data dalam sdcard bisa diberi tanggal dan menggunakan ESP32

M. Ilham Akbar

apakah ada source code nya mas , rtc 1307 dan sd card menggunakan esp32

alvian

mas mau tanya semisal cara membagi data hasil sensor di sdcard perhari gimana ya mas

Tam

selamat siang, mohon bantuannya
#include
#include
#include
File myFile;
DS3231 rtc(SDA,SCL);
int pinCS = 53 ;
void setup() {

Serial.begin(9600);
pinMode(pinCS, OUTPUT);

// SD Card Initialization
if (SD.begin())
{
Serial.println(“SD card is ready to use.”);
} else
{
Serial.println(“SD card initialization failed”);
return;
}
rtc.begin();
}
void loop(){
Serial.print(rtc.getTimeStr());
Serial.print(“,”);
Serial.println(int(rtc.getTemp()));
myFile = SD.open(“test.txt”, FILE_WRITE);
if (myFile) {
myFile.print(rtc.getTimeStr());
myFile.print(“,”);
myFile.println(int(rtc.getTemp()));
myFile.close();
}
else {
Serial.println(“error opening test.txt “);
}
delay(3000);
}

sy mengalami error d DS3231 sudah ganti library berulang kali tetap tidak bisa

Tam

#include
#include
#include

tambahan d bagian paling atas tadi kurang

Tam

mas mau minta tolong saran dan masukannya, sy sudah menggunakan ini namun library DS3231 sy download tidak bisa cocok, sudah mendownload banyak. Dan saat menggunakan codingan lain sd card selalu gagal atau tidak terbaca #include #include #include File myFile; DS3231 rtc(SDA,SCL); int pinCS = 53 ; void setup() { Serial.begin(9600); pinMode(pinCS, OUTPUT); // SD Card Initialization if (SD.begin()) { Serial.println(“SD card is ready to use.”); } else { Serial.println(“SD card initialization failed”); return; } rtc.begin(); } void loop(){ Serial.print(rtc.getTimeStr()); Serial.print(“,”); Serial.println(int(rtc.getTemp())); myFile = SD.open(“test.txt”, FILE_WRITE); if (myFile) { myFile.print(rtc.getTimeStr()); myFile.print(“,”); myFile.println(int(rtc.getTemp())); myFile.close(); } else { Serial.println(“error opening test.txt “); }… Read more »

adilla

izin bertanya, codingan sudah benar namun setelah di run pada serial monitornya failed terus dan data yang tersimpan tidak ada d sd card.
sudah d coba dengan membuat file di dalamnya, namun tetap tidak bisa. bagaimana ya ?mohon arahannya terimakasih

adilla

sudah benar di pin nya, namun masih tetap belum bisa muncul data nya d sd card. di serial monitor sudah jalan namun data d sd card tidak muncul

andika

Pagi mas aji, mohon pencerahan kalo misal lewat ethernet shield transfer data dr PC ke sdcard di module dfplayer mp3 apa bisa mas ya, Terima kasih banyak

andika

Maaf mas mau tanya lagi. kalo file yg dikirim ke sd card ethernet shield berupa mp3 apa bisa ya. atau hanya file txt aja yg bisa

Trisno Kuswantoro

Mas Ajie, klo pin D5, D6, D7, D8 nodemcu ESP8266 terpakai semua. Bisa gak sy pake pin baris kiri SDD1, SDCMD, SDD0, SCLK utk dikoneksikan ke SD card module.

63
0
Would love your thoughts, please comment.x
()
x