3.9. Anahtarlar ve çekme dirençleri

GPIO çıkışı, harici donanımı sürer. GPIO girişi bunun tersidir: kamera, bir pin üzerindeki gerilimi okur ve onu 0 veya 1 olarak bildirir. En basit giriş cihazı bir anahtardır – ve birini güvenilir şekilde okunabilir hale getirmek, anahtarın kendisine ek olarak bir parça elektronik gerektirir.

3.9.1. Anahtarlar ve yüzen girişler

Bir anahtar mekanik bir kontaktır: anahtar kapalıyken birbirine değen ve açıkken ayrılan iki metal parçası. Elektriksel olarak cihazın tamamı budur. İçinde bir gerilim kaynağı yoktur; bir anahtar tek başına yalnızca “bağlı” veya “bağlı değil” sağlar.

Bir anahtarı doğrudan bir GPIO pini ile toprak arasına bağlamak, pinin şu durumda olması anlamına gelir:

  • Anahtar kapalıyken (artık toprağa bağlı) 0 V’ta.

  • Anahtar açıkken (hiçbir şeye bağlı değil) yüzer halde.

Yüzen bir pinin tanımlı bir gerilimi yoktur. Giriş, yakınında ne olursa onu okur – yakındaki sinyallerden gelen çapraz konuşma, beslemeden gelen gürültü, hatta kabla yakın bir parmaktaki statik elektrik. value(), saniyede defalarca öngörülemez 0 ve 1 karışımları döndürür.

3.9.2. Çekme (pull-up) ve indirme (pull-down) dirençleri

Çözüm bir çekme direncidir: anahtar açıkken girişi bilinen bir raya bağlayan yüksek değerli bir direnç (tipik olarak 10 kΩ ila 100 kΩ).

Yan yana iki devre şeması. Sol: giriş pininden beslemeye doğru bir direnç ve giriş pininden GND'ye doğru bir anahtar bulunan bir çekme (pull-up) devresi. Sağ: giriş pininden GND'ye doğru bir direnç ve giriş pininden beslemeye doğru bir anahtar bulunan bir indirme (pull-down) devresi.

Bir anahtar girişi için çekme (pull-up, sol) ve indirme (pull-down, sağ) yapılandırmaları.

  • Çekme (Pull-up). Direnç, girişi besleme rayına bağlar. Anahtar açıkken, direnç üzerinden yalnızca küçük bir akım sızar ve pin yüksek okur. Anahtar kapalıyken, pini toprağa kısa devre eder; pin düşük okur. Direnç, aksi takdirde kapalı anahtar üzerinden beslemeden toprağa akacak olan akımı sınırlar.

  • İndirme (Pull-down). Ayna görüntüsü: direnç girişi toprağa bağlar ve anahtar beslemeye bağlanır. Açık düşük okur, kapalı yüksek okur.

Çekme, daha yaygın bir uygulamadır – “etkin düşük” düğmeler. MCU’nun kendisi, Pin.PULL_UP veya Pin.PULL_DOWN ile etkinleştirilebilen ve harici direnci tamamen ortadan kaldıran dahili çekme ve indirme dirençleri sağlar.