Genel Elektronik

Arduino İle EEPROM Nasıl kullanılır ?

Arduino İle EEPROM nasıl Kullanılır ?

ATmega328p EEPROM programlama ana görseli

Merhabalar arkadaşlar Bugün sizlerle arduino EEPROM yani değiken verileri arduino kapansa dahi nasıl hafızada tutacağız konusuna değineceğim pek çoğunuzun kafasına tkaılmıştır iyide bu arduino kapatıp açılınca hep sıfırdan başlıyor bunu nasıl kayıt altına alacağız yahu!! Ki

Özellikle robotik tarzı programlamalar da hafızaya almak tahmin edersiniz ki çok önemlidir. Düşünsenize bir robot kol yaptınız arduinoyu kapatıp açtınız haldır huldur sıfır noktasına gidiyor ne kadar istenmeyen bir durum değil mi ?? öğrenme , ayar kayıt gibi işlemlerin yapılmasında eepromlar vaz geçilmez bir bileşendir. Bunun yanında daha büyük kayıtlar yapabilmek için örneğin görsel veya büyük boyutlu bir veri kaydı bu noktada ise flash bellekler devreye giriyor..

EEPROM Nedir ?

EEprom nedir

EEPROM, bir çeşit ROM yongasıdır. Bu kısaltmanın açılımı Erasable Programmable Read Only Memory, yani silinebilir programlanabilir ROM ‘dur. Diğer ROM yongaları gibi EEPROM da elektrik kesilince içeriğini kaybetmez. Benimde kullandığım arduino uno atmega328P yongasını kullanır bu yongada 512 baytlık bir kayıt alanı var malesef bu alan biraz kısıtlı olsa da değişkenleri kaydetmede idare eder bir kapasitedir.

Ancak kullandığımız bu hafıza türünün öyle güzel bir özelliği var ki daha büyük ve daha uygun belleklere tercih edilebiliyor oda şudur. Veri yazmak yada kullanmak için ektra bir entegreye sürücüye ihtiyaç duymaz doğrudan yazabilme imkanımız vardır. Örneğin bir müzik çalar yapıyorsunuz ekolayzer,ses seviyesi ,son çalınan şarkının sırası,toplam şarkı adeti gibi verileri kaydetmemiz lazım.

Bunun için bir flash bellek kullanmak bir külfet olacağından eeprom bellek ile istediğiniz byte büyüklüğündeki değerleri rahatça kayıt edebilirsiniz.

Ayrıca EEPROM’ların bir yazma ömrü olduğunu da unutmamak gerekir mesela bu değer 1 milyon seviyelerinde bu yüzden gerekli olmadıkça da yazmamakta fayda var ayrıca dilenirse ek modüller ile bu alan çok daha fazla genişletilebilir.

EEPROM Nasıl Kullanılır ?

EEPROM nasıl çalışır ?

Arduino bize ciddi güzellik yapmış dahili bir EEPROM kütüphanesi ile geliyor ve gayet kullanışlı bu kütüphane ile kayıt ve silme işlerimizi çok Basit bir şekilde gerçekleştirebiliyoruz.

Şunu unutmadan aktarayım kayıt edeceğimiz veriler byte cinsinden olduğu için 255 ten büyük degerleri kayıt edememekteyiz bunun için veriyi bölerek yada parçalayarak kayıt edebiliriz.. neyse geçelim bunu ve biz kullanacağımız fonksiyonlara bir göz atalım özellikle 3 fonksiyonu kullanacağız bunlar Read ve Write Fonksiyonları diğerleri bizler için çokta gerekli olmayan fonksiyonlar

Şimdi Kütüphanemizdeki Fonksiyonlara bir göz atmakta fayda var Hadi bakalım nelermiş bu fonskiyonlar…

EEPROM Ana fonksiyonları

EEPROM Clear: Kayıt içeriğini temizlemekte kullanılır.
EEPROM Read: Hafızadaki veriyi okumak için kullanılır.
EEPROM Write: Hafızaya kayıt için kullanılır.
EEPROM Crc: Hafızadaki verinin crc değerini diziye atar.
EEPROM Get: Hafızadaki verinin pointer adresini verir.
EEPROM Put: Atacağınız veri float gibi byte’dan büyük bir parçacıksa parçalar halinde kayıt komutudur.
EEPROM Update: EEPROM hafızasındaki değer ile yenileyeceğiniz değer farklı ise kayıt yapar bir nevi EEPROM hafıza uzatmak için yapılmış bir komuttur.

EEPROM’u tanıdık fonksiyonlarında üzerinden geçtik şimdi artık uygulamaya geçebiliriz.

Arduino EEPROM Yazma Örneği :

#include <EEPROM.h>
int kayit_adresi = 10; // EEPROMdaki hangi bölgeye kayıt edeceğimizi bu degiskene atadik.
int kayit_verisi = 5; // Bu degisken ise eeproma kayıt etmek istedigimiz veri burada
void setup()
{
    EEPROM.clear(kayit_adresi);
    EEPROM.write(kayit_adresi, kayit_verisi); // bu kisimda fonksiyonun kullanimini anlatir.
}

void loop()
{
}

Arduino EEPROM Okuma Örneği :

#include <EEPROM.h>

int kayit_adresi = 10; // 10 adresine kayit ettigimiz veriyi ayni yerden okuyoruz.
int kayitli_veri;

void setup()
{
kayitli_veri = EEPROM.read(kayit_adresi); // bu kisimda kayitli adresteki veriyi kayit_veriye aktardik

}

void loop()
{
}

Evet arkadaşlar Arkadaşlar EEPROM’u Pratik olarak tanıdık ve silinip yazılabilir bir rom bellek olduğunu öğrendik ve arduinomuz da kullandık umarım bu paylaşım faydalı olmuştur. Takıldığınız bir yer olursa lütfen yorumlayarak iletin yardımcı olmaya çalışırım. iyi çalışmalar.

Etiketler

Onur NP

Arduino Stm32 gibi Mikrodenetleyici PLC Otomasyon sistemleri ve Genel elektronik projeleri üzerine örnek paylaşımlar yapmaktayım Endüstriyel ve Kişisel proejelerinize Ücretli olarak destek verebilirim.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu
Call Now ButtonAra
Kapalı
Kapalı