Menu
CoddyTech

Penghitung Biner dengan LED

Termasuk bagian Output dalam perjalanan Arduino di Coddy. Pelajaran 19 dari 24.

Empat LED dapat menampilkan angka apa pun dari 0 hingga 15 dalam biner, seperti cara komputer menyimpan angka. Setiap LED mewakili nilai dua kali lipat dari LED sebelumnya: 1, 2, 4, dan 8. LED yang menyala menambahkan nilainya:

  • 5 adalah 4 + 1: LED bernilai 4 dan 1 menyala
  • 10 adalah 8 + 2
  • 15 adalah keempat LED

Setiap posisi disebut bit, dimulai dari 0, yang bernilai 1. bitRead(number, n) memberikan bit n dari sebuah angka, yaitu 1 atau 0:

bitRead(5, 0);  // 1: 5 memiliki bit 1
bitRead(5, 1);  // 0: 5 tidak memiliki bit 2
bitRead(5, 2);  // 1: 5 memiliki bit 4

Karena 1 adalah HIGH dan 0 adalah LOW, bit i dapat langsung dihubungkan ke LED i:

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

Di sini, ledPins[0], pin 2, adalah LED di sebelah kanan, yang bernilai 1, seperti digit terakhir pada sebuah angka.

challenge icon

Tantangan

Sedang

Buat keempat LED menghitung dalam biner:

  • mulai dengan count pada 0
  • tampilkan nilainya pada LED dengan bitRead(), bit i pada ledPins[i]
  • tunggu 250 ms, tambahkan 1, lalu setelah 15, mulai lagi dari 0

Tekan Jalankan, lalu Periksa.

Coba sendiri

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

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

void loop() {
  // tampilkan count dalam bentuk biner, tunggu 250 ms, lalu naikkan count (kembali ke 0 setelah 15)
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Output

Latihan sendiri: Playground Arduino