spencer-lbqLxgvLt0U-unsplash

Arduino İle  BUTON Kullanımı

       İlk dersimizde Arduino pinlerini çıkış pini olarak kullanarak led yakıp söndürmeyi öğrenmiştik. Bu dersimizde ise Arduino pinlerini giriş pini olarak kullanıp bir buton yardımıyla led yakıp söndürmeyi öğreneceğiz. 

      Gerekli Malzemeler:

  • Arduino Uno
  • Breadboard
  • LED
  • 330 Ω direnç
  • 10k Ω direnç
  • 1 adet push buton
  • Jumper Kablo (iki ucu erkek)
Ekran Resmi 2021-04-29 12.06.29

      Yukarıdaki modellemede gördüğümüz gibi devremizi kuruyoruz. LED’in kısa bacağını (-)  GND ‘ye  uzun bacağını (+) ise 330 Ω ‘luk direnç ile Arduinonun 9 nolu pinine jumper kablolarımız ile bağlıyoruz. Butonun bağlantısını yaparken ise bir bacağını 5V ‘a bağlarken diğer bacağını 10k Ω’luk pull-down direnci ile GND ‘ye bağlıyoruz. Arduinonun giriş pini olarak kullanacağımız 2 nolu pini ise pull-down direncinin diğer ucuyla birleştiriyoruz. Burada pull-down direnci kullanmamızın sebebi ; dijital pinleri giriş olarak kullandığımızda pine iletilecek verinin kararlı ( 0 V veya 5V ) olmasını sağlamaktır. Biz devremiz çalışmaya başladığında LED’in yanmamasını( Lojik-0 ) olmasını ancak butona basıldığında LED’in yanmasını ( Lojik-1) istiyoruz. Bu nedenle butona basılmadığı sürece giriş pini Lojik-0 konumunda olacak ve LED yanmayacak. Butona basıldığında ise pull-down direnci 5V giriş geriliminin kısa devre olmasını engelleyecek ve giriş pini Lojik-1 konumuna geçecek ve LED yanacaktır. Pull-down dirençler hakkında daha detaylı bilgi için tıklayınız..

     Devre kurulumunu gerçekleştirdikten sonra kodumuzu yazmaya başlayabiliriz.

Ekran Resmi 2021-04-29 18.29.09
Ekran Resmi 2021-04-29 17.55.13

      Bu satırlarda define komutu ile Buton ve Led değişkenlerinin Arduinonun hangi pinlerine takılacağını tanımlıyoruz.

Ekran Resmi 2021-04-29 18.00.53

      Butonun basılı olup olmadığını anlamamızı sağlayacak integer (int) karakterinde butonun_durumuna 0 değişkeni atıyoruz. Burada önemli olan butonun_durumu karakterinin bir tamsayı belirtmesini sağlamak. Çünkü kodumuzu yazmaya devam ederken butonun basılı olup olmamasını bu değişkene göre belirleyeceğiz.

Ekran Resmi 2021-04-29 18.02.58

      void setup içerisine pinMode komutu ile butonun bir giriş pini ledin ise bir çıkış pini olduğunu tanımlıyoruz.

Ekran Resmi 2021-04-29 18.04.49

      void loop içerisine ise öncelikle butona basılı olup olmadığını okumamızı sağlayan digitalRead komutunu kullanarak butondan bilgi alıyoruz. Daha sonra if-else koşul komutunu kullanıyoruz.   Eğer butonun_durumu 1 ise yani butona basıldıysa LED pinini Lojik-1 seviyesine yükseltiyoruz ve bu durumda LED’imiz yanacaktır. Eğer butonun_durumu 1 değilse yani butona basılmıyorsa LED pinini Lojik-0 seviyesine düşürmüş oluyoruz ve bu durumda LED’imiz sönecektir.

      Bu uygulamada butona bastığımız sürece LED ışık verecek , butona basmadığımızda LED sönecektir. Kodda küçük bir değişiklik yaparak bunu tersine çevirmekte mümkündür.  Eğer if komutu içerisindeki butonun_durumu==1 komutunu , butonun_durumu==0 yaparsanız LED’inizin butona basılmadığında yandığını butona basıldığında ise söndüğünü göreceksiniz. Hatta butona bir kez bastığımızda LED’i yakıp bir kez daha bastığımızda LED’i söndürebilecek şekilde bu uygulamayı biraz daha geliştirebiliriz. Ne dersiniz bunu yapabilir misiniz? Haydi biraz düşünelim ve hayal gücümüze güvenelim :))

Haydi 3. derse –>