Ana içeriğe atla

Kayıtlar

Eylül, 2018 tarihine ait yayınlar gösteriliyor

Arduino EEPROM Kullanma

Arduino içerisinde kalıcı ve geçici hafıza bölümleri vardır. Yazdığımız kodlar kalıcı bölümlerde kaydedilirken programın çalışması esnasında oluşan değişkenler geçici hafızalarda kaydedilir. Arduinodan enerji kesildiği zaman geçici hafızada olan veriler silinir. Eğer program esnasında elde ettiğimiz değerleri kaydetmek istersek başka bir hafızaya ihtiyaç duyarız. Arduinoda elde ettiğimiz verileri saklayabildiğimiz EEPROM (Electronically Erasable Programmable Read Only Memory) bellekler mevcuttur. Bu belleklerin boyutları mikrodenetleyici modellerine göre değişkenlik gösterebilir. Örnek olarak atmega328 de 1kb, atmega168 de 512 mb, atmega2560 da 4kb eeprom hafıza yer alır.
EEPROM hafızaları kullanmak için 2 komut mevcuttur. EEPROM.write(adres,degisken) komutu ile istediğimiz adrese değişkenimizin değerini atarız. EEPROM.read(degisken) komutu ile daha önce kayıtlı bir değişkenin değerini okumuş oluruz. Şimdi bu konuyla alakalı bir örnek tasarlayalım. Birden sonsuza kadar sayma işlemi ya…

Seri Port Üzerinden Arduino Kontrolü

Seri port ekranından bir değer girerek bilgisayarımızdan arduinomuzu kontrol edebiliriz. Bunun nasıl olduğunu anlayabilmek için bir örnek tasarlayalım. Programda sıfırdan sonsuza kadar birer birer sayma işlemi yapalım. Sayma işlemini seri port ekranında göstereceğiz. Sonra seri port ekranında istenilen bir değer girildiğinde o andaki değeri eeprom hafızasına kaydedilmesini sağlayacağız. Daha sonra enerji kesilip arduino tekrar başlatıldığında eeproma kaydettiğimiz değerden saymaya devam etmesini sağlayacağız. Hatta kaydettiğimiz sayının hangisi olduğunu yine seri port ekranında gösterelim. Şimdi bu özelliği kullanabilmek için seri port kesmesini bilmemiz gerekir. Seri porttan bir değer girdiğimizde ana programdan çıkıp kesme fonksiyonuna geçiş yaparız. Bu fonksiyonda yazdığımız komutlar bittikten sonra ana döngüye geri döneriz. Bunun için “void serailEvent()” komutunu kullanırız. Örneğimizin kodlarını yanlarına açıklama satırları ile aşağıya aktarıyorum.

#include <EEPROM.h>// EE…