Bu bölümde gerçekten önemli bir şey öğreneceğiz. Aslına bakarsanız serideki videolardan hiçbirinde önemsiz bir şey öğrenmedik ama bu gerçekten çok önemli bir bilgi. Şimdi öncelikle şu kavramları iyi bilmek lazım, “BUG” ve “DEBUG”. Bunlar hakkında yazılmış pek çok yazı var. Hiç burada boş yere kafanızı şişirmeyeyim. Bu kavramlar hakkında ayrıntılı bilgi isteyen, tarihçesini falan merak eden manyak meraklı arkadaşlar Google amcaya bu 2 terimi yazarak pek çok Türkçe yazı bulabilirler. Zaten videoda da değindiğimiz için ben burada çok üstünde durmayacağım. Bug hata demek, debug da hata ayıklama. Bu videoda öğrendiğimiz serial monitör yardımıyla ileride buglarımızı debug edebileceğiz 🙂 Şimdilik bu monitörün nasıl kullanıldığını öğrenelim de, debugda daha ayrıntılı kullanımı da serinin ilerleyen bölümlerinde bol bol yapacağımız için iyice oturacaktır. O zaman size iyi seyirler, iyi çalışmalar, hoşça kalın 🙂

MALZEMELER

Bu içerik için gerekli olan tüm malzemeleri www.robo90.com üzerinden güvenle satın alabilirsiniz.

  1. Arduino UNO R3 – SMD Klon (CH340 Çipli) – USB Kablo Hediyeli
  2. 12x12x7mm Push Buton – Tact Buton x5
  3. Kırmızı Led – 5mm – 10 Adet
  4. 220R Direnç Paketi – 1/4 W – 10 Adet
  5. 10K Direnç Paketi – 1/4 W – 10 Adet
  6. Elektronik Breadboard – Büyük Boy – 830 Pin
  7. Jumper Kablo

DEVRE ŞEMASI

ARDUINO KODU

/*
Lezzetli Robot Tarifleri
Arduino Tarifleri -6-
Serial Monitör ve Debugging
VİDEO >>> http://lezzetlirobottarifleri.com/arduino-tarifleri-6-serial-monitor-ve-debugging
*/
int but1 = 2; // buton pinlerini atadık
int but2 = 3;
int but3 = 4;
int but4 = 5;
int but5 = 6;
int led1 = 8; // Led pinlerini atadık
int led2 = 9;
int led3 = 10;
int b1d;// Buton 1 okunan değerini kaydetmemiz için db1 adında değişken atayoruz...ve diğerleri için
int b2d;
int b3d;
int b4d;
int b5d;
void setup()
{
Serial.begin(9600); // seri haberleşme başladı
pinMode(but1 , INPUT); // Buton pinlerini giriş olarak atadık
pinMode(but2 , INPUT);
pinMode(but3 , INPUT);
pinMode(but4 , INPUT);
pinMode(but5 , INPUT);
pinMode(led1 , OUTPUT); // Led pinlerini çıkış olarak atadık
pinMode(led2 , OUTPUT);
pinMode(led3 , OUTPUT);
}
void loop()
{
b1d = digitalRead(but1); // butonları oku ve durum bilgilerini değişkenlere kaydet
b2d = digitalRead(but2);
b3d = digitalRead(but3);
b4d = digitalRead(but4);
b5d = digitalRead(but5);
if (b1d == HIGH) // b1d HIGH ise ( bu bağlantıda 1. butona basılmış ise)
{
digitalWrite(led1 , HIGH);// led1'i yak
Serial.println(" led 1 yandi"); // ekrana yazıyı yaz
delay(100); // 100 ms bekle
}
else if (b2d == HIGH) // b1d HIGH değil, b2d HIGH ise ( yani 2. butona basılmış ise)
{
digitalWrite(led1 , HIGH); //led1'i yak
digitalWrite(led2 , HIGH); //led2'yi yak
Serial.println(" led 1 ve led 2 yandi"); // ekrana yazıyı yaz
delay(100); // 100 ms bekle
}
else if (b3d == HIGH) //3. butona basılmı ise
{
digitalWrite(led1 , HIGH); // but3'e basıldığında led1 led2 ve led3 yakacak
digitalWrite(led2 , HIGH);
digitalWrite(led2 , HIGH);
Serial.println(" Tüm ledler yandı "); // ekrana yazıyı yaz
delay(100); // 100 msn bekle
}
else if (b4d == HIGH) // 4. butona basılmış ise
{
digitalWrite(led1 , HIGH); //ledler sırasi ise yanıp sönecekler
delay(250);
digitalWrite(led1 , LOW);
digitalWrite(led2 , HIGH);
delay(250);
digitalWrite(led2 , LOW);
digitalWrite(led3 , HIGH);
delay(250);
digitalWrite(led3 , LOW);
Serial.println(" Karaşimşek "); // ekrana yazıyı yaz
delay(100); // 100 ms bekle
}
else if (b5d == HIGH) // 5. butona basılmış ise
{
digitalWrite(led1 , HIGH); // but5'e basıldığında led1 led2 ve led3 yakacak ve 250 ms sonra söndürecek.
digitalWrite(led2 , HIGH);
digitalWrite(led3 , HIGH);
delay(250);
digitalWrite(led1 , LOW);
digitalWrite(led2 , LOW);
digitalWrite(led3 , LOW);
delay(250);
Serial.println(" Uyarı ver "); // ekrana yazıyı yaz
delay(100); // 100 ms bekle
}
else // eğer hiç bir butona basılmamış ise
{
digitalWrite(led1 , LOW); // tüm ledleri söndür.
digitalWrite(led2 , LOW);
digitalWrite(led3 , LOW);
Serial.println(" Butonlara Basılmıyor"); // ekrana yazıyı yaz
delay(100); // 100 ms bekle
}
}

Arduino Tarifleri Serisi Kategorisi

Direnç nedir? Direnç Nasıl Kullanılır?

Ledler Ve Ohm Yasası

Breadboard ve Jumper Kullanımı