Arduino Öğreniyorum Bölüm 5

Selamınaleyküm

Bu bölümde if – else yapısından ve seri port ekranından arduinoya veri göndermekten bahsedeceğim . Şimdiye kadar yaptığımız projelerde programın içinde tanımladığımız değişkenleri  kullanarak arduinoya iş yaptırmıştık, bu projede klavyeden girdiğimiz değişken değerleri kullanarak if – else yapısını tanımaya çalışacağız.

Bu projede elektronik malzemelere ihtiyacımız olmayacak sadece arduinoyu bilgisayarımıza bağlayıp mantıksal işlemleri yaptıracağız. Arduino idemizi açıp aşağıdaki kodları yazalım.

void setup() {
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);

  Serial.begin(9600);
}

void loop() {
  if (Serial.available()) {
    int a = Serial.readString().toInt();

    if ( a < 5 ) {

      Serial.println((String)a + " sayisini girdiniz  bu deger 5 'ten kucuktur");
    } else if ( a > 5 ) {
      Serial.println((String)a + " sayisini girdiniz  bu deger 5 'ten buyuktur");
    } else if ( a == 5 ) {
      Serial.println((String)a + " sayisini girdiniz bu deger 5 'e Esittir");
    } else {
      Serial.println("tanımsız komut");
    }
  }
}

Fark ettiğiniz üzere kodlarımızda daha önce kullanmadığımız bazı fonksiyonlar  var sırayla neler yaptığımızı ve ne işe yaradıklarını anlatayım.

Serial.begin(9600)

Serial diyerek arduino ile bilgisayarımızın seri port üzerinden haberleşeceğini begin(9600) ile de  hızını belirleriz, bu hız baud adı verilen bir değerle ifade edilir. Burada yazdığımız 9600 sayısı saniyede gönderilen bit sayıdır. Seri port ekranının sol alt köşesindeki baud değeri ile koda yazdığımız değerin aynı olmasına dikkat edin zira verilerin doğru görüntülenmesini doğrudan etkiler.

 

Serial.available()

Bu fonksiyon seri port ekranından veri girişi olup olmadığını denetler. Programımızda if içerisinde kullanarak bir veri girişi olup olmadığını kontrol ediyoruz.

Serial.readString()

Bu fonksiyonla seri port ekranına girilen veriyi oku demiş oluyoruz, sonuna eklediğimiz toInt() fonksiyonu ile string değer olarak okuduğumuz karakteri sayısal değere çeviriyoruz çünkü döngü içerisinde sayısal bir karşılaştırma yaptık .

if ( a < 5 ) {…}

Bu kısımda a değişkenimize  ekrandan girilen sayının 5 sayısından küçük olma durumunu kontrol ediyoruz . arduino da tıpkı diğer dillerde kullandığımız karşılaştırma operatörleri kullanıyoruz detaylı anlatım içinburadaki yazımda dökümanların linkini bulabilirsiniz.

 

Serial.print() ve Serial.println()

Bu iki fonksiyon seri port ekranına yazı yazmak için kullanılır. Her ikisi de aynı işi yapmakla beraber arada ki  tek fark Serial.println() kullandığınızda yazdırdığınız değerin sonuna bir satır sonu  ekler  ve bir sonraki satıra iner.  Her ikisi de değişkenleri direk olarak ekrana yazamazlar bunu yapabilmek için değişkenimizi string olarak dönüştürmemiz gerekir .

Yükleme ve çalıştırma

Kodlarımızı arduino ya yükledikten sonra aşağıdaki resimde işaretlenen butona tıklayıp seri port ekranını açıyoruz

arduino seri port

Açılan pencerede dikkat etmemiz gereken bazı ayarlar var, bunlardan ilki 1 ile işaretlediğim kısım burada sizin yazdıklarınızın peşine seçtiğiniz ayara göre fazladan karakter eklenir ki bu da bizim karşılaştırma yapmamızı zorlaştırır bu sebeple burayı satır sonu yok olarak seçin. İkinci kısımda ise kodumuzun en başında belirlediğimiz iletişim hızı ayarı var bu kısımda kodda ne yazdıysak ona uygun seçmeliyiz. Son olarak pencerenin üstünde yer alan kısma bir sayı girip gönder butonuna ya da enter tuşuna basıp arduino ile ilk iletişimimizi gerçekleştirebiliriz.

arduino seri port ekranı

 

Youtube playlist :

https://www.youtube.com/watch?v=4lneyUsTu7c&list=PLaEea2gDu6vVcpvw0EdwRDdJjMOR0qakn