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çerir1, 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.
Görev
OrtaDört LED'in ikili olarak saymasını sağlayın:
countdeğerini 0'dan başlatınbitRead()ile bunu LED'lerde gösterin;ibitiledPins[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)
}
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