Merhaba arkadaşlar,
Mobilhanem.com için hazırladığımız Arduino derslerimize Arduino ile yazacağımız kodların temelini oluşturan setup ve loop fonksiyonlarını tanıyarak devam ediyoruz. Setup ve loop fonksiyonları klasik anlamda yazacağımız Arudino kodlarının vazgeçilmez ikilisidir. Bu dersimizde kısaca bahsedip tanıştıktan sonra, küçük bir örnekle birlikte bu iki fonksiyon hakkında fikir sahibi olmuş olacağız.
setup() Fonksiyonu
Setup() fonksiyonu, Arduino’ya yüklenmiş olan .ino uzantılı kod parçasının, Arduino başlatıldığında veya yeniden başlatıldığında ilk çalıştırılan kısmıdır. Setup() fonksiyonu, çalışma ortamını başlangıç için bizlere hazırlar ve görevini tamamladıktan sonra bir yeniden başlatmaya kadar tekrar çalıştırılmaz.
#include <Servo.h> Servo servo; int pinNo = 13; void setup() { Serial.begin(9600); pinMode(pinNo,OUTPUT); servo.attach(9); } void loop() { }
Yukarıdaki örnek kod parçasında setup fonksiyonu kullanılarak Serial.begin() ile seri veri iletim hızının ayarlanması, pinMode() ile belirtilen pinin bir çıkış pini olarak kullanılacağının belirtilmesi ve servo.attach() tanımlanan servo nesnesinin hangi pini kullanacağının belirtilmesi yapılmıştır. Bu örnektende anlaşılacağı gibi setup() fonksiyonu ile ortam çalışmaya hazır hale getirilir.
loop() Fonksiyonu
Loop() fonksiyonu, setup fonksiyonu çalıştırıldıktan sonra çalıştırılır ve bir sonsuz döngü işlevi görür. Loop fonksiyonun bu sonsuz döngü özelliği kullanılarak sürekli tekrar edecek olan işlemlerimizin gerçekleştirilmesini sağlanır. Örneğin; Arduino’nun belkide en temel örneği olan Blink örneğinde olduğu gibi 1’er saniye aralıkla bir ledi yakmak ve söndürmek gibi tekrar eden bir işlemlerde kullanılabilir.
void setup() { Serial.begin(9600); } void loop() { int sensorValue = analogRead(A0); Serial.println(sensorValue); delay(1); }
Yukarıdaki örnek kod parçası olan Arduino’nun AnalogReadSerial örneğinde, Analog Ao pininden okunan değerin 1 ms aralıklarla seri monitör üzerinden ekrana yazılması işlemi yapılmaktadır ve bu işlem sürekli olarak tekrar edecektir.
Arduino’da “Merhaba Dünya”
Bir programlama dili öğrenirken ilk yazılan kod “Merhaba Dünya” olduğu gibi Arduino’da da led yakmaktır. Şimdi Arduino’nun Blink örneğini kullanarak nasıl led yakabileceğimizi görelim.
void setup() { pinMode(13, OUTPUT); // 13. Pini çıkış pini olarak ayarla } void loop() { digitalWrite(13, HIGH); // 13. Pine güç ver delay(1000); // 1000 ms bekle digitalWrite(13, LOW); // 13. Pine güç verme delay(1000); // 1 sn bekle }
Yukarıda örneğimizde setup() fonksiyonunda 13 numaralı pinin çıkış için yani güç vermek için kullanılacağı belirtilmiş, loop fonksiyonu içerisinde de önce 13 numaralı pinde güç verilerek led yakılmış ardında 1000 ms yani 1 sn beklendikten sonra güç kesilerek led söndürülmüş ve tekrar 1 sn bekletildikten sonra bu işlemlerin tekrarlanması sağlanmıştır.
NOT: Öncelikle yukarıdaki örnek kod Arduino IDE’nin örnek kodlarından blink örneğidir. Bu yazının hazırlandığı tarih itibari ile bu kod parçacığını açıp inceleyecek olursanız 13 yerine LED_BUILTIN yazdığını göreceksiniz. Bu durum bu örneğin son güncellemelerinde bu şekle getirilmiştir. Ön tanımlı değişkenler daha sonraki bir derste işleneceği için blink örneğinde önceki versiyonlarında olduğu gibi LED_BUILTIN yerine 13 kullanılmıştır.
Arduino’nun klasik kodlarının vazgeçilmezleri olan setup ve loop ile tanıştık ve küçük bir örnek yardımı ile de nasıl kullanıldığı hakkında fikir sahibi olmuş olduk Bundan sonraki derslerimizde de sıklıkla kullanacağımız bu iki fonksiyonu ile tanıştığımız dersimizin sonuna geldik. Bir sonraki içeriğimizde Mobilhanem.com‘da görüşmek üzere.
Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.
Tüm Arduino Dersleri için tıklayınız..
30
merhabalar bir kodda 2 tane void loop olr mh acb