ARDUINO ILE KODLAMA DERSLERİ #5 (DÖNGÜLER VE KOŞULLAR)


ARDUINO ILE KODLAMA DERSLERİ #5 (DÖNGÜLER VE KOŞULLAR)


Merhaba arkadaşlar basit Arduino kodlama derslerimizin son dersine hoş geldiniz bu dersimizde dögüler ve koşulları göreceğiz. Karadayı Rototics olarak önerimiz bu dersi dikkatli bir şekilde okuyarak mantığını anlamanız yönündedir. Çünkü döngüler ve koşullar konusu Arduino kodlarken en çok sıkıntı çekilen bölümlerden biridir. Bu bölümde işleyeceğimiz kodların listesi şu şekilde;

  • if-else
  • for
  • switch-case1-case2..
  • while
  • do-while


Değerli Karadayı Robotics okurları bu dersimizdeki işleyeceğimiz kodların listesini gördükden sonra ve detaylı açıklamaya geçmeden önce bir hatırlatma yapmak istiyorum. Bu derslerimizden sonra konularımızın pekişmesi için bazı projelerimizde kullandığımız kodları kullanarak YORUMLAMA dersleri yayınlayacağız. Tahmini 3 dersten oluşacak yorumlama derslerimizi kaçırmamanızı tavsiye ederiz.

İf-else

int mesafe = 0;  // mesafe başlangıç değerimizi 0 olarak belirledik
void setup() {
}
void loop() {
  if ( mesafe > 20 )  // evet arkadaşlar varsayalımki 2 tane motorumuz var. Eğer mesafemiz 20 cm'den
                     //  Aşağıdaysa aşağıdaki kodumuz çalışsın
  {
    motor1.run(FORWARD);  // YUKARIDAKİ ŞART DOĞRU İSE MOTOR 1 VE 2 İLERİ
    motor2.run(FORWARD); //
}
else                // Eğer yukarıdaki durumdan farklı bir durum yani mesade 20 cm ve yukarısı ise
                   //  Aşağıdaki kodları uyguluyoruz
{
     motor1.run(RELEASE);  // YUKARIDAKİ ŞART DOĞRU DEĞİL İSE MOTORLAR DURSUN
    motor2.run(RELEASE);
}


for


int a;  // A ADINDA BİR DEĞİŞKEN ATIYORUZ ARKADAŞLAR
int buzzer = 7;  // BUZZER PİNİMİZİN 7 OLDUĞUNU BELİRLEDİK
void setup() {

  pinMode(buzzer, OUTPUT);  // BUZZDER PİNİMİZİN ÇIKIŞ OLDUĞUNU BELİRLEDİK
}
}
void loop() {

for(a=0; a<=10;a=a+1){   // a=0 YANİ A DEĞİŞKENİMİZİN BAŞLANGIÇ DEĞERİ 0
                        //  a<=10 YANİ A DEĞİŞKENİMİZİN SON DEĞERİ 10
                       //   a=a+1 yani bu döngü 10 a kadar ulaşana kadar 10 kez tekrar edilecek
                      //    Eğer a+2 olsaydı 2 şer 2 şer atlayacaktı ve bu döngü 5 kez tekrar edilecekti
                      
digitalWrite(buzzer,HIGH);    // Eğer döngü doğruysa buzzer 1 saniye ses çıkarsın

delay(1000);

digitalWrite(buzzer,LOW)    // 1 saniye ses çıkardıktan sonra 1 ssaniye sussun ve bunu 10 kere tekrarlasın.

delay(1000);
}


switch-case1-case2..


int deger;  // değer adında bir kompanente bağlı bir değişken atadık
const int  led 5;  // 5. pine led sabitini atadık
const int  led2 6; // 6. pine led2 sabitini atadık
void setup() {
  pinMode(led, OUTPUT); // led pininin çıkış olduğunu belirledik
pinMode(led2, OUTPUT);  // led 2 pininin çıkış olduğunu belirledik
}
void loop() {
  
}
switch(deger)  // değişkenimizi buraya giriyoruz
{
  case 1: digitalWrite(led, HIGH);  // eğer değişkenimiz 1 değerini verirse led yansın
  break; //şart sağlandı alttaki komuta geçmemesi için kodu durdurduk
  case 2: digitalWrite(led, HIGH);  // eğer değişkenimiz 2 değerini verirse led2 yansın
  break; //şart sağlandı kodu durdurduk
}
}


while


int kosul;  // BİR KOŞUL DEĞİKENİ BELİRLİYORUZ
const int buzzer 5;  // 5. PİNE BUZZER SABİTİNİ ATADIK

void setup() {
pinMode(buzzer, OUTPUT);  // BUZZER PİNİNİN ÇIKIŞ OLDUĞUNU BELİRLEDİK
}

void loop() {
  
while(kosul < 20){  // EĞER KOSUL DEĞERİ 20 DEN KÜÇÜKS OLDUĞU SÜRECE AŞAĞIDAKİLER UYGULANSIN ( EĞER DÖNGÜMÜZ BAŞTA YANLIŞ İSE KODUMUZ HİÇ BİR ZAMAN ÇALIŞMAYACAKTIR
  
digitalWrite(buzzer, HIGH);  // KOSUL SAĞLANIRSA BUZZER 500 MS BOYUNCA SES ÇIKARSIN VE 500 MS SUSSUN
delay(500);
digitalWrite(buzzer, LOW);
delay(500);
}
}

do-while


int kosul; // BİR KOŞUL DEĞİŞKENİ BELİRLİYORUZ
const int led 5;  // 5. PİNE LED SABİTİMİZİ ATIYORUZ
void setup() {
pinMode(led, OUTPUT);  // LED PİNİMİZİN ÇIKIŞ OLDUĞUNU BELİRLEDİK
}
void loop() {
do
{
digitalWrite(buzzer, HIGH);  // KOSUL SAĞLANMADAN ÖNCE BUZZER 500 MS BOYUNCA SES ÇIKARSIN VE 500 MS SUSSUN
delay(500);
digitalWrite(buzzer, LOW);
delay(500); 
}while (kosul < 20 ); // KOSUL SAĞLANDIĞI SÜRECE YİNE YUKARIDAKİ KODLAR DEVREYE GİRSİN

}
SONRAKI YAYIN
« Prev Post
ONCEKI YAYIN
Next Post »

1 yorum:

Click here for yorum
6 Eylül 2017 00:40 ×

Merhaba,Diğer projenizde de sorduğum soruyu bu konu altında sormak daha mantıklı geldi, Eğitimizi çok beğendim ama mesela bir kapıyı takip eden ultrasonik sensörüm var ve kapı kapalı iken alarm çalmasın ta ki kapı sensöre 1 cm yada 2 cm yaklaşır yaklaşmaz aradaki farkı anlayıp alarm çaldırmak istesem nasıl bir kod yapısı kullanabilirim?
Çok teşekkürler.

Teşekkürler Mert KaracaYorumun en kısa sürede değerlendirilecektir
Yanıtla
avatar
admin
Thanks for your comment