Arduino Tarifleri #16 – Break ve Continue

333
20 Ağustos 2015 Ömer Faruk Uçar tarafından

Merhaba arkadaşlar, serinin 16. bölümüne hoş geldiniz 🙂

Bu videoda ilk başta mantıklı gelmeyen, video sonunda “iyi tamam da nasıl bir algoritmada kullanabilirim ki bunları” deme potansiyelinizin bulunduğu 2 kod olan break ve continue komutlarını öğreneceğiz.

Neden böyle saçma bir giriş oldu şimdi demeyin, zamanında öğrenirken aynen bana böyle oldu çünkü bu komutlarda 🙂 Üstelik kimse bana, benim aşağıda size yaptığım tanımı yapmamıştı. Neyse zamanı geldiğinde, ihtiyacınız olduğunda o ışık yanacak ve ” işte şuraya da bi tane continue salladım mı it gibi çalışır bu kod ” dediğiniz anlar olacaktır 🙂

Neyse goygoyu bir kanara bırakalım, bu komutlarda en az önceki komutlarımız kadar önemli (hoş bu zaman kadar hiç bir komuta da önemsiz demedik ama). Algoritmalarımızda özellikle ilerleyen zamanlar iç içe ifler, döngüler, fonksiyonlar, kullandığımızda sağ kolumuz olacak olan bu komutları şimdi kullanım şekliyle görelim ki ilerde karşımıza çıktığında öyle bakıp kalmayalım. Tek amacımız bu, çünkü nasıl desem……. hani edatlar, bağlaçlar olur ya dil bilgisi derslerimizde kendi başlarına bir halta benzemeyen cümle içinde kullanılınca anlam kazanan, işte tam bunlarda öyle oldukları için ciddi bir proje içerisinde görmeden önemlerini kavramak biraz zor. O yüzden kendinizi videoya bırakın, nasıl kullanıldığını ve çalıştığını anlamaya çalışın, ileride projeler yaptığımızda çok daha iyi otururlar zaten 🙂

Not: Edat, bağlaç örneğim doğru olması ise kusura bakmayın, son dil bilgisi dersinden bu baya yıllar geçti ve mühendislik eğitimim ile sayısal hayatım boyunca pek dikkat etmedim kendilerine, genç arkadaşlara ayıp olmasın 🙂 

Videoda Kullanılan Devre:

Çok basit, aslında şema vermesek de olur fakat yinede eksik kalmasın, sadece bir tane buton kullanıyoruz arkadaşlar.
16

Videoda Kullanılan Kodlar:
Videoda çok kod kullandık hepsi küçük küçük konuyu anlatabilmek adına yapılmış örneklerdi. O yüzden burada ekstradan vermeye gerek yok ama yinede bazı örnekleri verelim. Üst kısımdaki yorum satırlarından hangi örnekler olduğunu anlayabilirsiniz.

 

/*
   Lezzetli Robot Tarifleri
   Arduino Tarifleri -16-
   break kodunu kullanmak
   VİDEO >>> http://lezzetlirobottarifleri.com/video/arduino-tarifleri-16-break-ve-continue
*/
int durum; // durum adlı değişken tanımladn

void setup()
{
  pinMode(8, INPUT); // 8. pin input yapıldı
  Serial.begin(9600); // seri haberleşme başladı
}
void loop()
{
  for (int b = 0; b < 20 ; b++) // for döngüsü 0 dan 19 a kadar dönecek
  {
    Serial.println(b); // b değerini ekrana bas
    delay(500); // 500 ms bekle
    durum = digitalRead(8); // durum adlı değişkene 8. pinden gelen sonucu ata
    if (durum == HIGH) // durum hıgh ise
    {
      break; // döngüden çık
    }
  }
  Serial.println("Donguden cikildi"); // ekrana döngüden çıkıldı yaz
}

/*
   Lezzetli Robot Tarifleri
   Arduino Tarifleri -16-
   swtich case ile breadk örneği
   VİDEO >>> http://lezzetlirobottarifleri.com/video/arduino-tarifleri-16-break-ve-continue
*/
int durum;
int b = 1;

void setup()
{
  pinMode(8, INPUT);
  Serial.begin(9600);
}
void loop()
{
  switch (b)
  {
    case 1:
      Serial.println("ilk case degeri calisti");
      break;
    case 2:
      Serial.println("ikinci case degeri calisti");
      break;
  }
  Serial.println("donguden cikildi");
  delay(500);
}

/*
   Lezzetli Robot Tarifleri
   Arduino Tarifleri -16-
   while ile bread örneği
   VİDEO >>> http://lezzetlirobottarifleri.com/video/arduino-tarifleri-16-break-ve-continue
*/
int durum;
int b = 0;
void setup()
{
  pinMode(8, INPUT);
  Serial.begin(9600);
}
void loop()
{
  while (1)
  {
    b++;
    Serial.println(b);
    delay(500);
    durum = digitalRead(8);
    if ( b == 10)
    {
      break;
    }

  }
  Serial.println("donguden cikildi");
}

/*
   Lezzetli Robot Tarifleri
   Arduino Tarifleri -16-
   continue, for döngüsü örneği
   VİDEO >>> http://lezzetlirobottarifleri.com/video/arduino-tarifleri-16-break-ve-continue
*/
void setup()
{
  Serial.begin(9600); 
}
void loop()
{
  for (int a = 0; a < 20; a++)
  {
    if (a == 6)
    {
      continue;   
    }
    Serial.println(a);
    delay(500);
  }
}

/*
   Lezzetli Robot Tarifleri
   Arduino Tarifleri -16-
   continue, for döngüsü örneği
   VİDEO >>> http://lezzetlirobottarifleri.com/video/arduino-tarifleri-16-break-ve-continue
*/
int durum;
int a;

void setup()
{
  Serial.begin(9600);
  pinMode(8 , INPUT);
}
void loop()
{
  while (1)
  {
    a++;
    durum = digitalRead(8);
    if ( durum == HIGH)
    {
      delay(200);
      continue;
    }
    Serial.println(a);
    delay(250);
  }
}

Kategoriler Etiketler

Yorumunuzu ekleyin

E-posta hesabınız yayımlanmayacak.