Pengertian
Module micro sd merupakan modul untuk mengakses micro SD untuk pembacaan maupun penulisan data dengan menggunakan sistem antarmuka SPI (Serial Parallel Interface).
Modul ini cocok untuk berbagai aplikasi yang membutuhkan media penyimpan data, seperti sistem absensi, sistem antrian, maupun sistem aplikasi data logging lainnya.
Control Interface Module
- GND : negatif power supply
- VCC : positif power supply
- MISO, MOSI, SCK : SPI bus
- CS : chip select signal pin
Fitur dan spesifikasi
- Mendukung pembacaan kartu memori SD Card biasa (<=2G) maupun SDHC card (high-speed card) (<=32G)
- Tegangan operasional dapat menggunakan tegangan 5V atau 3.3V
- Arus operasional yang digunakan yaitu 80mA (0.2~200mA)
- Menggunakan antarmuka SPI
- Pada modul ini sudah terdapat 4 lubang baut guna untuk pemasangan pada rangkaian lainnya
- Ukuran modul yaitu 42 x 24 x 12 mm
Pengertian dari Micro Sd card yaitu kartu memori yang pada umumnya berukuran 11 x 15mm, dengan berbagai ukuran kapasitas yang digunakan untuk keperluan penyimpanan data maupun pembacaan data yang sudah ada didalamnya.
[irp]
Data tersebut bersifat digital yang dapat berupa data gambar, dokumen, video, maupun audio. Peringkat kecepatan transfer rate yang di kenal dengan Speed Class yang merupakan standar kecepatan yang ada pada SD Card.
Tutorial mengakses module Micro SD
Pada tutorial pertama ini yaitu mengindetifikasi kartu micro sd yang terpasang pada module mulai dari volume atau kapasitas memori, format yang sudah diterapkan, dan lain sebagainya.
Komunikasi yang digunakan yaitu menggunakan serial parallel interface (pin yang digunakan MOSI, MISO, dan SCK).
Bahan yang perlu dipersiapkan untuk tutorial ini antara lain :
- Arduino Uno
- Komputer + Software IDE Arduino
- Modul MicroSd Card
- MicroSd 2GB class 4
- Kabel Jumper
Skema yang perlu dirangkaikan
Tabel untuk koneksi perangkaian skema diatas
ARDUINO UNO PIN |
MICROSD CARD MODULE PIN |
GND | GND |
5V | VCC |
12 | MISO |
11 | MOSI |
13 | SCK |
4 | CS |
Untuk pemrogramannya dapat digunakan libraries dari pihak ketiga >> [ddownload id=”2008″]
Contoh program untuk mendapatkan informasi tipe microSd yang digunakan
#include <SD.h> #include <SPI.h> Sd2Card card; SdVolume volume; SdFile root; const int chipSelect = 4; void setup() { //set up untuk komunikasi serial melalui serial monitor Serial.begin(9600); while (!Serial) {; } Serial.print("\nInitializing SD card..."); Serial.println(); //untuk memastikan sd card terbaca if (!card.init(SPI_HALF_SPEED, chipSelect)) { Serial.println("inisialisasi gagal. Hal untuk memeriksa:"); Serial.println("* Apakah kartu sudah dimasukkan?"); Serial.println("* Apakah pengkabelan sudah benar?"); Serial.println("* Anda mengubah pin chipselect yang menyesuaikan dengan module?"); while (1); } else { Serial.println("Cek Wiringmu dan pastikan Micro SD sudah dimasukkan"); } // Mencetak jenis kartu Serial.print("\nTipe Micro SD : "); 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("tidak diketahui"); } if (!volume.init(card)) { Serial.println("tidak bisa menemukan FAT16 / partisi FAT32. \ Pastikan telah diformat kartu"); while (1); } // Mencetak jenis dan ukuran volume FAT-jenis pertama uint32_t volumesize; Serial.print("\nVolume type is FAT"); Serial.println(volume.fatType(), DEC); volumesize = volume.blocksPerCluster(); volumesize *= volume.clusterCount(); volumesize /= 2; 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("\nFile yang ditemukan pada kartu (nama, tanggal dan ukuran dalam bytes): "); root.openRoot(volume); root.ls(LS_R | LS_DATE | LS_SIZE); } void loop(void) { }
Hasil dari program diatas yaitu mengecek akan informasi tentang kartu memori yang telah terpasang, dan hasilnya dapat diliat pada serial monitor.
Setelah diketahui tipe microSD yang diinsertkan dimodule, maka sesuai instruksi harus diformat terlebih dahulu kedalam format “FAT16 atau FAT32”.
Tutorial penulisan data .txt pada Module Micro SD
- Untuk Rangkaian masih sama seperti gambar diatas
- Pada microsd card, dibuat file dengan format txt dengan nama “coba.txt”
- Upload program dibawah ini
- Setelah itu buka serial monitor pada Software ide arduino
- Jika terdapat kata “done!” pada serial monitor buka micro sd dan tuju pada file “coba.txt”
- Buka file tersebut dan jika terdapat kata “success write data” berarti anda telah benar menjalankan program ini
#include <SPI.h> #include <SD.h> File myFile; void setup() { Serial.begin(9600); // baud komunikasi serial Serial.println("Buka file di kartu microSD"); if (!SD.begin(4)) { //tergantung di pin chipselect yang digunakan Serial.println("Gagal baca microSD!"); return; } Serial.println("Sukses baca kartu microSD!"); myFile = SD.open("coba.txt", FILE_WRITE); //menulis File coba.txt // jika file sudah berhasil dibuka maka tulis data dimulai if (myFile) { Serial.println("mencoba nulis data di file coba.txt"); myFile.println("success write data"); // tutup file myFile.close(); Serial.println("SELESAI!"); } else { // jika gagal print error Serial.println("GAGAL TULIS coba.txt"); } } void loop() { }
Hasil dari program diatas akan seperti ini
Tutorial pembacaan data .txt pada Module Micro SD
- Untuk Rangkaian masih sama seperti gambar diatas
- Pada microsd card, dibuat file dengan format txt dengan nama “cobabaca.txt” dan tuliskan kata “aku akan tampil di serial monitor”
- Upload program dibawah ini
- Setelah itu buka serial monitor pada Software ide arduino
- Jika terdapat kata “aku akan tampil di serial monitor” berarti anda telah benar menjalankan program ini
#include <SPI.h> #include <SD.h> File myFile; void setup() { // Buka KomunikasiSerial Serial.begin(9600); Serial.println("Open file on MicroSD card..."); if (!SD.begin(4)) { Serial.println("Failed read open Microsd card!"); return; } // Buka File myFile = SD.open("cobabaca.txt"); if (myFile) { Serial.println("cobabaca.txt"); while(myFile.available()) // tunggu sampai file siap terbuka { Serial.write(myFile.read()); } // menampilkan data ke serial monitor Serial.println("berhasil ditampilkan"); myFile.close(); Serial.println("done!"); } else { // jika gagal print error Serial.println("failed open cobabaca.txt"); } } void loop() { }
Selamat mencoba!