Ölçülen Değerlerin SD Karta Kaydı

Yaptığımız projelerde ölçülen değerlerin kaydını görmek istediğinizde eeprom kullanılabilir ama bu size limitli bir kayıt imkanı sunacaktır. Bundan dolayı alan olarak sınırsız diyebileceğim SD karta kayıt yapmasını sağlamanız en mantıklı sonuç oluşturacaktır.

Ölçülen değerlerin text olarak kayıt edilmesi size yıllarca kayıt yapma imkanı sunar. tabiki bunu yapabilmeniz için SD modülüne ihtiyacını olacak fiyatı çin sitelerinde 0,5-1 Dolar arasında .

 

Bağlantılarına gelirsek göründüğü gibi bütün pinlerinin arduino bağlantısını yapmanıza gerek yok. SPI protokolü olan herhangi bir arduinoda rahatlıkla kullanabilirsiniz.

Arduino UNO nano ve Pro Mini için bağlantısı aşağıdaki şekildedir.

  • 5 V —— 5 V (VCC)
  • GND —- GND
  • D13—— SCK
  • D12 —– MISO
  • D11 —– MOSI
  • D10 —- CS

Bu bağlantıları yaptıktan sonra Arduino IDE yi açarak bu modülü kullanabilmeniz için gerekli olan SdFat kütüphanesini indirmelisiniz. Bunu indirmek için Library Manager (Kütüphane ) dan yeni kütüphane ekle butonuna basarak online olarak SdFat kütüphanesini indirin.

Kütüphaneyi indirdikten sonra Arduino IDE yi kapatıp tekrar açın ve alttaki resimdeki gibi kütüphaneyle gelen örneklerden SDinfo örneğini arduinonuza yükleyerek SD modülünüzün çalışıp çalışmadığını kontrol edin.

Bu adımları takip ederken bilmeniz gereken nokta ise bu modülün FAT formatını tanıması bundan dolayı SD kartınızı formatlarken FAT formatında formatlamalısınız. Programı çalıştırdığınızda  Seri ekranı açarak kullandığınız SD kartın özelliklerini görebilirsiniz.

Kütüphane ile gelen örneklerden DataLogger örneğini arduinonuza yüklerseniz arduinonuzun A0 A1 ve A3 analog pinlerinin değerlerini SD kartına kayıt etmeye başlayabilirsiniz. Daha sonra SD kartındaki datalog dosyasını bilgisayarınızda açtığınızda alttaki şekilde görünecektir.

Bu dosyayı excelde açarsanız ölçülen değerlerin sütünlara otomatik olarak geldiğini görebilirsiniz. Bu şekilde ölçülen değerlerin grafiksel olarak değişimlerini rahatlıkla görebilirsiniz.

 

Aşağıdaki örnekte LM35 ısı sensörünün ölçtüğü değerlerin  SD karta kayıt eden örneği var.


#include <SPI.h>
#include <SD.h>
File myFile;
int x=0;
int tempValue;
void setup()
{
pinMode(10, OUTPUT);
SD.begin(10);
}
void loop()
{
tempValue=analogRead(A0);
myFile = SD.open("log.txt", FILE_WRITE);
if (myFile) {
myFile.print("Temperature ");
myFile.print(x);
myFile.print(":");
myFile.println((long)tempValue*0.48875);
}
myFile.close(); 
x++;
delay(1000);
}

 

Boş zamanlarda arduino ile uğraşan kendi halinde bir Öğretmen.

  

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.