İ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.
Görev
KolayDüğ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_PULLUPolarak ayarla - Her düğmenin durumunu bir
booldeğ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
}
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
1Düğmeler
Bir Düğmenin Durumunu YazdırmaPull-Down DirenciDahili Pull-UpHer Basışta Durumu DeğiştirmeDüğmeye Basışları SaymaDüğme Titreşimini Gidermeİki Düğmeye Aynı Anda BasmaKendi başına pratik yap: Arduino playground