Menyimpan dan Membaca MicroSD Card dengan Arduino UNO
Aplikasi Arduino kita kali ini akan membahas cara menyimpan dan membaca SD Card dengan Arduino. Kapasitas memori EEPROM pada Arduino UNO sangat terbatas yaitu 512 bytes, walaupun pada sebagian besar aplikasi tidak memakainya. Fungsi EEPROM adalah untuk menyimpan data ‘semi permanen’, maksudnya ketika aplikasi Arduino berjalan kemudian ada data yang akan disimpan di EEPROM maka data tersebut akan tetap tersimpan walaupun power dimatikan. Berbeda dengan SRAM yang data akan hilang jika power dimatikan.
Pada aplikasi yang membutuhkan penyimpanan data banyak maka EEPROM tidaklah cukup, disini kita perlu media penyimpan data seperti SD Card, nah pada postingan kali ini kita akan membuat proyek “Menyimpan dan membaca data microSD dengan Arduino UNO”. MicroSD card agar lebih mudah koneksinya dengan Arduino kita tambahkan modul microSD Card.
Hardware yang perlu disiapkan :
- MicroSD (SD Card)
- Modul MicroSD Card
- Push button (2)
- Arduino UNO
- Breadboard
- Kabel konektor
Masukkan SD Card (micro SD) ke slot micro SD di modul. Setelah semua hardware siap, selanjutnya buat rangkaian untuk menulis dan membaca data micro SD dengan Arduino UNO seperti berikut ini :
Koneksi modul micro SD dengan Arduino :
Koneksi 2 buah tombol push button dengan Arduino :
Selanjutnya kita buat program untuk menulis dan membaca SD Card dengan Arduino UNO. Buka program Arduino IDE kemudian tulis code berikut :
#include <SPI.h> #include <SD.h> File myFile; int i; void setup() { Serial.begin(9600); pinMode(10, OUTPUT); pinMode(8,INPUT_PULLUP); pinMode(9,INPUT_PULLUP); delay(1000); if (!SD.begin(10)) { Serial.println(" SD card Gagal! "); delay(2000); while(1); } Serial.println("SD card Berhasil "); delay(2000); } void loop() { if(digitalRead(8)==LOW){ Serial.println("Tulis Data..."); i++; writeSD(); delay(500); } else if(digitalRead(9)==LOW){ Serial.println("Baca Data..."); readSD(); delay(500); } } void writeSD(){ //===================Simpan data ke sd Card myFile = SD.open("data1.txt", FILE_WRITE); if (myFile) { Serial.println(" Simpan data"); Serial.println("file->data1.txt"); myFile.print("Data ke-"); myFile.println(i); myFile.close(); delay(2000); Serial.println(" Berhasil... "); } else { Serial.println("error buka file"); Serial.println(" data1.txt"); } delay(1000); } void readSD(){ //====================baca isi file data1.txt myFile = SD.open("data1.txt"); if (myFile){ Serial.println("Isi File data1.txt:"); while (myFile.available()) { Serial.write(myFile.read()); } myFile.close(); } else{ Serial.println("buka file data1.txt Error!!"); } }
Library SD (untuk akses SD Card) silakan unduh disini.
Simpan kemudian Upload. Untuk melihat hasilnya kita perlu Serial Monitornya Arduino IDE. Dari menu Tools – Serial Monitor kemudian seting baudrate pada 9600. Jika sukses maka akan tampil :
Berikutnya tekan tombol 1 (Tulis), pada Serial Monitor akan tampial :
Tekan tombol 2 (Baca) untuk perintah membaca SD Card dan menampilkan hasilnya di Serial Monitor :
Alhamdulillah akhirnya selesai juga proyek dasar Arduino : menulis dan membaca SD Card dengan Arduino UNO. Sahabat dapat mengembangkannya dengan membuat data logger Arduino, misalnya membaca suhu kemudian disimpan di SD Card.
Ok, semoga bermanfaat.
Ardutech – “Sahabat Inovasi Anda”
Pingback: Data Logger Suhu Kelembaban dengan Arduino UNO
Saya mau tanya, apa penyimpanan di micro sd itu bisa di cetak/diprint?
Bisa di cetak
Mas mau tnya, pada saat saya menekan angka 1 kok, tidak trjadi perubahan apa2 ya pada serial monitor nya
Sudah sesuai programnya ? Komunikasi ke Serial Monitor juga udah jalan ?
Gan mau tanya, apakah data pada modul sd card juga akan tersimpan walaupun power dimatikan? Jika bisa, apakah data terakhir yang disimpan dapat ditampilkan misalnya ke serial monitor atau LCD?
Makasih gan
Tetap tersimpan mas walau power mati.
Data bisa ditampilkan juga.
Trims
Mas kok di saya menyimpan data cuman 1kali 1x save di awal, ke2x nya saat saya klik save malah eror knapa ya
Maaf baru respon, apakah rangkaian dan program udah sesuai mas Gilang ?