Pull-up ve pull-down dirençler, dijital girişlerin kararsız kalmasını engellemek için kullanılır. Arduino veya benzeri bir mikrodenetleyicide bir buton okurken bazen butona basılmadığı halde giriş değeri rastgele 0 ve 1 arasında değişebilir. Bu duruma floating yani boşta kalan giriş denir.

Kısa açıklama: Pull-up direnç girişi varsayılan olarak 1 seviyesinde tutar. Pull-down direnç ise girişi varsayılan olarak 0 seviyesinde tutar. Butona basıldığında bu varsayılan durum değiştirilir.

Floating giriş neden sorun çıkarır?

Dijital giriş pini bir yere bağlı değilse havadaki parazitlerden, kablo hareketinden veya yakın devrelerden etkilenebilir. Mikrodenetleyici bu pini bazen HIGH, bazen LOW gibi okuyabilir. Bu durum özellikle buton, anahtar, limit switch ve sensör çıkışlarında kafa karıştırıcı hatalara yol açar.

Pull-up veya pull-down direnç, giriş pinine net bir başlangıç değeri verir. Böylece butona basılmadığında pinin hangi seviyede duracağı belli olur.

Pull-Up ve Pull-Down Mantığı Direnç giriş pinini boşta bırakmaz; varsayılan seviyeyi belirler. Pull-Up VCC PIN buton basınca GND Pull-Down VCC GND PIN

Pull-up bağlantı nasıl çalışır?

Pull-up bağlantıda giriş pini bir direnç üzerinden VCC hattına bağlanır. Butona basılmadığında pin HIGH okur. Butona basıldığında pin GND’ye çekilir ve LOW okunur. Arduino’da dahili pull-up direnci kullanılabildiği için çoğu basit buton devresinde harici direnç gerekmez.

Pull-down bağlantı nasıl çalışır?

Pull-down bağlantıda giriş pini bir direnç üzerinden GND’ye bağlanır. Butona basılmadığında pin LOW okur. Butona basıldığında pin VCC’ye bağlanır ve HIGH okunur. Bazı kartlarda dahili pull-down bulunmayabilir; bu durumda harici direnç kullanılır.

Pull-up

Boştaki giriş HIGH tutulur. Buton genellikle GND’ye basar.

Pull-down

Boştaki giriş LOW tutulur. Buton genellikle VCC’ye basar.

Dahili direnç

Arduino gibi kartlarda yazılımla aktif edilebilir, devreyi sadeleştirir.

Harici direnç

Değer ve bağlantı kontrolü tamamen devre tasarımına bırakılır.

Direnç değeri ne olmalı?

Buton okuma gibi basit uygulamalarda 4.7 kΩ ile 10 kΩ arası değerler sık kullanılır. Çok düşük direnç gereksiz akım tüketir, çok yüksek direnç ise parazite daha açık bir yapı oluşturabilir. Genel başlangıç için 10 kΩ çoğu buton uygulamasında uygun bir değerdir.

Dikkat: Pull-up kullanılan devrede butona basılınca LOW okunması normaldir. Yeni başlayanların en sık karıştırdığı nokta budur. Kod yazarken buton basıldı mı kontrolü, bağlantı tipine göre ters mantıkla yapılabilir.

Nerelerde kullanılır?