Arduino'da bir butona bastığınızı okumak istiyorsunuz. Ama butona basmadığınızda Arduino rastgele değerler (bazen 1, bazen 0) okuyor. Neden? Çünkü pini "Havada" (Floating) bıraktınız. İşte çözümü.

1. Floating (Kararsız) Durum

Dijital bir pin, hiçbir yere bağlı değilse ortamdaki elektromanyetik gürültüden etkilenir. Bir karar vermesi için onu zorla bir yere (Ya 5V'a ya GND'ye) çekmemiz gerekir. Dirençle çekme işlemine "Pull" denir.

Pull-Down (Aşağı Çekme)

Pini bir direnç (10k) ile GND'ye bağlarız.
Sonuç: Butona basılmazsa 0 okunur, basılırsa 1 okunur. (Mantıklı olan budur).

Pull-Up (Yukarı Çekme)

Pini bir direnç ile 5V'a bağlarız.
Sonuç: Butona basılmazsa 1 okunur, basılırsa 0 okunur (Ters Mantık). Endüstride en çok bu kullanılır.