Menu
CoddyTech

İki Düğmeye Aynı Anda Basma

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

Her düğme kendi pinine ve kendi digitalRead() çağrısına sahiptir. Kart bunları arka arkaya okur, ancak bu işlem o kadar hızlıdır ki sana aynı anda oluyormuş gibi gelir.

Fabrika makinelerinde genellikle birbirinden uzakta iki düğme bulunur ve makine yalnızca ikisi de basılı tutulduğunda çalışır. İki el de düğmelerin üzerindedir, böylece hiçbiri bıçağın yakınında olamaz. Bu kural, Koşulları Birleştirme konusundaki && operatörüdür:

bool left = digitalRead(2) == LOW;
bool right = digitalRead(3) == LOW;

if (left && right) {
  // iki düğme de basılı tutuluyor
}

Her iki pin de INPUT_PULLUP gerektirir. Birini unutursan o pin boşta kalır; burada LOW okunur ve düğmesi her zaman basılıymış gibi davranır.

challenge icon

Görev

Kolay

Düğmeler 2 ve 3 numaralı pinlerde, ikisi de GND'ye bağlı; LED ise 13 numaralı pinde. LED'i yalnızca her iki düğme de basılı tutulurken yak:

  • 2 ve 3 numaralı pinleri INPUT_PULLUP olarak ayarla
  • Her düğmenin durumunu bir bool değişkenine oku
  • Her iki düğmeye de basıldığında LED'i yak, aksi takdirde söndür

Run düğmesine bas, önce bir düğmeyi, sonra ikisini de basılı tut ve ardından Check düğmesine bas.

Kendin dene

const int leftPin = 2;
const int rightPin = 3;
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  // Her iki düğme pinini INPUT_PULLUP olarak ayarla
}

void loop() {
  // Her iki düğmeyi oku, LED'i yalnızca ikisine de basılı tutulduğu sürece yak
}
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