Menu
CoddyTech

Dahili Pull-Up

Coddy'nin Arduino Journey'sinin Girişler bölümünün bir parçası. Ders 3 / 22.

Read a Button'dan beri INPUT_PULLUP kullandın. Kartın içindeki 20k ile 50k ohm arasındaki bir direnci pinden 5V'a bağlar: son dersteki pull-down'ın ters yöndeki hâli, ek bir parça olmadan. Düğme yalnızca pini GND'ye bağlar.

İşin püf noktası, mantığın tersine dönmüş olmasıdır: yukarıdayken HIGH okunur, basıldığında LOW okunur ve bir taslağın her yerine == LOW yazmak, bunu ters anlamayı kolaylaştırır. digitalRead(2) == LOW gibi bir karşılaştırma kendi başına true veya false değerini verir ve bir bool, true veya false değerini tutan bir değişkendir. Ne anlama geldiğini belirten bir adla sakla:

bool pressed = digitalRead(2) == LOW;

if (pressed) {
  // düğmeye basılı
}

Bundan sonra kod doğru şekilde okunur. Bir bool yazdırıldığında true için 1, false için 0 gösterilir.

challenge icon

Görev

Kolay

Düğme 2 numaralı pini GND'ye bağlar ve LED 13 numaralı pindedir:

  • 2 numaralı pini INPUT_PULLUP olarak ayarla
  • digitalRead(buttonPin) == LOW değerini pressed adlı bir bool değişkeninde sakla
  • pressed değerini yazdır, true iken LED'i yak, ardından 100 ms bekle

Check, düğme basılı tutulurken 1, bırakılmış durumdayken 0 bekler. Run'a bas, düğmeyi basılı tut, ardından Check'e bas.

Kendin dene

const int buttonPin = 2;
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  // buttonPin için pull-up direncini etkinleştir
}

void loop() {
  // bool pressed = ...
  // Değerini yazdır, true olduğu sürece LED'i yak, 100 ms bekle
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Girişler bölümündeki tüm dersler

Kendi başına pratik yap: Arduino playground