Arduino SD Card 101: Panduan Setup, Koneksi, dan Penggunaan
Apakah Anda menjalankan banyak proyek Arduino? Dan Anda perlu menyimpan sejumlah besar informasi penting dan log data? Solusinya adalah menggunakan kartu SD Arduino. Bagaimana cara kerjanya?
Artikel ini akan membawa Anda melalui semua yang perlu Anda ketahui tentang perangkat ini, seperti apa itu, cara menghubungkannya, cara menggunakannya, dan masih banyak lagi.
Tetaplah membaca untuk menemukan semua yang perlu Anda ketahui.
Apa Itu SD dalam Arduino?
Kartu SD Arduino
Sumber gambar: Pixlr
Kartu SD atau mikro SD adalah perangkat yang memiliki dua komponen utama. Dan komponen ini membantu Anda menambahkan pencatatan data ke proyek Arduino Anda dengan mudah. Selanjutnya, tegangan kerja sebagian besar kartu mikro SD adalah 3.3V.
Akibatnya, tidak mungkin untuk menghubungkan perangkat secara langsung ke rangkaian logika 5V. Singkatnya, jika Anda mencoba bekerja dengan tegangan di atas 3.6V, itu akan merusak kartu SD Anda.
Oleh karena itulah sebuah modul memiliki regulator (ultra-low dropout papan) yang mengubah tegangan arus dari 3.3 – 6V menjadi sekitar 3.3V.
Selain itu, kartu SD memiliki chip pada modul (74LVC125A), yang membantu mengubah logika koneksi dari 3.3 – 5V ke 3.3V. Jadi, Anda dapat menyebut proses ini sebagai “penggeseran tingkat logika,” berarti papan dapat terhubung dengan dua mikrokontroler seperti Arduino: 3.3V dan 5V.
Komponen mikrokontroler
Bagaimana Anda menghubungkan kartu SD standar dengan Arduino? Kami memiliki dua metode untuk ini: mode SDIO dan mode SPI.
Sebagian besar modul kartu SD didasarkan pada mode SPI (overhead lebih rendah & kecepatan lebih rendah). Dan ini adalah mode yang mudah untuk sebagian besar mikrokontroler digunakan.
Modul kartu memori
Di sisi lain, mode yang lebih cepat adalah SDIO, dan berlaku untuk berbagai perangkat seperti ponsel, kamera, dll. Namun mode ini cenderung lebih kompleks karena Anda perlu menandatangani dokumen rahasia sebelum melanjutkan.
Pinout Modul Kartu SD Arduino
Modul kartu SD memiliki enam pin pada adapter, dan mereka meliputi yang berikut:
- MOSI – input SPI
- CS – pin sinyal untuk Chip select untuk menonaktifkan/mengaktifkan garis
- GND – pin Ground
- MISO – output SPI
- VCC – pasokan daya +5V
- SCK – menerima impuls jam untuk menyinkronkan data
Bagaimana Menyiapkan Kartu Mikro SD Anda
Pertama, Anda perlu mendapatkan modul kartu SD dan memasukkan kartu mikro SD Anda. Kemudian, tempatkan modul di Arduino untuk memformat kartu dengan benar.
Sambil Anda melakukannya, pastikan Anda memformat kartu berdasarkan library Arduino. Artinya, Anda harus memformat kartu memori ke FAT32 atau FAT16.
Juga, jika Anda bekerja dengan kartu SD baru, produsen mungkin telah memformatnya terlebih dahulu dengan sistem file FAT. Namun Anda mungkin mengalami masalah dengan format kartu. Jadi, aturan umum adalah memformat ulang kartu SD Anda, baik itu baru atau lama.
Bagaimana Anda Menghubungkan Kartu SD ke Arduino?
Kartu Arduino terhubung dengan kartu SD
Sumber gambar: Wikimedia Commons
Karena kartu SD Anda sudah siap digunakan, Anda dapat menghubungkannya ke papan breakout SD.
Jadi, Anda dapat memulai dengan menempatkan modul kartu mikro SD pada breadboard Anda. Kemudian, hubungkan pin VCC modul ke 5V Arduino. Juga, hubungkan pin GND ke ground. Dan yang tersisa adalah pin untuk komunikasi SPI.
Biasanya, kartu mikro SD membutuhkan banyak transfer data. Namun mereka berkinerja lebih baik ketika Anda menghubungkan kartu ke pin SPI hardware mikrokontroler. Dan itu karena pin (SPI) lebih cepat daripada “bit-banging” kode antarmuka dengan serangkaian pin yang berbeda.
Selanjutnya, penting untuk dicatat bahwa papan Arduino memiliki berbagai pin SPI yang harus Anda hubungkan dengan benar. Misalnya, Arduino Nano memiliki pin seperti 11 (MOSI), 12 (MISO), dan 13 (SCK). Secara tambahan, Anda membutuhkan pin keempat: garis SS “chip select.” Namun, saat menangani Arduino mega, pin-pin berbeda. Jadi, Anda harus menggunakan 53 (SS), 50 (MISO), 51 (MOSI), dan 52 (SCK). Juga, Anda dapat merujuk ke dokumentasi resmi ini jika Anda menggunakan papan Arduino lainnya. Kemudian, Anda siap untuk mencatat data.
Bagaimana Anda Menggunakan Kode Arduino untuk Menguji Modul Kartu SD dengan CardInfo?
Ia dapat melelahkan untuk berkomunikasi dengan kartu SD. Namun bagian bagusnya adalah Arduino IDE memiliki library bagus “SD.” Akibatnya, itu memudahkan proses membaca dan menulis kartu SD.
Selanjutnya, jalankan sketsa dan klik File→Examples→SD→card info. Setelah itu, sketsa akan memberitahu Anda apakah mengenali kartu SD Anda dengan menampilkan beberapa data. Kemudian, Anda dapat kembali ke sketsa dan memastikan bahwa “chip Select” menggunakan pin digital yang benar. Jika tidak, ubah pin menjadi 10.
Setelah semuanya terlihat baik, tempatkan kartu SD ke dalam modul dan unggah sketsa. Selanjutnya, Anda seharusnya melihat prompt segera saat membuka Serial Monitor. Dan prompt harus menunjukkan FAT32 untuk tipe volume, ukuran, dan SDHC (SD High Capacity) sebagai tipe kartu.
Screenshot dari sketsa Arduino
Namun jika itu klon atau kartu SD buruk, Anda mungkin melihat SD1 sebagai tipe kartu tanpa ID produsen dan pabrikan. Dengan ini, Anda dapat mencoba memformat ulang kartu. Jika Anda mendapatkan hasil yang sama, buang kartu.
Screenshot dari sketsa Arduino
Terakhir, jalankan ulang sketsa tanpa kartu SD Anda. Dan sketsa tidak akan menginisialisasi kartu SD. Menariknya, Anda juga dapat mendapatkan prompt ini jika kartu Anda rusak atau ada kesalahan kabel.
Screenshot dari sketsa Arduino
Bagaimana jika kartu SD sudah diformat dengan benar dengan kabel yang benar? Prompt akan membaca: “kabel benar, dan kartu tersedia.”
Membaca dan Menulis Data dengan Kartu SD Arduino
Jika kartu SD Anda telah diinisialisasi dengan sukses, Anda dapat melanjutkan ke langkah berikutnya. Pertama, Anda dapat memulai dengan mengunggah kode pada sketsa. Jadi, jika semuanya baik, Anda akan melihat tampilan yang membaca “inisialisasi selesai.”
Juga, Anda akan melihat “menulis ke uji selesai.” Oleh karena itu, jika Anda memilih untuk mereset Arduino dan membiarkan sketsa berjalan lagi, data sebelumnya tidak akan ditimpa. Sebaliknya, data baru akan melampirkan data sebelumnya.
Apa Artinya Kode?
Bagian 1
Sketsa memiliki library SPI dan library SD bawaan. Akibatnya, Anda dapat dengan mudah menggunakan kartu SD Anda untuk menghubungkan antarmuka SPI.
Kemudian, Anda harus memilih pin Arduino yang CS akan terhubung ke pin modul. Dan itu karena pin CS tidak tetap. Selain itu, karena Anda menggunakan library SPI hardware, tidak perlu menyebutkan pin karena mereka tetap.
Selanjutnya, Anda harus membuat objek, myFile, yang membantu Anda menyimpan informasi pada kartu SD Anda.
Kemudian, pergi ke bagian setup() untuk memulai komunikasi serial untuk menampilkan hasil pada serial monitor.
Setelah itu, Anda akan membutuhkan fungsi SD.begin() untuk menginisialisasi kartu Anda. Jadi, jika inisialisasi kartu Anda berhasil, pernyataan “if” akan benar, dan String “inisialisasi selesai” muncul pada serial monitor. Sebaliknya, String “else”: “inisialisasi gagal” akan muncul, dan program akan berakhir.
Kemudian, Anda akan melihat fungsi SD.open() membuka file: “test.txt.” Jika Anda tidak melihat file ini, Anda harus membuat satu. Akibatnya, fungsi FILE_WRITE akan dibuka dalam mode baca-tulis.
Setelah file terbuka, serial monitor akan menampilkan pesan “Menulis ke test.txt..”. Selanjutnya, Anda akan melihat “testing 1, 2, 3” pada fungsi myFile.println(). Setelah itu, Anda perlu menerapkan fungsi close() untuk menyimpan data yang ditulis ke file.
Bagian 2
Sekarang, Anda harus memeriksa file untuk mengonfirmasi operasi tulis berhasil. Dan Anda dapat melakukannya dengan menggunakan fungsi SD.open() sebagai “test.txt.” Nanti, Anda dapat menggunakan fungsi myFile.read(), yang akan membaca dari file dan menampilkannya pada serial monitor.
Setelah itu, gunakan loop “while” dan fungsi myFile.available() untuk membaca karakter file. Dan itu karena fungsi read() membaca satu karakter per waktu. Kemudian, tutup file.
Tidak akan perlu menjalankan kode berkali-kali karena ini adalah sketsa demo. Dan semua kode ada dalam fungsi setup() yang berjalan sekali.
Hal-hal Penting yang Perlu Diperhatikan
1. Tidak ada sensitivitas huruf besar/kecil dalam nama file. Jadi, WriteLog.Txt sama halnya dengan writelog.txt dan WRITELOG.TXT.
2. Anda dapat membuka file Anda di direktori.
3. Anda dapat menulis variabel, string, dll., dengan fungsi println() dan print().
4. Fungsi Read() tidak membaca angka atau baris penuh. Sebaliknya, ia mengembalikan satu karakter pada satu waktu.
5. Penting untuk menjaga nama file pendek karena library kartu SD tidak mendukung “nama file panjang.”
FAQs
Berapa ukuran maksimum kartu SD Arduino?
Kartu SD maksimum adalah 2GB.
Bisakah kartu SD Arduino rusak?
Ya, mungkin. Dan itu bisa terjadi karena kerusakan fisik, penggunaan yang tidak tepat, kekurangan manufaktur, dan malware.
Kesimpulan
Kartu SD Arduino adalah perangkat penyimpanan praktis yang dapat Anda gunakan untuk mencatat data. Dan cukup mudah diatur selama Anda merangkai dengan akurat. Juga, Anda dapat membaca dan menulis data dengan nyaman dengan perangkat ini.
Apakah Anda membutuhkan bantuan mendapatkan kartu SD Arduino terbaik untuk proyek Anda? Silakan hubungi kami.