Arduino ile Buton kullanarak Led Yakıp Söndürme

Bu uygulamada buton kullanarak Arduino’ya bağlanan ledi yakacak program ve devresi yapılacaktır. Arduino kite bir adet buton ve led bağlayarak butona her basışımızda led yanacaktır.

Kullanılacak Malzemeler:

  • Arduino Uno
  • Bread board
  • 1 adet led
  • 1 adet 220 ohm direnç
  • 1 adet buton

İşlem Basamakları:

  • Bağlantı yapılırken kullanılan malzemelerin(buton ve led) hangi pinlere bağlayacağımızın belirlenmesi gerekir.
  • Bu uygulamada buton dijital pinlerden 2. pine, led ise 3. pine bağlanacaktır.
  • Bağlantılar aşağıdaki şekilde gösterildiği gibi yapılabilir.
  • Buton bağlantısı yapılırken dikkat edilecek bir nokta ise butona basılmadığı durumda farklı problemlerin ortaya çıkmasıdır. Çözüm için Pull-Up ve Pull-Down olarak adlandırılan iki farklı 6yöntem kullanılmaktadır. Pull-Up bağlantıda bir direnç yardımıyla buton +V’ye bağlanır ve bu şekilde butona basılmadığı durumda sürekli olarak (+) potansiyel mikrodenetleyicinin girişinde olacaktır. Butona basıldığında ise giriş sıfır olacaktır. Diğer yöntemde(Pull-Down) ise direnç şaseye bağlanır ve bu sayede butona basılmadığı durumda mikrodenetleyicinin girişi sıfır olacaktır. Butona basıldığında ise giriş (+) olacaktır. Bu uygulamada Pull-Down bağlantısı yapılacaktır. Butona basıldığında Arduino’nun girişi “1” olacaktır. Basılmadığında ise “0” olacaktır. Bu sayede girişte mutlaka bir değer olacaktır ve olumsuz durumlardan etkilenmeyecektir.
  • Program yazma aşamasında Arduino IDE programı çalıştırılır ve Arduino kit bilgisayara bağlanır. Kullanılan Arduino modeli ve port seçimi kontrol edildikten sonra kod yazmaya geçilir.
  • Buton için 2. pin, led için 3. pin kullanılacak ve program kodları içerisinde bu pinlere bir isim ataması yaparak kullanımını kolaylaştırabiliriz. Bunun için tanımlamalar kısmında int Buton = 2; ve int Led = 3; yazılması yeterli olacaktır. Bu tanımlama 2. pine bir yönüyle isim verme işlemidir.
  • Daha sonra ise program bloklarından setup() kısmında kuruluma ait pinMode(Buton, INPUT); ve pinMode(Led, OUTPUT); komutları kullanılarak pinlerin giriş/çıkış bildirimleri yapılır.
  • Son olarak programın ana kısmı olan Loop() döngüsü içerisine kodlar yazılır. Burada butona basıldığında ledin yanmasını sağlayacak if komutuna ihtiyacımız olacaktır. If komutu daha sonra detaylı bir şekilde açıklanacaktır. Yalnız kısaca bahsetmek gerekirse if, bir şartın sorgulanmasında sonucun doğru olması veya yanlış olmasına göre bizi yönlendiren kontrol yapısıdır.

                           Void Loop(){

if(digitalRead(Buton) == HIGH)

digitalWrite(Led, HIGH);

else

digitalWrite(Led, LOW);

delay(500);

}

  • digitalRead(Buton) == HIGH komutunda butona basılıp basılmadığı kontrol edilmektedir. Butona basıldığında Pull-Down direncinden dolayı HIGH, yani “1” olacaktır. Butona basılmadığında Buton pini “0” olduğundan eşitlik sağlanmayacaktır ve sonuç yanlış olacaktır.
  • If(koşul) komutunda parantez içerisine yazılan kısım şartı sağlarsa bir alt satırda olan komut çalışacaktır. Şartı sağlamadığı takdirde bir alttaki satırı atlayarak else ile belirtilen satıra geçecek ve orada yazılmış olan komut satırını çalıştıracaktır.
  • Program kodları gerekli yerlere yazılır ve Verify/Kontrol et butonu tıklanarak yazımda hata olup olmadığı kontrol edilir ve program derlenir.
  • Herhangi bir hata yoksa Load/Yükle butonu tıklanarak derlenen kodlar USB’de takılı bulunan Arduino karta yüklenir ve program çalıştırılır.

 Program son olarak şu şekilde olacaktır:

Şekil 1
Şekil 1

Bir Cevap Yazın

%d blogcu bunu beğendi: