6 Haziran 2017

Arduino Döngüler

Döngüler; bir şart sağlandığı sürece belirli kod bloklarını tekrar tekrar çalıştıran yapılardır.

Arduino programlama dilinde 3 adet döngü vardır. Bunlar;

  • For Döngüsü
  • While Döngüsü
  • Do-While Döngüsüdür.

Bu döngülerin söz dizimi farklı olsa da hepsi aynı işi görebilmektedir. Diğerlerinden farklı olarak yalnızca do-while döngüsü şartları kontrol etmeden bir defaya mahsus çalışmaktadır ve döngü sonunda şartları kontrol etmektedir. Şimdi dilerseniz bu döngülere teker teker bakalım.

1- For Döngüsü : For döngüsünde döngü deyimi, değişken tanımlama şart ve artırma – azaltma operatörü aynı satırda tanımlanır. Döngü esnasında çalışacak kodlar ise döngü parantezi içerisine yazılır. Örnek olarak arduino 0, 1, 2, 3, 4 ve 5 nolu dijital pinine bağlı ledleri sırayla 1 saniye aralıklarla yakalım.

Kodumuz şu şekilde olacak;

Şimdi yukarıdaki döngüleri satır satır inceleyelim.

for(int pin = 0; pin <= 5; pin++) { bu satırda for deyimiyle hangi döngünün kullanılacağını bildirmiş olduk ve parantez içerisinde döngü şartlarını yazdık.

int pin = 0; burada pin adında integer türünde bir değişken oluşturduk ve değişkene sıfır değerini verdik.

pin <= 5; bu kodumuz ile döngünün hangi şartta devam edeceğini bildirdik. Yani döngümüz pin değişkeni değeri 5’in üzerinde oluncaya kadar çalışacaktır.

pin++; bu kkod ile döngü her döndüğünde pin değişkeni değerini bir artırdık.

14. satırdaki parantez “{” ile 16. satırdaki parantez “}” arasına ise döngü sırasında çalışacak olan aşağıdaki kodu yazdık.

pinMode(pin, OUTPUT); pinMode komutu ile pin değişkeninin her döngü adımındaki değerini dijital çıkış olarak ayarladık.

Yukarıdaki kodlar size biraz karışık gelebilir ancak, örnek yaptıkça kullanımı daha iyi kavrayacağız.

Şimdi gelelim loop() yapısı içerisindeki for döngümüze;

for(int pin = 0; i <= 5; pin++) { bu satırda for deyimiyle hangi döngünün kullanılacağını bildirmiş olduk ve parantez içerisinde döngü şartlarını yazdık.

int i = 0; burada i adında integer türünde bir değişken oluşturduk ve değişkene sıfır değerini verdik.

i <= 5; bu kodumuz ile döngünün hangi şartta devam edeceğini bildirdik. Yani döngümüz i değişkeni değeri 5’in üzerinde oluncaya kadar çalışacaktır.

i++; bu kod ile döngü her döndüğünde i değişkeni değerini bir artırdık.

{ } bu parantezler arasına ise döngü sırasında çalışacak olan aşağıdaki kodu yazdık.

digitalWrite(i, HIGH); digitalWrite komutu ile i değişkeninin her döngü adımındaki değerini ilgili dijital çıkışta HIGH olarak ayarladık.

delay(1000); burada ise döngü her döndüğünde 1 saniye beklemesini sağladık.

 

2- While Döngüsü : While döngüsünde döngü değişkeni döngü dışında tanımlanır. Döngü şartı döngüyle birlikte tanımlanır ve artırma – azaltma işlemleri döngü parantezi içerisinde yapılır.

Şimdi yukarıdaki uygulamayı while döngüsü ile birlikte yapalım. Kodlarımız şu şekilde olacaktır;

 

Do – While Döngüsü : Do- While döngüsünde döngü do komutu ile başlar ve şart kontrol edilmeden döngü parantezine girilir. Parantez içerisindeki işlem yapılır ve döngü sonuna gelindiğinde While komutu ile şart kontrol edilir. Eğer şart hâlâ sağlanıyorsa şart false döndürene kadar işlem tekrarlanır. Do while döngüsünde dikkat edilmesi gereken nokta şu ki, döngü şartı kontrol etmeksizin bir defa kesinlikle çalışır.

Örnek kullanım:

 

Samet Karaca

Hakkımda

Bir cevap yazın

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