Search This Blog

Thursday, February 6, 2014

SD card Log With Netduino

Untuk Netduino slot SD card sudah tersedia dan memiliki fitur autodetect. So, kita tidak perlu membeli shield khusus untuk merekam data. karena factory set nya sudah termasuk SDcard maka dalam programming nya pun menjadi mudah karena library nya ada termasuk kedalam .NetFramework (saya menggunakan versi .NetMF4.2)

Kali ini saya akan berbagi sedikit mengenai bagaimana menggunakan library tersebut. Disini saya menggunakan bahasa pemrograman C#. Class yang digunakan untuk mengendalikan SDcard pada Netduino terdapat pada Namespace System.IO, jadi sebelum memulai project nya sebaiknya tambahkan class tersebut kedalam project reference nya. Untuk mempermudah proses input data saya lebih memilih untuk membuat class baru yang ready to use. Class diagram untuk class SDcard sebagai berikut.

SD card Class For Netduino compatible with .NetMF 4.0 above
untuk code Lengkap nya download di sini. 

Saya akan ulas sedikit bagaimana untuk menggunakannya.
Pertama, yang perlu di ingat adalah bahwa code tersebut adalah sebuah Class, jadi tentu perlu dibuat satu objek untuk dapat menggunakannya pada main program. dibawah ini contoh create objek dari class tersebut.
private static DataStorage _store = new DataStorage();

setelah membuat objek nya kita bisa menggunakan method dari class dengan memanggil objek yang telah kita buat tadi. Dapat diliah dari diagram class di atas terdapat field, properties dan method. Sebaiknya kita fokus pada bagian Public Method dan Properties saja.

sebelum menulis kedalam SDcard hal pertama yang kita lakukan adalah mengisi property NameFile dan PathFile. Misal:

_store.PathFile = "Folder";
_store.NameFile = "Test"; //extensi pada NameFile akan berupa Csv. silahkan di edit sesuai kebutuhan.

kemudian, kita bisa mengisi file tesebut dengan memasukkan nilai kedalam property ContentFile

contoh:
_store.ContentFile = _hour + "," + (analogIn.miliVolts / 10).ToString("F1"));

ok. dengan begitu kita sudah menuliskan kedalam SD card dengan alamat @SD\Folder\Test.csv

catatan:
1. Class ini secara otomatis membuat Direktori "Folder" dan nama file "test" apabila tidak ditemukan.
2. Anda bisa menambahkan subdirectory pada pathfile dengan cara menambahkan class berikut :

        
public bool CheckPath(string rootDir, string YDir, string MDir)
 {                 
     try
     {
         Again:
         if (!Directory.Exists(@"\SD\" + rootDir))
         {
             Directory.CreateDirectory(@"\SD\" + rootDir);
             Thread.Sleep(150);
            
             goto Again;
         }
          else if (!Directory.Exists(@"\SD\" + rootDir + Path.DirectorySeparatorChar + YDir)) 
         {
             Directory.CreateDirectory(@"\SD\" + rootDir + Path.DirectorySeparatorChar + YDir);
             Thread.Sleep(150);
             goto Again;
         }
          else if (!Directory.Exists(@"\SD\" + rootDir + Path.DirectorySeparatorChar 
    + YDir + Path.DirectorySeparatorChar + MDir))
         {
             Directory.CreateDirectory(@"\SD\" + rootDir + Path.DirectorySeparatorChar 
    + YDir + Path.DirectorySeparatorChar + MDir);
             Thread.Sleep(150);
             goto Again;
         }
          else
         {
             _mypath = rootDir + Path.DirectorySeparatorChar + YDir + Path.DirectorySeparatorChar + MDir;
             return true;
         }                
     }
     catch (Exception ex)
     {
         myLcd.SetCursorPosition(0, 1);
         myLcd.Write(ex.Message);
         Debug.Print(ex.Message);
         return (false);
     }
}
lalu gunakan variable string _mypath pada class tersebut sebagai PathFile
 _store.PathFile = _namePath 

No comments:

Post a Comment