Bu dersimizde düzenli olarak tekrarlayan kodları onlarca kez yazmak yerine bir kere yazıp kısaltmayı öğreneceğiz.
Nasıl yapılacağını örnek bir devre üzerinden açıklayalım.
Senaryo:Birisi yeşil diğeri sarı olmak üzere 2 ledimiz var. Arduinoya enerji verildiği anda yeşil ledin 150 ms aralıklarla 10 defa flip flop yapıp sönmesi isteniyor. Yeşil led flip flop yaparken sarı led sönük kalacak.
Yeşil led 10 defa flip flop yaptıktan sonra da sarı ledin 150 ms aralıklarla 10 defa flip flop yapıp sönmesi isteniyor.
Bu döngü sonsuza dek devam edecektir.
Bu senaryoya ait devre şemamız şu şekilde:Bu devreye ve istenen senaryoya ait kodlarımız şu şekilde:
/*
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * *
* * TEKRARLAYAN KODLARI * *
* * KISALTMA * *
* * temrinlerim.org * *
* * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
*/
// CIKIS TANIMLAMALARI BURADA BASLADI
int yesil_led = 13; // 13 nolu pine yesil_led adini verdik
int sari_led = 6; // 6 nolu pine sari_led adini verdik
// CIKIS TANIMLAMALARI BURADA BITTI
void setup()
{
pinMode(yesil_led, OUTPUT); // yesil_led isimli pin (13) cikis yapildi
pinMode(sari_led, OUTPUT); // sari_led isimli pin (6) cikis yapildi
}
void loop()
{
for (int yesil_ledi_10_defa_flash_yap = 1; yesil_ledi_10_defa_flash_yap <= 10; yesil_ledi_10_defa_flash_yap ++)
{
digitalWrite(yesil_led, HIGH);
delay(150);
digitalWrite(yesil_led, LOW);
delay(150);
}
for (int sari_ledi_10_defa_flash_yap = 1; sari_ledi_10_defa_flash_yap <= 10; sari_ledi_10_defa_flash_yap ++)
{
digitalWrite(sari_led, HIGH);
delay(150);
digitalWrite(sari_led, LOW);
delay(150);
}
}
Kodları inceleyecek olursak yeşil ledin flip flop yapmasını sağlayan kodlar şunlar:Kodlari sadece uyeler gorebilir. Lutfen Uye Olun ya da Giris Yapin.
Bu kod yeşil ledin 1 kere flip flop yapmasını sağlayacaktır. Ancak bu kodu;
şu kod ile:
Kodlari sadece uyeler gorebilir. Lutfen Uye Olun ya da Giris Yapin.
şu kod
Kodlari sadece uyeler gorebilir. Lutfen Uye Olun ya da Giris Yapin.
arasına yazarsam yeşil led 10 kere flip flop yapacaktır. Aynı durum sarı led için de söz konusudur.
Kodda kırmızı renk ile vurguladığım
10 sayısı ledin iki parantez arasındaki kodların
10 kere çalıştıktan sonra programın bir alt satıra geçeceğini ifade eder. Yeşil renkle vurguladığım
yesil_ledi_10_defa_flash_yap (3 yerde geçiyor) ifadesi yerine başka bir şey yazabilirsiniz.
Örnekten anlaşılacağı üzere onlarca satır yazmadığımız için program gayet sade oldu. program ilk bakışta çok daha anlaşılabilir olacaktır. Umarım anlatabilmişimdir.
Bu da söz konusu devreye ait proteus similasyonu:Devreye ait isis ve ide dosyaları konu ekinde mevcuttur.
Anlatım, kodlama, tasarım, video ve resim temrinlerim.org sitesine aittir. Bu konu kaynak gösterilerek kullanılabilir.