Arduino-FOR Döngüsü

Arduino da Kontrol Komutları

 

FOR Komutu Ve Kullanımı

 

FOR, en basit anlamda belirli komut/komutların istenen sayıda tekrar ettirilmesini sağlar. Bunun için öncelikle başlangıç değeri belirlenir. Ardından limit olarak bitiş sayısı veya bitiş koşulu belirlenir.  Son olarak ise başlangıç değerinden itibaren sayının kaçar kaçar artacağı belirlenir. Örneğin 0’dan başlayarak 10’a kadar tekrar etmesini istediğimiz bir döngü oluşturacağımız zaman komut satırı şu şekilde yazılır;

Kullanım Formatı:

for(başlangıç değeri; koşul; artış miktarı)

{

Tekrar etmesi istenilen komut/komutlar;

}

Örnek :

İnt a;

for(a=0; a<10;a=a+1){

digitalWrite(led,HIGH);

delay(1000);

digitalWrite(led,LOW);

delay(1000);

}

Açıklama:

  • Öncelikle a adında değişken belirlenir. Ve for komutu içerisinde başlangıç değeri olarak a=0 yazılarak 0 değeri atanır.
  • Daha sonra bitiş sayısını belirlemek için koşul ifadesi belirlenir. Burada a<10 yazılarak a sayısı 10 sayısından küçük olduğu sürece program çalıştırılır. Yani koşul olarak belirtilen ifade doğru olduğu sürece döngü tekrar eder.
  • Son olarakta artış miktarı belirlenir. a=a+1 ifadesi a değişkenine her çevrimde bir arttırılmasını sağlayacaktır. Bu değer a=a+2 olsaydı her çevrimde değer 2 artacaktı ve 10 sayısına beş çevrimde ulaşılacaktı.
  • For komutunun sonunda “{“ açılır ve kapatılır “}”. Bu parantezler arasına tekrar etmesi istenilen komutlar yazılır.

Arduino-FOR Döngüsü” için 10 yorum

  • 05/12/2016 tarihinde, saat 11:54
    Permalink

    Cok aciklayici bi yazi olmus tesekkurler

    Yanıtla
  • 11/12/2017 tarihinde, saat 09:49
    Permalink

    Ufak bi düzeltme: Bu döngü “for(a=0; a<=10;a=a+1)" 10 defa değil, 11 defa tekrar ettirir.

    Yanıtla
    • 11/12/2017 tarihinde, saat 13:49
      Permalink

      Evet haklısınız. Gözden kaçırmışız. Teşekkürler

      Yanıtla
  • 17/01/2018 tarihinde, saat 17:56
    Permalink

    Merhaba, sensöre ses gelince, servoyu hareket ettiren bir kod yazmaya çalıştım. Servo da for döngüsü kullandım fakat if else komutunu kullanmaya kalktığımda hata alıyorum.

    Yanıtla
    • 18/01/2018 tarihinde, saat 09:48
      Permalink

      Merhaba.
      Kodları paylaşırsanız yardımcı olmaya çalışalım

      Yanıtla
  • 19/03/2018 tarihinde, saat 14:34
    Permalink

    merhaba
    ben dijital giriş olarak belirli bir pine 3 defa sinyal gelince bir role çektirip bırakmak istiyorum. döngünün tekrarlanması gerekiyor. ancak tekrardan 3 defa plus gelecek ve 3. plustan sonra role tekrar çekip bırakacak. ve yine başlıyacak.

    İnt a;
    int role = 5;
    int sinyal = 6;

    void setup ()
    {

    pinmode(role , OUTPUT) //roleye baglı
    pinmode(sinyal , INPUT) // giriş plus dısarıdan gelen sinyal

    }

    void loop ()
    {
    for(a=0; a<3;a=a+1)

    ıf digitalRead ==a;
    {
    digitalWrite(role,HIGH);

    delay(1000);

    digitalWrite(role,LOW);

    delay(500); //bu low dan sonra tekrardan 3. defa pus gelince çekecek ve bırakacak

    }
    kodlama dogrumu parantezler , ben baslayılı 2 hafta oldu yardımcı olusanız sevınırım

    Yanıtla
    • 20/03/2018 tarihinde, saat 10:27
      Permalink

      a = 0;

      loop(){

      if(digitalRead(6) == HIGH) a = a + 1; // 6. pine sinyal geldiğinde a değişkenini +1 yapacak.
      while(digitalRead(6) == HIGH); // 6. pin HIGH olduğu sürece sonsuz döngüde kalacak bu satırla

      if(a == 3) {
      digitalWrite(role, HIGH);
      delay(1000); //süreyi değiştirebilirsin!
      digitalWrite(role,LOW);
      a = 0;
      }
      }

      Yanıtla
  • 20/03/2018 tarihinde, saat 10:46
    Permalink

    Merhaba cevap için teşekkürler. INT ve setup kısmı doğru galiba sadece a nın ilk değeri 0 rı ilave edicem setup anlaşılan. yazılarınızı okudukça mantını iyice anlıyorum teşekkürler.
    akşama yazıcam kodu

    Yanıtla
  • 26/09/2018 tarihinde, saat 09:41
    Permalink

    for döngüsü ile yazdığım program gayet güzel çalışırken bugün for döngüsü hata veriyor.sebebi ne olabilir.takıldık kaldık.teşekkürler.

    Yanıtla
    • 27/09/2018 tarihinde, saat 23:24
      Permalink

      Yazmış olduğunuz kodunuzu paylaşırsanız yardımcı olmaya çalışırım

      Yanıtla

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: