Fonksiyonlar İçine Değişken Atama (Arduino Programlama - C/C++ dersleri 3)
İlk olarak daha önce burada örneğini yaptığımız led uygulamasının basit halini yapacağız sizde Arduinoya ısınmak için bu örneği aşağıdaki yöntemle yaparsanız sizin için çok iyi olur. Takıldığınız yer olursa yorum olarak sormaktan çekinmeyin.
İlk örnekte devre kurmamıza gerek yok direk Arduino kartımızda bulunan ledi kullanacağız.
// arduonik.blogspot.com // Bu örnekte Arduino kartımızda dahili bulunan ve 13. pine bağlı led kullanacağız int led = 13; // pinimize "led" adını veriyoruz void ac_kapa(int bekleme){ //daha sonra "ac_kapa" adında bir fonksiyon oluşturuyoruz ama daha önceki parantez içinin aksine burada bekleme adında bir int değişken var // fonksiyonu kullanırken bu değişken yerine istediğimiz değeri yazarsak sadece bu fonksiyon içinde kullanılan bekleme değişkenleri yazdığımız değeri alacak digitalWrite(led, HIGH); // ilk başta ledimizi açık duruma getiriyoruz delay(bekleme); // ve bekleme değişkeni kadar bekliyoruz digitalWrite(led, LOW); // ardından ledi kapatiyoruz delay(bekleme); // ve led kapalıyken bekleme değişkeninin değeri kadar bekliyoruz } // fonksiyonu kapatmayı unutmayın :) //kendi fonksiyonumuzdan sonra Setup fonksiyonunu oluşturuyoru void setup() { pinMode(led, OUTPUT); //led olarak adlandırdığımız 13 nolu pini çıkış pini olarak ayarlıyoruz } // Daha sonrada loop fonksiyonuna geçiyoruz void loop() { ac_kapa(500); // ac_kapa fonksiyonunu çalıştırıyoruz ve bekleme değişkenini 500 yapıyoruz yani her iki delay da 500 ms olacak }Şimdi bu kodu biraz daha geliştirip açık kalma ve kapalı kalma sürelerini farklı farklı olarak kullanalım
// arduonik.blogspot.com // Bu örnekte Arduino kartımızda dahili bulunan ve 13. pine bağlı led kullanacağız int led = 13; // pinimize "led" adını veriyoruz void ac_kapa(int bekleme_acik,int bekleme_kapali){ //daha sonra "ac_kapa" adında bir fonksiyon oluşturuyoruz ama daha önceki parantez içinin aksine burada //bekleme_acik ve bekleme_kapali adında iki int değişken ekliyoruz // fonksiyonu kullanırken bu değişkenler yerine istediğimiz değeri yazarsak bu fonksiyon içinde kullanılan bekleme_acik ve bekleme_kapali değişkenleri yazdığımız değerleri alacak digitalWrite(led, HIGH); // ilk başta ledimizi açık duruma getiriyoruz delay(bekleme_acik); // ve bekleme_acik değişkeni kadar bekliyoruz digitalWrite(led, LOW); // ardından ledi kapatiyoruz delay(bekleme_kapali); // ve led kapalıyken bekleme_kapali değişkeninin değeri kadar bekliyoruz } // fonksiyonu kapatmayı unutmayın :) //kendi fonksiyonumuzdan sonra Setup fonksiyonunu oluşturuyoru void setup() { pinMode(led, OUTPUT); //led olarak adlandırdığımız 13 nolu pini çıkış pini olarak ayarlıyoruz } // Daha sonrada loop fonksiyonuna geçiyoruz void loop() { ac_kapa(500,250); // ac_kapa fonksiyonunu çalıştırıyoruz ve bekleme_acik değişkenini 500, bekleme_kapalı değişkenini 250 yapıyoruz yani her iki delay da farklı olacak }Daha öncede dediğim gibi blogta ki örneklerden Trafik Lambası örneğinin devresini kurup kendi yazdığınız foknsiyon ile fonksiyon içine yazılan rengi yakacak bir kod yazmak size bir şeyler katacaktır. Takıldığınız yeri yorumda sorabilirsiniz.
Öncelikle biraz geç cevap verdiğim için kusura bakmayın. Sorduğunuzu tam anlamadım ama http://arduonik.blogspot.com.tr/2015/05/fonksiyonlar-ve-void-setup-void-loop.html linkinde ki gibi istediğiniz kadar fonksiyon oluşturup main fonksiyonu içinde http://arduonik.blogspot.com.tr/2015/05/if-else-yaps-arduino-programlama-cc.html linkinde ki gibi if else yapısı kullanarak hangi şartta hangi işin yapılacağını belirleyebilirsiniz.Yada direk if else içine ne yapmak istiyorsanız yazabilirsiniz. Eğer yanlış anlamışsam biraz daha açık olarak mümkünse örnekle sorabilirseniz daha iyi olur.
YanıtlaSilC++, C Plus Plus, Programlama
YanıtlaSil