Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Akses Modul Micro SD Arduino Card Adapter Catalex

Micro SD Arduino Tutorial Catalex

Micro SD Arduino Card  Adapter Catalex - Assalamu'alaikum teman-teman semua. Kali ini kita akan belajar bagaimana caranya mengakses micro sd card adapter menggunakan Arduino Uno. Akan ada banyak manfaat dari module micro sd ini, salah satunya adalah untuk data logger.
 
Micro SD Adapter adalah sebuah  module yang digunakan untuk membaca data dari memory micro SD. Untuk dapat berkomunikasi dengan arduino, module ini menggunakan komunikasi SPI (Serial Parallel Interface) yang mana menggunakan pin SCK, MISO, MOSI dan CS.
 
Pada tutorial ini, saya menggunaka modul Micro SD card Adapter dengan merek CATALEX. Untuk tampilannya seperti ini.
Cara Akses Modul Micro SD Card Adapter Arduino Catalex
 

Rangkian MicroSD Card Adapter Module Ardino

Sebelum masuk ke kode program, kita hubungkan terlebih dahulu micro SD Module ke Arduino. Untuk komunikasi menggunakan SPI. Perhatikan gambar berikut:
 
Cara Akses Modul Micro SD Card Adapter Arduino Catalex
 

Tabel koneksi untuk rangkaian di atas:

 Arduino Uno MicroSD Module
 5V VCC
 GND GND
 13 SCK
 12 MISO
 11 MOSI
 4 CS
 
Untuk pin CS, pada rangkaian di atas kita gunakan pin 4 dari Arduino. Anda bisa mengubah dari pin 4 ke pin lain pada Arduino.
 
Setelah rangkaian selesai dihubungkan, masukkan kartu memori ke dalam modul ini. Untuk langkah pertama, hal yang harus kita lakukan adalah mengecek atau memastikan kartu memori dapat dibaca dengan benar.
 

1. Langkah Pertama Cek Kartu Memori (baca informasi MicroSD)

Pada langkah ini kita harus memastikan bahwa microSD yang kita gunakan, dapat terbaca oleh Arduino. Oleh karena itu, kita menggunakan baris program dibawah ini.
 
Silahkan upload ke Arduino Uno anda:
/*
created 28 Mar 2011
by Limor Fried
modified 9 Apr 2012
by Tom Igoe
*/
// include the SD library:
#include <SPI.h>
#include <SD.h>

Sd2Card card;
SdVolume volume;
SdFile root;

const int chipSelect = 4;

void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}


Serial.println("\nMulai Pembacaan MicroSD...\n");

if (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("Pembacaan Micro SD gagal!");
Serial.println("* Apa koneksi telah benar?");
Serial.println("* Atau kartu memori belum di masukkan?");
while (1);
} else {
Serial.println("Kartu Memori MicroSD terbaca.");
}

// Tampilkan jenis memori yang digunakan
Serial.println();
Serial.print("Tipe memori : ");
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");
}

// Sekarang kita akan mencoba membuka 'volume' / 'partisi' - seharusnya FAT16 atau FAT32
if (!volume.init(card)) {
Serial.println("Tidak dapat menemukan partisi FAT16 / FAT32. \n Pastikan Anda telah memformat kartunya");
while (1);
}

Serial.print("Clusters : ");
Serial.println(volume.clusterCount());
Serial.print("Blok x Cluster : ");
Serial.println(volume.blocksPerCluster());

Serial.print("Total Blocks : ");
Serial.println(volume.blocksPerCluster() * volume.clusterCount());
Serial.println();

// print the type and size of the first FAT-type volume
uint32_t volumesize;
Serial.print("Tipe sistem file : FAT");
Serial.println(volume.fatType(), DEC);

volumesize = volume.blocksPerCluster(); // cluster adalah kumpulan blok
volumesize *= volume.clusterCount(); // kita akan memiliki banyak cluster
volumesize /= 2; // Blok kartu SD selalu 512 byte (2 blok berukuran 1KB)
Serial.print("Ukuran penyimpanan (Kb): ");
Serial.println(volumesize);
Serial.print("Ukuran penyimpanan (Mb): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.print("Ukuran penyimpanan (Gb): ");
Serial.println((float)volumesize / 1024.0);

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

// daftar semua file di kartu dengan tanggal dan ukuran
root.ls(LS_R | LS_DATE | LS_SIZE);
}

void loop(void) {
}
 
Dari percobaan ini saya gunakan 8GB (tidak sesuai dengan gambar diatas). Setelah saya upload program diatas, maka tampilan pada serial monitor arduino sebagai berikut:
 
 

Langkah 2 Membuat sebuah File di MicroSD Arduino

Ada 2 cara membuat file, secara manual dan otomatis menggunakan kode program. Secara manual, silahkan buat langusng dikomputer dan simpan file dengan format .txt di microSD. Untuk membuat file dengan program saya buatkan programnya dibawah ini.

Perhatian!
a. Untuk nama file maksimal 8 karakter dan tambahkan file ekstensinya ".txt". Contohnya "Data_Log.txt"
b. Untuk nama file tidak Case Sensitive atau tidak mengenal huruf kapital atau huruf kecil. Misalnya di microSD nama file adalah "DATA_LOG.TXT" sedangkan nama file di program "data_log.txt", seperti itu tidak error, masih dapat terbaca dan terdeteksi, asalkan namanya sama.

Sekarang kita akan coba membuat sebuah file dengan format "txt" yang dapat menyimpan teks. Dengan format ini kita dapat membuat data logger. Adapun perintah dasarnya adalah:
 
myFile = SD.open(namaFile, FILE_WRITE);



Berikut adalah programnya:
 
#include <SPI.h>
#include <SD.h>

File myFile;

String namaFile;

void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

Serial.println("\nMulai Pembacaan MicroSD...\n");

if (!SD.begin(4)) {
Serial.println("Pembacaan Micro SD gagal!");
Serial.println("* Apa koneksi telah benar?");
Serial.println("* Atau kartu memori belum di masukkan?");
while (1);
} else {
Serial.println("Kartu Memori MicroSD terbaca.");
Serial.println("Untuk membuat sebuah file, gunakan format .txt.");
Serial.print("Tuliskan nama file: ");
}

while (Serial.available() == 0) {}

namaFile = Serial.readString();
Serial.println(namaFile);

namaFile.trim();

// cek nama yang ingin dibuat didalam memori
if (SD.exists(namaFile)) {
Serial.println("File " + namaFile + " telah ada di memori. Coba nama yang lain");
} else {
Serial.println("File " + namaFile + " belum ada di memori.");

// Buat sebuah file sesuai yang diinginkan
Serial.println("Membuat file " + namaFile + "...");
myFile = SD.open(namaFile, FILE_WRITE);
myFile.close();
Serial.println("Selamat. File " + namaFile + " telah dibuat");
}

}

void loop() {
// put your main code here, to run repeatedly:

}
 
Maka hasilnya adalah sebagai berikut:

 

Pada gambar diatas, (a) adalah hasil yang ditampilkan pada serial monitor arduino. Sedangkan (b) adalah hasil pengecekan saat kartu memori microSD dimasukkan ke komputer. Artinya kita telah berhasil membuat sebuah file dengan Arduino.
 

Langkah 3 Menulis Data Ke File MicroSD

 
Setelah microSD memiliki sebuah file yang telah dibuat, maka langkah selanjutnya adalah menulis data ke file tersebut.  Perintah dasarnya adalah:
 
myFile.println("data");
 
Untuk programnya bisa gunakan berikut:
 
#include <SPI.h>
#include <SD.h>

File myFile;

String namaFile;

void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

Serial.println("\nMulai Pembacaan MicroSD...\n");

if (!SD.begin(4)) {
Serial.println("Pembacaan Micro SD gagal!");
Serial.println("* Apa koneksi telah benar?");
Serial.println("* Atau kartu memori belum di masukkan?");
while (1);
} else {
Serial.println("Kartu Memori MicroSD terbaca.");
}



if (SD.exists("testing.txt")) {
myFile = SD.open("testing.txt", FILE_WRITE);
myFile.println("testing 1, 2, 3.");
myFile.close();
Serial.println("Tulis data selesai.");
} else {
Serial.println("error opening test.txt");
}
}

void loop() {
// put your main code here, to run repeatedly:

}
 
Adapun hasilnya adalah sebagai berikut:

 

(a) adalah informasi dari serial monitor saat penulisan data ke file microSD, sedangkan (b) adalah hasil dari penulisan data tersebut. Kemudian file saya buka menggunakan teks editor (hitam) dan menampilkan data yang telah tertulis dari Arduino.
 
 

Langkah 4 Baca Data dari MicroSD Arduino

 
Jika kita ingin membaca data yang telah dituliskan ke file tadi, maka perintah dasarnya adalah:
 
Serial.write(myFile.read());
 
Perintah tersebut diletakkan didalam perulangan untuk membaca semua data. Adapun program membaca data dari file yang ada di microSD menggunakan Arduino adalah sebagai berikut:

 

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

File myFile;

String namaFile;

void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

Serial.println("\nMulai Pembacaan MicroSD...\n");

if (!SD.begin(4)) {
Serial.println("Pembacaan Micro SD gagal!");
Serial.println("* Apa koneksi telah benar?");
Serial.println("* Atau kartu memori belum di masukkan?");
while (1);
} else {
Serial.println("Kartu Memori MicroSD terbaca.");
}



if (SD.exists("testing.txt")) {
Serial.print("Data yg terbaca: ");
myFile = SD.open("testing.txt");

while (myFile.available()) {
Serial.write(myFile.read());
}

myFile.close();
} else {
Serial.println("error opening test.txt");
}
}

void loop() {
// put your main code here, to run repeatedly:

}
 

Hasilnya adalah:

 

Langkah 5 Hapus File dari MicroSD Arduino

Jika anda merasa ingin menghapus file yang ada di microSD, maka perintah yang digunakan adalah:
 
SD.remove("namaFile");
 
Adapun kode programnya adalah:
 
#include <SPI.h>
#include <SD.h>

File myFile;

String namaFile;

void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

Serial.println("\nMulai Pembacaan MicroSD...\n");

if (!SD.begin(4)) {
Serial.println("Pembacaan Micro SD gagal!");
Serial.println("* Apa koneksi telah benar?");
Serial.println("* Atau kartu memori belum di masukkan?");
while (1);
} else {
Serial.println("Kartu Memori MicroSD terbaca.");
}

SD.remove("testing.txt");

if (SD.exists("testing.txt")) {
Serial.println("File masih ada");
} else {
Serial.println("File telah terhapus");
}
}

void loop() {
// put your main code here, to run repeatedly:

}
 
Maka hasilnya adalah:

 
Semoga artikel ini dapat membantu teman-teman semua dan semoga bermanfaat.

Tags:

Posting Komentar untuk "Cara Akses Modul Micro SD Arduino Card Adapter Catalex"