Kartu SD atau kartu Micro SD banyak digunakan dalam berbagai aplikasi, seperti pencatatan data, visualisasi data, dan masih banyak lagi. Modul Micro SD Card Adapter memudahkan kita untuk mengakses kartu SD ini dengan mudah. Modul Adaptor Kartu Micro SD adalah modul yang mudah digunakan dengan antarmuka SPI dan pengatur tegangan 3.3V terpasang untuk menyediakan pasokan yang tepat ke kartu SD. 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.
Diagram Sirkuit untuk Modul Kartu Micro SD
Modul ini dibuat dengan komponen yang sangat umum dan tersedia. Diagram Skema Modul Kartu Micro SD ditunjukkan di bawah ini.
Seperti yang kalian lihat pada skema di atas, kami memiliki konektor Kartu Micro SD yang merupakan konektor tipe push-out dan konektor tersebut terhubung ke IC pemindah level logika. Tegangan operasi maksimum modul adalah 3.6V sehingga IC pemindah level logika menjadi sangat penting. Untuk memberi daya pada kartu SD dan konverter level logika, kami menggunakan LDO LM1117 yang karenanya modul ini dapat bekerja dengan level logika 3.3V dan 5V. Konektor JP1 di bagian bawah skema mewakili konektor di bagian bawah modul kartu micro SD.
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
Arduino Micro SD Card Module Circuit Connection Diagram
Sekarang kita telah sepenuhnya memahami cara kerja Modul Kartu Micro SD, kita dapat menghubungkan semua kabel yang diperlukan ke Arduino dan menulis kode untuk mengeluarkan semua data dari sensor. Diagram Koneksi Modul Kartu Micro SD dengan Arduino ditunjukkan di bawah ini-
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 |
Persiapan Micro SD Card Module
Sebelum memasukkan Kartu SD ke dalam modul pembaca kartu SD, Anda perlu memformat kartu dengan benar sebelum Anda benar-benar dapat menggunakannya, jika tidak, Anda akan mengalami masalah karena modul pembaca kartu SD hanya dapat membaca sistem file FAT16 atau FAT32. Jika kartu sd Anda baru maka kemungkinan besar kartu tersebut diformat pabrik, itu mungkin juga tidak berfungsi karena kartu pra-format dilengkapi dengan sistem file FAT, bagaimanapun juga, lebih baik memformat kartu lama untuk mengurangi masalah selama pengoperasian.
Program Micro SD Card Module
#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 monitorSerial.begin(9600);while (!Serial) {;}Serial.print("\nInitializing SD card...");Serial.println();//untuk memastikan sd card terbacaif (!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 kartuSerial.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 pertamauint32_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 Akan ditampilkan pada Serial Monitor