Menu
CoddyTech

LED’lerle İkili Sayaç

Coddy'nin Arduino Journey'sinin Çıkışlar bölümünün bir parçası. Ders 19 / 24.

Dört LED, bilgisayarların sayıları saklama biçimi olan ikili sistemde 0'dan 15'e kadar herhangi bir sayıyı gösterebilir. Her LED'in değeri, bir öncekinin iki katıdır: 1, 2, 4 ve 8. Yanan bir LED kendi değerini ekler:

  • 5, 4 + 1'dir: 4 ve 1 değerindeki LED'ler yanar
  • 10, 8 + 2'dir
  • 15, dördünün de yanmasıdır

Her basamağa bit denir ve 1 değerindeki basamaktan başlayarak 0'dan numaralandırılır. bitRead(number, n), bir sayının n bitini, 1 veya 0 olarak verir:

bitRead(5, 0);  // 1: 5, 1'i içerir
bitRead(5, 1);  // 0: 5, 2'yi içermez
bitRead(5, 2);  // 1: 5, 4'ü içerir

1, HIGH ve 0, LOW olduğundan, i biti doğrudan i LED'ine gönderilebilir:

for (int i = 0; i < 4; i++) {
  digitalWrite(ledPins[i], bitRead(count, i));
}

Burada 2 numaralı pin olan ledPins[0], sağdaki LED'dir ve tıpkı bir sayının son basamağı gibi 1 değerindedir.

challenge icon

Görev

Orta

Dört LED'in ikili olarak saymasını sağlayın:

  • count değerini 0'dan başlatın
  • bitRead() ile bunu LED'lerde gösterin; i biti ledPins[i] üzerinde
  • 250 ms bekleyin, 1 ekleyin ve 15'ten sonra 0'dan yeniden başlayın

Run'a, ardından Check'e basın.

Kendin dene

int ledPins[] = {2, 3, 4, 5};  // değerleri 1, 2, 4, 8
int count = 0;

void setup() {
  for (int i = 0; i < 4; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  // count değerini ikilik sistemde göster, 250 ms bekle, ardından sayacı artır (15'ten sonra 0'a dön)
}
quiz iconKendini test et

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

Çıkışlar bölümündeki tüm dersler

Kendi başına pratik yap: Arduino playground