Menyimpan dan Membaca Data Arduino dengan SDCard

Indobot Update

Menyimpan dan Membaca Data Arduino
Cara Menyimpan dan Membaca Data Arduino dengan SDCard

Halo Sahabat Indobot.

Teman-teman yang lagi bikin alat buat riset, data pasti penting banget kan?

Data hasil baca dari sensor yang kita gunakan adalah hal yang sangat perlu ketika kita sedang meneliti sesuatu. Data ini bisa berfungsi sebagai bahan untuk kalibrasi sensor, untuk mengetahui konsistensi suatu benda dan hal lainnya. Namun seperti yang kita tau, data yang muncul di serial monitor yang kita gunakan di aplikasi Arduino IDE tidak bisa disimpan secara langsung. Kita perlu copas datanya secara manual. Sehingga butuh penyimpan data yang dapat menyimpan dan dapat kita lihat secara keseluruhan. Sebenarnya Arduino juga menyediakan penyimpanan data semi permanen, yaitu dengan EEPROM. Namun penyimpanan data ini juga terbatas hanya 512 bytes. Penyimpanan data di EEPROM ini akan tetap ada meskipun power sudah dimatikan. Untuk skala yang lebih besar, jelas EEPROM ini tidak akan mencukupi. Sehingga kita membutuhkan perangkat tambahan untuk menyimpan data dalam jumlah yang lebih besar. Kita dapat menggunakan SD Card.

Nah pada project kali ini, kita akan mencoba untuk menyimpan dan membaca data Arduino dengan MicroSD Card. Jadi data ini akan kita simpan di dalam micro SD dengan membuat file baru. File ini selain dapat diakses oleh Arduino, juga dapat kita lihat kembali di PC atau smartphone kita.

Oke. Langsung saja kita praktikkan.

baca juga: PERBEDAAN EPROM & EEPROM

 

Menyimpan dan Membaca Data Arduino dengan SDCard

Siapkan Alat dan Bahan

Alat dan bahan yang digunakan untuk project kita kali ini adalah sebagai berikut. Jangan sampai ada yang kelewat ya.

  1. laptop/PC yang terinstall Arduino IDE
  2. Library MicroSD Download
  3. Arduino UNO   1
  4. Push button 1
  5. Resistor 2
  6. Breadboard 2
  7. Kabel jumper secukupnya

 

Susun Skema Rangkaian

Susunlah rangkaian seperti berikut ini.

Tulislah Program pada Aplikasi Arduino IDE

Tulislah program arduino seperti berikut. Jangan sampai ada yang terlewat ya. Baca keterangan-keterangan yang dituliskan dalam bentuk comment agar teman-teman juga memahami program yang teman-teman buat.


//Mengakses MikroSD dengan Arduino oleh indobot.co.id
#include <SPI.h>
#include <SD.h>
 
File myFile; //variabel untuk file
int i;
void setup() { 
  Serial.begin(9600);
  pinMode(10, OUTPUT);
  pinMode(8,INPUT_PULLUP);  
  pinMode(9,INPUT_PULLUP);  
  delay(1000);
  
  if (!SD.begin(10)) { //memastikan SDCard dapat dibaca
    
    Serial.println(" SD card Gagal!  ");
    delay(2000);
    while(1);
  }
  Serial.println("SD card Berhasil ");
  delay(2000); 
}
 
void loop() {
  if(digitalRead(8)==LOW){ //jika button 1 ditekan, maka untuk menulis data
      Serial.println("Tulis Data...");
      i++;
      writeSD();
      delay(500);
  }
  else if(digitalRead(9)==LOW){ //jika button 2 ditekan, maka untuk membaca data
      Serial.println("Baca Data...");
      readSD();
      delay(500); 
  }
      
}
void writeSD(){
  //program untuk menyimpan data ke sd Card
      myFile = SD.open("data1.txt", FILE_WRITE);
      if (myFile) {
          Serial.println("  Simpan data");
          Serial.println("file->data1.txt");
          myFile.print("Data ke-");   
          myFile.println(i);
          myFile.close();
          delay(2000);
          Serial.println("  Berhasil...  ");
      } 
      else {
          Serial.println("error buka file");
          Serial.println("   data1.txt");
      }
      delay(1000);
}
 
void readSD(){
  //program untuk membaca isi file data1.txt  
  myFile = SD.open("data1.txt");
  if (myFile){
    Serial.println("Isi File data1.txt:");
    while (myFile.available()) {
      Serial.write(myFile.read());
    }
    myFile.close();
  }  
  else{
    Serial.println("buka file data1.txt Error!!");
  }  
}


Jika sudah dituliskan seperti di atas, silakan upload ke Arduino Uno.

Cobalah buka serial monitor untuk melihat hasilnya. Penyimpanan ini akan berisi tulisan “data ke 1”, “data ke 2” dan seterusnya. data ini akan muncul dalam micro SD yang kita gunakan dalam bentuk format .txt. penyimpanan data dapat dilakukan jika kita menekan button 1. Jika kita melepasnya, maka data yang masuk tidak akan tersimpan.

Kita juga dapat membaca hasilnya penyimpanan kita dengan menekan button 2. Button ini digunakan untuk membaca file yang sudah kita simpan tadi.

 

Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO

 

Jika teman-teman ingin menyimpan data tanpa harus ada instruksi button dan lain sebagainya, kita hanya perlu menghapus instruksi button tersebut. Sehingga program akan berubah menjadi seperti berikut.

 


//Mengakses MikroSD dengan Arduino oleh indobot.co.id
#include <SPI.h>
#include <SD.h>
 
File myFile; //variabel untuk file
int i;
void setup() { 
  Serial.begin(9600);
  pinMode(10, OUTPUT); 
  delay(1000);
  
  if (!SD.begin(10)) { //memastikan SDCard dapat dibaca
    
    Serial.println(" SD card Gagal!  ");
    delay(2000);
    while(1);
  }
  Serial.println("SD card Berhasil ");
  delay(2000); 
}
 
void loop() {
      Serial.println("Tulis Data...");
      i++;
      writeSD();
      delay(500);

}
void writeSD(){
  //program untuk menyimpan data ke sd Card
      myFile = SD.open("data1.txt", FILE_WRITE);
      if (myFile) {
          Serial.println("  Simpan data");
          Serial.println("file->data1.txt");
          myFile.print("Data ke-");   
          myFile.println(i);
          myFile.close();
          delay(2000);
          Serial.println("  Berhasil...  ");
      } 
      else {
          Serial.println("error buka file");
          Serial.println("   data1.txt");
      }
      delay(1000);
}


baca juga: Jenis Sensor Suhu dan Cara Membacanya dengan Arduino

Program di atas hanya untuk menyimpan data baca dari pertambahan i (i++). Jika teman-teman ingin menggunakannya untuk menyimpan hasil baca sensor, kita hanya perlu merubah i menjadi hasil bacanya saja. Jadi semua hasil baca sensor dapat tersimpan dalam micro SD dan dapat kita baca kapan saja.

Jadi begitu teman-teman. Mengakses SD Card ini akan sangat penting ketika kita membutuhkan rekapan hasil baca sensor. Jadi silakan dipelajari dan coba terapkan ya.

Selamat mencoba.

Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp