Lise grubu 3. Ders KOD YAZMAYA BAŞLAMAK

Arduino IDE kullanarak temel kodlamaya bugün itibarıyla başladık. Derste uyguladığımız kod örnekleri Batuhan tarafından aşağıda eklenmektedir. Kodları eklerken açıklamalar ekleyen Batuhan'a teşekkür ediyorum. :))







ARDUİNO - UYGULAMA 1 : BASİT BİR LED YAKIP SÖNDÜRME OLAYI
       

int ledPin=13; 
// kart üzerindeki 13.cü pin Led pini olduğu için ledPin değişkenini 13'e eşitledik bu sayede 
// aşşağıda 13 yerine artık ledPin değişkenini yazacağız. 



void setup() {

  pinMode(ledPin,OUTPUT); // ledPin değişkeni 13 numaralı pin'e güç gidecek şekilde ayarlandı (OUTPUT = ÇIKIŞ)
 
}

void loop() {

  digitalWrite(ledPin,HIGH); // Ledi yakmak için 13 numaralı pine yani ledPin değişkenine güç veriyoruz.
  delay(1000); // delay() burada 1000 milisaniye yani 1 saniye bekletme işlemi yapıyoruz.
  digitalWrite(ledPin,LOW); // Ledi söndürmek için 13 numaralı pine yani ledPin değişkenine giden gücü kesiyoruz.
  delay(1000); // delay() burada 1000 milisaniye yani 1 saniye bekletme işlemi yapıyoruz.

}
       
 


ARDUİNO - UYGULAMA 1 : BASİT BİR LED YAKIP SÖNDÜRME OLAYI // Seri Haberleşme - delay(bekleme) işlemini değişkene bağlama - Değişken değerini arttırma örneği
       





int ledPin = 13; 
// kart üzerindeki 13.cü pin Led pini olduğu için ledPin değişkenini 13'e eşitledik bu sayede 
// aşşağıda 13 yerine artık ledPin değişkenini yazacağız. 

int gecikme = 100;

void setup() {

  Serial.begin(9600); // Seri haberleşme birimini ayarlıyoruz.
  
  pinMode(ledPin,OUTPUT); // ledPin değişkeni 13 numaralı pin'e güç gidecek şekilde ayarlandı (OUTPUT = ÇIKIŞ)
 
}

void loop() {

  digitalWrite(ledPin,HIGH); // Ledi yakmak için 13 numaralı pine yani ledPin değişkenine güç veriyoruz.
  delay(gecikme); // Burada delay içerisinde gecikme değişkenini çağırıyoruz. Yani gecikme değişkeninin değeri kaç ise bekleme süresi o kadar olacaktır.
  digitalWrite(ledPin,LOW); // Ledi söndürmek için 13 numaralı pine yani ledPin değişkenine giden gücü kesiyoruz.
  delay(gecikme); // Burada delay içerisinde gecikme değişkenini çağırıyoruz. Yani gecikme değişkeninin değeri kaç ise bekleme süresi o kadar olacaktır.

  gecikme += 100; // Burada gecikme değişkenine her seferinde 100 eklemesini söylüyoruz yani 100'er 100'er arttırma işlemi yapıyor.
  Serial.println(gecikme); // Burada gecikme değişkenini seri ekrana yazdırıyoruz.
  
}



       
 


ARDUİNO - UYGULAMA 1 : BASİT BİR LED YAKIP SÖNDÜRME OLAYI // Seri Haberleşme - delay(bekleme) işlemini değişkene bağlama - Değişken değerini arttırma örneği -İF ELSE KOŞUL KONTROLLERİ
       





int ledPin = 13; 
// kart üzerindeki 13.cü pin Led pini olduğu için ledPin değişkenini 13'e eşitledik bu sayede 
// aşşağıda 13 yerine artık ledPin değişkenini yazacağız. 

int gecikme = 100; // Gecikme süremizi aşağıda gecikme değişkeninden çağıracağımız için gecikme değişkenimizi 100'e eşitledik.

int sayacyon = 1; // sayacyon değişkeni tanımladık bu değişkeni aşağıda koşul işleminde kullanacağız.

void setup() {

  Serial.begin(9600); // Seri haberleşme birimini ayarlıyoruz.
  
  pinMode(ledPin,OUTPUT); // ledPin değişkeni 13 numaralı pin'e güç gidecek şekilde ayarlandı (OUTPUT = ÇIKIŞ)
 
}

void loop() {

  digitalWrite(ledPin,HIGH); // Ledi yakmak için 13 numaralı pine yani ledPin değişkenine güç veriyoruz.
  delay(gecikme); // Burada delay içerisinde gecikme değişkenini çağırıyoruz. Yani gecikme değişkeninin değeri kaç ise bekleme süresi o kadar olacaktır.
  digitalWrite(ledPin,LOW); // Ledi söndürmek için 13 numaralı pine yani ledPin değişkenine giden gücü kesiyoruz.
  delay(gecikme); // Burada delay içerisinde gecikme değişkenini çağırıyoruz. Yani gecikme değişkeninin değeri kaç ise bekleme süresi o kadar olacaktır.

  if(sayacyon == 1 && gecikme < 1000){ // Eğer sayacyon 1'e eşitse ve gecikme 1000'den küçükse gecikme değişkenini 100'er 100'er arttır diyoruz.
    gecikme += 100;   // gecikme değişkeni yukarıdaki koşullar sağlandığı zaman 100'er 100'er artacak.
  }else{ // yukarıdaki koşullar sağlanmıyorsa if ile başlayan koşullar geçerli değilse
    sayacyon = 0; // sayacyon degiskeni 0'a eşitlenecek.
      gecikme -= 100; // gecikme değişkeni 100'er 100'er azaltılacak.
      
      if(gecikme == 0){ // ve gecikme değişkenimizin değeri 0'a ulaştıysa sayacyon değişkenimiz tekrardan 1'e eşitlenecek.
        sayacyon = 1; // yukarıdaki koşul geçerliyse sayacyon değişkeni 1 olacaktır.
      }
        
  }
  Serial.println(gecikme); // Burada gecikme değişkenini seri ekrana yazdırıyoruz.
  
}

       
 


ARDUİNO - UYGULAMA 1 : BASİT BİR LED YAKIP SÖNDÜRME OLAYI // Yeni fonksiyon oluşturma. Oluşturulan fonksiyona değer gönderme ve fonksiyonu çağırma.
       






void setup(){
 Serial.begin(9600); // Seri haberleşme birimini ayarlıyoruz.
 
 delay(2000); // Aşağıdaki kodları çalıştırmadan önce 2 saniye geciktirme işlemi yapıyoruz.  

 gerisay(5); // Kendi oluşturduğumuz fonksiyonu çağırıyoruz, içerisine girdiğimiz 5 değeri fonksiyona yolladığımız değerdir. Yani gerisay içerisine 5 girdiğimiz zaman aşağıdaki sayi değişkeni otomatik olarak 5 sayılıyor.
  
}

void loop(){
  
}

void gerisay(int sayi){ // gerisay adında yeni bir fonksiyon oluşturduk içerisine sayi adında bir tamsayı değişkeni ekledik artık fonksiyonumuzu kullanacağımız zaman gerisay(tamsayı); şeklinde çağırmamız gerekecek.

  for(int i=sayi; i>=0; i--){  // i değişkenini sayi değişkenine eşitledik;  i büyük veya eşitse 0'a; i değişkenini birer birer azalt
    
   Serial.print(i); // i değişkenimizi seri ekrana yazdırıyoruz.
   
   Serial.print(","); // i değişkenimizi ekrana yazdıkrdıktan sonra yanına hemen bir virgül atması için bu kod satırını ekledik. eklemesek de program sorunsuz çalışırdı. virgüllü hali: 5,4,3,2,1,0 || virgülsüz hali: 543210
   
   delay(1000); // 1 saniye bekletiyoruz. 
   
  }
  
  Serial.println("Haydi başlayalım."); // for döngüsü tamamlandıktan sonra seri ekranımıza mesaj gönderiyoruz.
}



       
 


ARDUİNO - UYGULAMA 1 : BASİT BİR LED YAKIP SÖNDÜRME OLAYI // Yeni fonksiyon oluşturma. Oluşturulan fonksiyona değer gönderme ve fonksiyonu çağırma.
       







void setup(){
 Serial.begin(9600); // Seri haberleşme birimini ayarlıyoruz.
 
  int a=5; // a  adında bir değişken oluşturduk ve bu değişkeni 5'e eşitledik.
  
  while(a>0){   // while içerisine koşul girdik = a büyükse 0'dan 
    Serial.print(a); // a değişkenini ekrana yaz
    Serial.print(" , "); // ekrana virgül yaz
    a--; // a yı birer birer azalt.
  }


  /*

           FOR-WHİLE FARKI

    For döngüsünde, döngü belirlenen sayı kadar çalışır.  
    While döngüsünde belirlediğiniz koşul geçerli olduğu sürece çalışır.
   */

  
}

void loop(){
  
}


       
 


ARDUİNO - UYGULAMA 1 : BASİT BİR LED YAKIP SÖNDÜRME OLAYI // Virgüllü sayılarla işlemler. - Veri tipi örnekli fonksiyon. - Sonucun geri döndürülmesi (return)
       





void setup(){
 Serial.begin(9600); // Seri haberleşme birimini ayarlıyoruz.
 


  Serial.println(ondaliktopla(15.33,66.49)); 

  /* 

    Yukarıda ondaliktopla fonksiyonuna 15.33 ve 66.49 değerini yolluyoruz
    bu durumda

    sayia = 15.33;
    sayib = 66.49;

    olmuş oluyor. aşağıda yazdığımız fonksiyon bu iki değerin toplamını bize döndürüyor.

    return sayia+sayib; yani,

    return 15.33+66.49; 

    olarak düşünebiliriz bunu.
   
   
   */

  
}

void loop(){
  
}


float ondaliktopla(float sayia, float sayib){ // Yeni bir fonksiyon oluşturduk. Oluşturduğumuz fonksiyonun veri tipi float yani virgüllü değerler alabilecek şekilde ayarlanmış durumda bu yüzden bu fonksiyonun içerisinden 10,52 gibi değerlerin dönmesi mümkündür.

  return sayia+sayib; // return geri döndürme olayıdır. sayia+sayib işlemini yapar ve sonucunu geri döndürür.
  
}


       
 


ARDUİNO - UYGULAMA 1 : BASİT BİR LED YAKIP SÖNDÜRME OLAYI // Boolean veri tipinin kullanımı ve Serial içerisinde koşul yazım örneği
       






void setup(){
 Serial.begin(9600); // Seri haberleşme birimini ayarlıyoruz.
 

  bool durum=false; 
  /*
   
   boolean türünde durum adında bir değişken oluşturduk ve bunu false yaptık(eşitledik).
   boolean veri tipinde sadece true veya false değeri verdır. 
   true değerinin sayısal karşılığı 1, false değerinin ise 0 'dır.
   
  */
  
  Serial.print("Sınıfı geçer mi?........."); // Ekrana Sınıfı geçer mi? yazdırdık.

  
  Serial.println( ((durum==true)? "Evet":"Hayır") ); 

  /*

    Yukarıda (durum==true)? bir koşul belirtiyor durum true'e eşitse(yani koşul sağlanıyorsa) iki nokta üst üste işaretinden önceki yazıyı yazıyor.
    Eğer tam tersi bir durum varsa(koşul sağlanmıyorsa) iki nokta üst üste işaretinden sonraki yazıyı ekrana yazdırıyor.

   */

  
}

void loop(){
  
}





       
 


ARDUİNO - UYGULAMA 1 : BASİT BİR LED YAKIP SÖNDÜRME OLAYI // Char veri tipinin kullanımı Çift tırnak tek tırnak ayırımı.
       








void setup(){
 Serial.begin(9600); // Seri haberleşme birimini ayarlıyoruz.
 

char harf = 'D'; // char yani string türünde bir harf değişkeni oluşturduk ve içerisine D harfini atadık. Not: Çift tırnak koyarsanız çalışmayacaktır.
char asd[] = "D"; // Eğer çift tırnaklı bir şekilde kullanmak isterseniz değişken isminizin yanına [] eklemelisiniz örneğin harf yerine harf[] yazılmalıdır.
  
  Serial.println(harf); // ekrana harf değişkenini yazdırdık.
  
}

void loop(){
  
}






       
 


ARDUİNO - UYGULAMA 1 : BASİT BİR LED YAKIP SÖNDÜRME OLAYI // Char veri tipinin kullanımı Çift tırnak tek tırnak ayırımı.
       








int ledyanmasuresi[] = {1,2,3,4}; // Dizi oluşturduk ve içine atamalarımızı yaptık.
/*

 Yukarıda ledyanmasuresi diye bir tamsayı değişkeni oluşturduk ve içerisine birden fazla eleman atadık. 
 Bunun genel adı diziler(array) olarak geçmektedir. Diziler sürekli yeni değişken tanımlamak yerine tek 
 bir değişken içerisinde birden fazla veriyi tutabilirler. 
 Bu yüzden sıkça tercih edilmektedir. Yukarıda oluşturduğumuz dizide 4 tane eleman vardır. 

 Yukarıdaki diziden herhangi bir elemanı ekrana yazdırmak için aşağıdaki şekilde bir kod yazıcaktım. 
 
 Serial.println(ledyanmasuresi[kaçıncısıradakieleman]);
 
 Ben 4 rakamını ekrana yazdırmak istiyorum.
 Buradan baktığımızda 4 rakamının 4.sırada olduğunu görüyoruz fakat programlama dilinde sayma sayıları 0'dan başlamaktadır. 

 Yani ben bize göre 4.sıradaki bir elemanı çağıracak isem ledyanmasuresi[3] yazmam gerekiyor,
 Dizinin içerisindeki ilk elemanı çağırmak içinse ledyanmasuresi[0] yazmam gerekiyor.

 

*/


int led = 13; // 13 Numaralı pinimiz led pinidir.
void setup(){
 Serial.begin(9600); // Seri haberleşme birimini ayarlıyoruz.
 pinMode(led,OUTPUT); // 13 Numaralı pine güç gidecek şekilde ayarlıyoruz. (OUTPUT=ÇIKIŞ)
}

void loop(){
  for(int i=0; i<4; i++){ // i değişkenini 0'a eşitliyoruz ve i küçükse 4'ten i yi birer birer arttır diyoruz.
    digitalWrite(led,HIGH); // 13 numaralı pine güç veriyoruz. 
    
    delay(ledyanmasuresi[i]*1000); 
    // Yukarıda diziden çağırdığımız elemanı 1000 ile çarpmamızın nedeni delay içerisinde milisaniye cinsinden bekletme yapabiliyoruz.
    // Ama yukarıda 1,2,3,4 diye tanımlamıştık. Örneğin diziden 3 rakamı geldiği zaman 3*1000 = 3000ms yani 3 saniye bekletecektir.
    digitalWrite(led,LOW); // 13 numaralı pinin gücünü kesiyoruz. 
    delay(ledyanmasuresi[i]*1000);
  }
}






       
 

Yorumlar