Tutorial Akses Micro SD Card dengan Arduino, Baca dan Tulis Data dengan Mudah

Assalamualaikum.
Salam Sejahtera Untuk Kita Semua Sobat …

Berjumpa kembali dengan NP sobat… setalh sekian lama NP menghilang dan tak nampak di jagad dunia tutorial hehehe 😀

Nah dalam dunia pemrograman microcontroller, pasti ada sobat yang dihadapkan kepada masalah penyimpanan data. Memamng setiap microcontroller terkadang sudah dilengkapi memori EEPROM, namun EEPROM kapasitasnya kecil dan kurang handal. Nah ada alternatif lain yakni menggunakan kartu Micro SD untuk menyimpan data tersebut. Karena Micro SD card itu kapasitasnya lebih besar dan beragam. Dan pastinya lebih handal.
Kali ini NP akan share ilmu kepada kalian tentang cara akses Micro SD Card menggunakan Arduino (Arduino UNO khususnya). Tutorial ini meliputi cara Tulis Data dan Baca Data yang telah tersimpan di dalam kartu memori tersebut. Silahkan disimak baik-baik tutorialnya sob… 😀

 

 

Berikut ini komponen yang perlu dipersiapkan :

  • 1 buah Arduino UNO atau Arduino Tipe Lain (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 buah Micro SD Card Modul  (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 buah kartu Micro SD kapastitas bebas
  • Kabel jumper secukupnya, usahakan menyiapkan semua jenis yakni Male-Male, Female-Female, dan Male-Female (diutamakan tipe Male-Female untuk project ini bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)

 

Berikut ini komponen opsional/tidak wajib :

  • Breadboard/Projectboard untuk memparalel kabel jika diperlukan (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • 1 buah PCB polos sebagai alas pembuatan project jika diperlukan (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • Multitester (AVO) jika diperlukan untuk mengecek rangkaian (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • Solder jika diperlukan (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
  • Timah Solder jika diperlukan (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)

 

Berikut ini Software yang perlu dipersiapkan :

  • Software Arduino IDE (Jika belum punya, maka download Di Sini)
  • Library SD.h (Jika belum punya, maka download Di Sini)
  • Dan cara menambah library Arduino bisa dibaca Di Sini
  • Dan jika ingin belajar bagaimana cara menggunakan Arduino bagi pemula, silahkan download Ebook nya Di Sini

“Jangan Lupa Untuk Selalu Membeli Komponen Elektronika-Robotika di Nofgi Piston Shop (Tokopedia/Bukalapak)….

Dijamin amanah, terpercaya, dan harga murah meriah…
Juga Sebagai Support Bagi Kami Agar Terus Dapat Berbagi Tutorial Kepada Para Sobat… 😀

 

 

 

 

Dan berikut ini adalah skema rangkaiannya :

Micro SD Card Modul
Pin VCC ===> 5V Arduino
Pin GND ===> GND Arduino
Pin MOSI ===> Pin 11 Arduino
Pin MISO ===> Pin 12 Arduino
Pin SCK ===> Pin 13 Arduino
Pin CS ===> Pin 10 Arduino

 

 

 

 

CONTOH PROGRAM TULIS DATA

Setelah itu, silahkan upload program seperti di bawah ini pada software Arduino IDE milik sobat, dan tata cara upload program ke Arduino bisa sobat baca Di Sini :

// --- Program Tulis Data Pada SD Card Modul
// --- Disempurnakan oleh : M. Nofgi Y.P.U.
// --- www.nofgipiston.wordpress.com
// --- Online Shop Tokopedia, Bukalapak, dll : Nofgi Piston Shop
// --- mohon dipelajari program yang diberikan agar mendapatkan ilmu yang bermanfaat :)




// memanggil library komunikasi SPI dan Micro SD Modul
#include <SPI.h>
#include <SD.h>

// inialisasi variabel file
File myFile;





// ================= PROGRAM SETTING AWAL =============== //
void setup()
{
// pengaturan baud rate komunikasi dengan seria monitor
Serial.begin(9600);

// memulai komunikasi dengan SD Card modul
// pin CS (Chip Select) ada pada pin 10

// jika komunikasi tidak berjalan
if (!SD.begin(10))
{
// menulis pada serial monitor kegagalan komunikasi
Serial.println("Komunikasi dengan SD Card Modul GAGAL...!!!");
// jeda waktu
delay(1000);
// mengulang terus untuk mengecek komunikasi sampai berhasil
while (1);
}

// jika komunikasi dengan SD Card mdul berhasil
// maka tulis pada serial monitor bahwa komunikasi berhasil
Serial.println("SD card Berhasil ");
// jeda waktu
delay(1000);
}







// =============== PROGRAM UTAMA, BERULANG TERUS MENERUS ============= //
void loop()
{
// simpan data dengan membuat file berjudul DATA1
// jenis file .txt
myFile = SD.open("data1.txt", FILE_WRITE);

if (myFile)
{
// simpan teks demikian
myFile.println("Coba Simpan data");
myFile.println("www.nofgipiston.wordpress.com");
myFile.println(" ");
myFile.println(" ");
myFile.println(" ");

// menutup penulisan pada SD card
myFile.close();
delay(1000);
// tulis pada serial monitor bahwa penyimpanan telah berhasil
Serial.println("Penyimpanan Data Berhasil");
Serial.println(" ");
Serial.println(" ");
}


// jika gagal menulis pada SD Card
else
{
// tulis pada serial monitor bahwa penyimpanan gagal
Serial.println("Penyimpanan Data GAGAL...!!!");
}

// delay looping program
delay(1000);
}

 

 

Setelah program berhasil diupload, maka buka serial monitor

Jika pada serial monitor telah terdapat kalimat “Penyimpanan Data Berhasil”, maka selamat… Data sobat telah berhasil tertulis pada kartu Micro SD…. 😀

Silahkan cek pada isi data micro SD sobat, maka nanti akan terdapat file dengan format .txt dengan nama “DATA1”. Nama file dan isi file dapat sobat rubah sesuka hati lewat program di atas ya… 🙂 .

 

 

 

Penjelasan Singkat Program di atas yakni :

// simpan data dengan membuat file berjudul DATA1
// jenis file .txt
myFile = SD.open("data1.txt", FILE_WRITE);

Pada listing program di atas, sobat bisa rubah nama file yang akan disimpan. Pada contoh kali ini, NP gunakan nama “DATA1”. Sobat bisa rubah namanya sesuka hati ya 😀 .

 

if (myFile)
{
// simpan teks demikian
myFile.println("Coba Simpan data");
myFile.println("www.nofgipiston.wordpress.com");
myFile.println(" ");
myFile.println(" ");
myFile.println(" ");

// menutup penulisan pada SD card
myFile.close();
delay(1000);
// tulis pada serial monitor bahwa penyimpanan telah berhasil
Serial.println("Penyimpanan Data Berhasil");
Serial.println(" ");
Serial.println(" ");
}

Nah sedangkan pada program di atas, berfungsi untuk membuat kalimat di dalam file yang sudah dibuat. Sobat bisa isi dengan kalimat sesuka hati sobat… 😀 . Jangan lupa akhiri dengan “myFile.close()” setelah selesai membuat kalimat dan juga tambahkan pemberitahuan pada serial monitor bahwa kalimat di dalam file berhasil dibuat.

 

 

 

 

Nah sekarang saatnya beralih ke program untuk baca data yang terdapat pada Micro SD sobat.

CONTOH PROGRAM BACA DATA

// --- Program Baca Data Pada SD Card Modul
// --- Disempurnakan oleh : M. Nofgi Y.P.U.
// --- www.nofgipiston.wordpress.com
// --- Online Shop Tokopedia, Bukalapak, dll : Nofgi Piston Shop
// --- mohon dipelajari program yang diberikan agar mendapatkan ilmu yang bermanfaat :)




// memanggil library komunikasi SPI dan SD Card
#include <SPI.h>
#include <SD.h>

// inalisasi variabel SD Card
Sd2Card card;
SdVolume volume;
SdFile root;

// inialisasi pin CS (Chip Select)
const int chipSelect = 10;










// =============== PROGRAM SETTING AWAL =============== //
void setup()
{
// inialisasi baud rate komunikasi serial monitor
Serial.begin(9600);
delay(1000);
// menulis pada serial monitor
Serial.println("Inialisasi Micro SD card...");

// jika koneksi SD Card modul gagal
if (!card.init(SPI_HALF_SPEED, chipSelect))
{
Serial.println("GAGAL menemukan koneksi Micro SD Card");
// mencoba koneksi kembali
return;
}

// jika koneksi SD Card berhasil
else
{
Serial.println("BERHASIL menemukan koneksi Micro SD Card");
}

// menulis pada serial monitor tipe SD Card
Serial.print("\nCard type: ");
switch (card.type())
{
case SD_CARD_TYPE_SD1:
Serial.println("SD1");
break;
case SD_CARD_TYPE_SD2:
Serial.println("SD2");
break;
case SD_CARD_TYPE_SDHC:
Serial.println("SDHC");
break;
default:
Serial.println("Unknown");
}


// jika tipe SD Card tidak sesuai ketentuan program switch-case di atas
if (!volume.init(card))
{
Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
return;
}

// membaca volume SD Card
uint32_t volumesize;
Serial.print("\nVolume type is FAT");
Serial.println(volume.fatType(), DEC);
Serial.println();

volumesize = volume.blocksPerCluster();
volumesize *= volume.clusterCount();
volumesize *= 512;
Serial.print("Volume size (bytes): ");
Serial.println(volumesize);
Serial.print("Volume size (Kbytes): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.print("Volume size (Mbytes): ");
volumesize /= 1024;
Serial.println(volumesize);


Serial.println("\nFiles found on the card (name, date and size in bytes): ");
root.openRoot(volume);

// list semua data/file yang ada di dalam SD Card
root.ls(LS_R | LS_DATE | LS_SIZE);
}




// ================== PROGRAM UTAMA DIKOSONGKAN =============== //
void loop(void)
{

}

Setelah itu coba buka serial monitor

Jika koneksi pada SD Card berhasil, maka akan tambil data-data dari Micro SD tersebut seperti Card type, Volume size, dan juga File yang terdapat di dalam Mocro SD Card tersebut.

 

 

 

Begitulah tutorial singkat yang dapat NP bagikan kepada sobat sekalian… Untuk selanjutnya bisa sobat kembangkan kembali dengan berbagai kreatifitas yang sobat miliki seperti menerapkan penyimpanan data suhu, data orang masuk, dan lain sebagainya….. Nantikan berbagai tutorial berikutnya dari NP yaaa … 😀

Jangan bosan-bosan belajar dan berlatih dengan Arduino ya sob … Karena banyak sekali alat-alat serta kreatifitas yang dapat kita buat dengan microcontroller board serba bisa ini 🙂 .

“Apabila dalam diri seseorang masih ada rasa malu dan takut untuk berbuat suatu kebaikan, maka jaminan bagi orang tersebut adalah tidak akan bertemunya ia dengan kemajuan selangkah pun”
― (Soekarno)

Jangan lupa share artikel ini jika menurut kalian bermanfaat ya … 🙂

Semoga bermanfaat 😀 .

Salam Teknologi … Salam Arduino …🙂 .

Wassalamualaikum.

*

*

*

*

*

********************

#Maaf jika ada kesalahan, ambil sisi positifnya saja.
#Barangkali anda mempunyai kabar/berita seputar otomotif/mekatronika/robotika/elektronika atau ingin mengiklankan suatu produk di blog ini, silahkan kontak saya.

Jual Arduino, Sensor, Modul, SHIELD, dan Berbagai Komponen Module Elektronika/Robotika murah meriah … Best Quality Product … Tersedia Toko Online di Tokopedia dan Bukalapak Nofgi Piston Shop

 

Menerima jasa pembuatan Project atau alat berbasis Arduino, Elektronika, Robotika, Mekatronika, dan sejenisnya …

Bisa untuk keperluan hobi, edukasi kuliah/sekolah, project industri/rumahan, dan sebagainya …

Silahkan kontak saya atau KLIK DI SINI

Facebook              : Nofgi Yugo Prasetyo
Fans Page on Facebook : Nofgi Piston Blog
E-Mail                : Nofgimotor@gmail.com
Instagram             : nofgi_piston
Youtube               : Nofgi Piston
Tokopedia             : Nofgi Piston Shop
Bukalapak             : Nofgi Piston Shop
No. HP/WA             : 088217082017

Tentang Nofgi

Menerima Order Project Elektronika & Robotika. WA/SMS : 088217082017 Youtube : Nofgi Piston IG : nofgi_piston
Pos ini dipublikasikan di Arduino, DIY, Edukasi, Elektronika, Mekatronika, Microcontroller, Robotika, Teknologi dan tag , , , , , , . Tandai permalink.

Komentar Anda Membuat Semangat Saya Membara ... :D