Bu yapılandırmada bir düğme bağlandığında, giriş kayan olarak adlandırılır , yani 0 veya 1 değildir. Düğmeye basıldığında, toprağa bağlanır, bu yüzden kesinlikle 0'dır, ancak basılı olmadığında, iğnenin değerini bilmiyoruz.
Yukarı Çekme Direnci
Düğmeye basılmadığında sinyali mantık 1'e çekmek için "çekme" direnci denilen şeyi eklememiz gerekir.
Sparkfun'dan görüntü
Bunun anlamı, düğmeye basılmadığında Arduino bir mantık 1 okur. Düğmeye basıldığında, akım dirençten toprağa akar ve Arduino bir mantık 0 okur.
Dahili Çekme Direnci
Arduino'nun dahili çekme dirençleri de vardır, böylece devrenize ekstra bir bileşen eklemeniz gerekmez. Bunu kullanmanın birkaç yolu vardır.
Eskiden böyle yapmalıydın:
pinMode(pin, INPUT); // set pin to input
digitalWrite(pin, HIGH); // turn on pullup resistors
Şimdi bunu tek bir satırda yapabiliriz:
pinMode(pin, INPUT_PULLUP);
Bu, bu pim üzerindeki 20k çekme direncini sağlar. Düğmeye basılmadığında giriş artık dalgalanmayacaktır.
Not: Bu yalnızca diğer uç toprağa bağlı olduğunda çalışır.