Bagaimana sih menggunakan memory micro SD di arduino? Untuk kamu yang lagi belajar mikrokontroller berbasis arduino tentunya sedang asik asiknya ber experiment mencoba segala coding yang ada di internet. yang paling seri itu apa sih? proses saat membuatnya? memasang kabel? membuat layout? kalau saya sih yang paling seri itu kalo pas alatnya jadi liat hasil nya itu yang bikin gimanaaaa gitu hehehe. Tapi tetunya tidak sedikit juga temen temen lebih suka proses pembuatan nya dari pada hasil, sampai sampai ada orang yang bikin alat sama berulang ulang dan tidak bosan sama sekali.
Nah pada artikel Cara menggunakan memory Micro SD di arduino ini akan saya terangkan bagaimana sebuah arduino dapat membaca dan menulis nilai sensor pada sebuah memory card yang keren nya disebut sebagai data logger. untuk dapat membaca dan menulis ke memory micro sd tentunya kamu harus punya yang namanya soket micro sd untuk dapat menyalurkan jalur jalur pada micro sd ke pin pin arduino.
Pada umumnya temen temen yang ga mau ribet bisa saja membeli sebuah shield arduino untuk micro sd atau sd card. dengan menggunakan shield tersebut kamu bisa menghubungkan micro sd ke arduino dengan mudah. Namun, coba deh kamu lihat lagi harga dan ukuran nya. mungkin yang punya dana terbatas pasti akan kaget melihat harganya yang lumayan mahal. Tapi tunggu dulu, kamu bisa buat sendiri shield micro sd kamu untuk arduino dengan sangat mudah. Bagaimana cara nya?? mari kita simak.
- Kalau saya, beli sebuah card reader yang paling murah (hanya 1 slot untuk micro sd) tentunya kamu akan mendapatkan harga kisaran 3ribu sampai 15ribu rupiah. nah lepaskan konektor micro sd tersebut dari card reader usb tersebut.
- sekarang kamu sudah punya sebuah soket micro sd yang siap pakai. apa langkah selanjutnya?
Sebuah micro sd tidak dapat kita hubungkan langsung ke arduino dengan menghubungkan kaki kakinya begitu saja. hal yang harus kamu ketahui dulu adalah pinout dari micro sd dulu sebelum menyambung nya. coba lihat urutan pinout dari micro sd disini.
Nah dari gambar diatas kan ada dua tabel tuh, yang mana kita pakai sebagai referensi? tentunya yang SPI Mode yaitu Serial Peripheral Interface yang nantinya akan kita hubungkan sesuai dengan pin pada arduino (atmega328). Apakah bisa langsung dihubungkan? tentunya tidak. karena micro sd bekerja pada tegangan 3.3v tentunya kamu harus mengubah sinyal dari microkontroller ke micro sd menjadi sekitar 3.3v. bagaimana caranya? Kamu bisa menggunakan IC 4050 atau secara sederhana kamu bisa membuat resistor pembagi tegangan dengan memanfaatkan resistor 1k dan 2k2 sehingga akan didapat tegangan mendekati 3.3v. Coba perhatikan schematik dibawah ini.
- Setelah siap kamu tinggal solder dan hubungkan kabel sesuai dengan jalur yang yag ada di salah satu gambar diatas. mau yang pake resistor atau ic hehehe 🙂
- lalu kamu harus siapkan library SD di arduino kamu. dan langsung deh buka sample nya dan coba upload. tapi jangan lupa pasang micro sd nya ya.
- yang perlu diperhatikan adalah format micro sd kamu harus tipe FAT16 atau FAT32 karena librarynya cuba bisa pakai itu saja.
Contoh Coding dari Arduino :
#include <SD.h> File myFile; // change this to match your SD shield or module; // Arduino Ethernet shield: pin 4 // Adafruit SD shields and modules: pin 10 // Sparkfun SD shield: pin 8 const int chipSelect = 4; void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Serial.print("Initializing SD card..."); // On the Ethernet Shield, CS is pin 4. It's set as an output by default. // Note that even if it's not used as the CS pin, the hardware SS pin // (10 on most Arduino boards, 53 on the Mega) must be left as an output // or the SD library functions will not work. pinMode(SS, OUTPUT); if (!SD.begin(chipSelect)) { Serial.println("initialization failed!"); return; } Serial.println("initialization done."); // open the file. note that only one file can be open at a time, // so you have to close this one before opening another. myFile = SD.open("test.txt", FILE_WRITE); // if the file opened okay, write to it: if (myFile) { Serial.print("Writing to test.txt..."); myFile.println("testing 1, 2, 3."); // close the file: myFile.close(); Serial.println("done."); } else { // if the file didn't open, print an error: Serial.println("error opening test.txt"); } // re-open the file for reading: myFile = SD.open("test.txt"); if (myFile) { Serial.println("test.txt:"); // read from the file until there's nothing else in it: while (myFile.available()) { Serial.write(myFile.read()); } // close the file: myFile.close(); } else { // if the file didn't open, print an error: Serial.println("error opening test.txt"); } } void loop() { // nothing happens after setup }
Pada artikel saya Membuat Data Logger Memory Card disana saya sudah membuatkan sebuah alat yang berbasis arduino dengan tampilan pada LCD. ukuran yang sangat kecil membuat alat ini sangat terlihat sederhana dengan fungsi yang maksimal. Coba cek alat dan video di artikel ini.
CEK VIDEO DISINI