7 Mart 2015 Cumartesi

Arduino Ethernet Shield SD Kart Uygulama


   
     Elimizde Arduino'ya bir şekilde bağlayabileceğimiz hafıza kart yuvası varsa  bunun çalışıp çalışmadığını kolay bir şekilde anlayabiliriz. Bunun için tek yapmamız gereken Arduino IDE içerisindeki hazır örneklerden SD sekmesinde bulunan uygulamaları açıp çalıştırmak. Aşağıda bu örnekler içerisinde bulunan ReadWrite uygulamasını görebilirsiniz. Bu uygulama ile nasıl belge oluşturup içerisine veri yazabileceğimizi ve bu belgeyi Arduino üzerinden nasıl tekrar okuyabileceğimizi görebiliriz.



     Ben bu uygulamayı elimdeki Ethernet Shield'in üzerindeki SD kart yuvasını kullanarak gerçekleştirdim.  Uygulama sorunsuz çalışıyor.(Bazı hazır uygulamalar eski tarihte yazıldığı için çalışmayabiliyor) Eğer hafıza kartını çalışmalarımızda sürekli kullanacaksak aşağıdakileri göz önünde bulundurmamız faydalı olabilir;


  • Ethernet Shield'e SD kart  taktıp içerisine bir şeyler yazdırmak istiyorsak SD kart yuvasını kullanabilmemiz için 4 numaralı pini diğer işlerimizde kullanmamamız gerekiyor. Eğer SD kart yuvasıyla işimiz yok , herhangi bir dosya yazdırmayacağız diyorsak bu pini normal işlerimizde kullanabiliriz. Kod içerisinde 4 numaraları pini OUTPUT olarak tanımladığımızda SD kart yuvası kullanılamaz olur.
  • Bildiğimiz gibi SD kartlar son derece hassastır. Sürekli takıp çıkartmak hafıza kartını bozabilir. Bundan dolayı sabit durması iyi olacaktır. Aynı şekilde kullanmadığımız veya az kullandığımız ve  mümkün olduğunca düşük hafızalı olmasının faydalı olacağını düşünüyorum. Sonuçta hafıza kart içerisine düz yazı yazdıracağımız için işi fazla abartmazsak çok hafıza tüketmeyecektir.



/*
 This example shows how to read and write data to and from an SD card file  
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
*/
 
#include 

File myFile;

void setup()
{
  Serial.begin(9600);
  
  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(10, OUTPUT);
   
  if (!SD.begin(4)) {
    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
}

     Kodlar son derece açık , bu kod hem yazma hem de okuma işlemi yapabiliyor. Aşağıda da aynı uygulamayı yaparken video çekmiştim isterseniz izleyebilirsiniz. Şimdilik bu kadar , sizlere kolay gelsin!



0 yorum:

Yorum Gönder