Arduino Hakkında - EEPROM


   Arduino ile uğraşanlar daha önce bu terimi duymuştur ancak birçoğumuz bunun ne anlama  geldiğini bilmez. EEPROM aslında Arduino kartlarının sahip olduğu mikrokontrolörlerin özelliğidir. Bu özellik sayesinde Arduino kapalı olduğu zamanda bile bir takım değerleri hafızasında tutmasını sağlar yani EEPROM Arduinonun bir nevi küçük bir sabit disk gibi davranmasını sağlar.

    Arduino bu özellik için EEPROM kütüphanesine sahiptir ve write() ile read() komutları ile kullanılır.

    Write() komutu EEPROM a veri yazmak için kullanılır. EEPROM.write(adres, değer) şeklinde kullanılır. Adres 0 dan başlayan integer(sayı) değeri alırken değer kısmı ise 0 dan 255 arasında değer alır. Bu komutun tamamlanma süresi 3.3 mili saniyedir ve veriyi belli bir süre  kayıtlı tutar bu yüzden bu komutu kullanırken hangi amaç ile kullanacağınıza dikkat edin. Aşağıdaki gibi kullanılır.

 #include <EEPROM.h>

void setup()
{
  for (int i = 0; i < 255; i++)
    EEPROM.write(i, i);
}

void loop()
{
}

  

 Read() komutu ise EEPROM da tutulan değeri çağırmamızı sağlar ve EEPROM.read(adres) şeklinde kullanılır ve bize istediğimiz değeri byte olarak gönderir. Kullanımını daha iyi anlamanız için aşşağıya örnek bir kod ekliyorum.

#include <EEPROM.h>

int a = 0;
int value;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  value = EEPROM.read(a);

  Serial.print(a);
  Serial.print("\t");
  Serial.print(value);
  Serial.println();

  a = a + 1;

  if (a == 512)
    a = 0;

  delay(500);
}



    EEPROM Nerede Kullanılır

    Yukarıdaki tanımlar bazılarımız için havada kalmış olabilir bu yüzden nerede kullanıldığını dair birkaç örnek verelim. EEPROM sistem resetlense yada fabrika ayarlarına dönülse dahi silinmeyen veri depolamak için kullanılır. Mesala kablosuz modelleri fabrika ayarlarına döndürdüğümüzde tekrar bağlanmak için kutuda yazan ve her sefer aynı olan bir şifreyi kullanırız işte bu şifre gibi elektronik cihazların sabit bilgileri EEPROM da tutulur. Arduino ile kullanımı için ise Arduino tabanlı kilit sistemi örnek verilebilir, en az bir şifreyi EEPROM da tutarındaki olumsuz durumlarda şifre değiştirmek zorunda kalmayalım.

   Hangi Arduino kartının ne kadarlık bir EEPROM a sahip olduğunu öğrenmek için bu linke tıklayarak tabloyu inceleyebilirsiniz.

1 yorum:

  1. yanıkısacası 3-5 dc motorlu dıslı bır projenın uc kesınısınden sonra kaldıı yerden devam emesı yada basa alınmasını saglarmı

    YanıtlaSil