6 Ocak 2015 Salı

Arduino Öğreniyorum Çalışmaları


Merhaba arkadaşlar, bu yazımda sizlere arduino ile ilk tanıştığımda yapmış olduğum ve bilgisayarı karıştırırken bulduğum birkaç örnek programı anlatacağım.

1- Arduino Karaşimşek Programı:






Açıklama satırlarında hangi kodun ne iş yaptığı yazmaktadır. Ancak yine yeni başlayanlara yardımcı olmak açısından kısa kodumuzdaki komutları tanıyalım.

const byte ledPin[11]={2,3,4,5,6,7,8,9,10,11,12};   Bu kodda ledlerin artı uçlarının takılacağı pin numaraları verilmiştir. Daha doğrusu const byte tipinde bu numaralar ledPin değişkenine atanmıştır. ledPin değişkeni 11 elemana sahip tek boyutlu dizidir.
byte veri türü işlemci belleğinde 8 bitlik yani 1 byte lık alanı işgal eder.
const tür belirleyicisi ise tanımlanan nesnenin bir sabit olduğunu belirtir. Yani const tür belirleyicisi ile tanımlanmış bir değişkenin değeri programın sonuna kadar değiştirilemez ve programın en başında tanımlanır. Peki neden buna ihtiyaç duyduk ? Bu sorunun cevabı aslında oldukça uzun ancak kısaca ve anlaşılır bir şekilde şöyle anlatayım.

Arduino kartlarında (Due hariç) 3 tip memory vardır. Bunlar Flash, SRAM( static random access memory) ve EEPROM (erasable programmable read only memory) memory tipleridir. İşlemcinin enerjisi kesildiğinde sadece SRAM deki bilgiler kaybolur. Arduinoda SRAM memory nin görevi sketch oluşturmak ve değişkenleri çalıştırmaktır.
Arduino sketchi Flash memory e kaydedilir. Bunu, kartınıza IDE kullanarak program attığınızda en altta göreceksiniz ( Şekil 1).

arduino flash memory capacite

Şekil 1

EEPROM ise programlamacı için ayrılmış bir alandır. İstenilen verilerin kaydedilmesi durumunda kod yazanlar tarafından kullanılır. 
Bunları anlatmamın const tür belirleyicisi ile ne alakası var diyebilirsiniz. Ancak çok alakası var. Arduino geliştirme kartlarının sahip olduğu bu memory tipleri kısıtlı alanlara sahip. Dolayısıyla siz üst düzey kompleks bir kod yazacaksanız sahip olduğunuz hafıza alanını iyi kullanmalısınız. Bunun içinde hafızada en az yer tutan tür belirleyicilerini kullanmalısınız. #define ve const tür belirleyicileri değişken tanımlamalarında en az alan kaplayan tür belirleyicileridir. #define komutu ile const komutu hafızada aynı yeri kaplarlar. Bu sebepten const tür belirleyicisi kullanılmıştır.


void setup() fonksiyonu içerisinde bulunan for döngüsü sayesinde led pinlerinin 10 satırda OUTPUT olarak tanımlanma işlemi  3 satır kod ile yapılmıştır.



setup() fonksiyonu içerisindeki kodlar programın çalışması boyunca sadece bir kere çalıştırılır. Ve bu fonksiyon içerisinde başlangıç değerleri, pin modları (input, output olması), kullanılan kütüphanelerin başlatılması ( lcd.begin() ) gibi işlemler yapılmaktadır.

void loop() fonksiyonu programın sürekli çalıştırıldığı fonksiyondur. Yani program loop fonksiyonu içerisinde dönmektedir. Yapılması istenen işlemler bu fonksiyon içerisine yazılmalıdır.

2- Arduino Bir Butonla Bir Led Yakma Programı






3- Arduino Butonla Karaşimşek Devresi




 4- Arduino Led Parlaklık Ayarı





5- Arduino Seven-segment Uygulaması







Hiç yorum yok:

Yorum Gönder