Kimileri için çok basit olsa da Arduino’ya yeni başlayanlar için önem arz öden konulardandır. Bu yazıda bu konuyu basitçe anlatacağız. Öncelikle kısacık bir bilgi vermemiz gerekli
“1” ve “0” Kavramı
Butona basıldığında Arduino’nun giriş pinine enerji (+5V) gitmesini istiyorsak buna “1” bilgisi diyoruz.
Butona basıldığında Arduino’nun giriş pinine GND (0V) gitmesini istiyorsak buna “0” bilgisi diyoruz.
Bu neden önemli ?
Çünkü bu bilgiye göre butonlarımızı bağlamak zorundayız. Genelde özellikle başlangıç seviyesinde olanlar için Butona basıldığında arduino’ya “1” bilgisi göndeririz o yüzden şuan konumuzu bu örnekleme üzerinden sürdüreceğiz.
Butona bastığımda Arduino’ya 1 bilgisi gitsin. Nasıl buton bağlayacağım ?
Adım adım devremizi kuralım.
Şekildeki devrede butona bastığımızda arduino’ya “1” yani +5V bilgisini gönderebiliyoruz.
Ancak bir şeyler eksik. Peki ya basmadığımızda ?
Butona basmadığımızda arduino burada kararsız akımlara maruz kalacaktır. Dolayısıyla bir takım çakışmalara sebebiyet verebilir ve devremiz doğru çalışmaz. İşte bu yüzden, bu durumun önüne geçmek için 2 numaralı pini 10K direnç üzerinden GND ye bağlarız. Buna da Pull Down direnci deriz.
İşte şimdi oldu. Butona bastığımızda arduino’ya 1 bilgisini göndermek istiyorsak kuracağımız devre bu şekilde olmalı.
Butona bastığımda Arduino’ya “0” bilgisi gitsin. Nasıl buton bağlayacağım ?
Az önceki örnekte 1 bilgisini görmüştük. Burada ise aynı bağlantının tam tersini yapacağız. Yani butona basıldığında Arduino’nun giriş pinine GND (0V) bilgisini göndereceğiz. Basılmadığında ise 10K lık direnç üzerinden +5V a gitmesini sağlayacağız buna da PULL UP direnci diyoruz.
Aynı devre gibi gelebilir ama yapılan küçük değişiklikleri görmek için lütfen butona gelen kablonun ve direncin bacak bağlantılarındaki farka bakın.
PULL UP Veya PULL DOWN Direnci Kullanmadan Arduino’ya Buton Bağlamak Mümkün mü ?
Pull Down kullanmadan mümkün değil ancak Pull Up kullanmadan evet mümkün. Arduino nun içinde 20K ve 50K değerlerinde pull up direnci bulunur. Bunları aktif etmek için ise programda küçük bir değişiklik yapmanız gereklidir.
pinMode(2, INPUT_PULLUP);
Giriş olarak tanımlarken bu komutu yazarsak aşağıdaki gibi bir buton bağlantısı kurabiliriz.
Dahili Pull Up direnci kullandığımız için herhangi bir sıkıntı yaşamayacağız.
Unutmayın bu komutla butona bastığımızda Arduino’ya 0 bilgisi gelmektedir yani İf gibi döngüleri kullanırken bunu göz önünde bulundurmanız gerekir.
Kolay gelsin !