Menu
CoddyTech

Hitung Mundur hingga Nol

Termasuk bagian Layar dan Sensor dalam perjalanan Arduino di Coddy. Pelajaran 4 dari 24.

Seperti pada sapuan servo, for loop dapat menghitung mundur: mulai dari angka besar, teruskan selama angkanya 0 atau lebih, lalu kurangi satu setiap kali dengan n--:

for (int n = 5; n >= 0; n--) {
  showDigit(n);
  delay(1000);
}

Ini menampilkan 5, 4, 3, 2, 1, dan 0. Dengan n > 0, hitungan akan berhenti di 1 dan tidak pernah menampilkan 0.

Hitung mundur seharusnya dilakukan sekali, bukan berulang-ulang. Kode di setup() dijalankan sekali, jadi letakkan hitungan mundur di sana, lalu letakkan apa pun yang terjadi saat mencapai 0 setelahnya. loop() bisa tetap kosong, dan angka 0 akan tetap tampil di layar.

challenge icon

Tantangan

Mudah

Buzzer terhubung ke pin 9. Buat hitung mundur peluncuran:

  • di setup(), hitung mundur dari 5 hingga 0, satu angka setiap detik
  • saat mencapai 0, bunyikan buzzer dengan tone(buzzerPin, 880, 1000)
  • biarkan angka 0 di layar

Tekan Run, lalu Check.

Coba sendiri

const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8};  // a, b, c, d, e, f, g

// Satu pola untuk setiap digit, baca dari kanan: bit terakhir adalah segmen a.
//                     gfedcba
const byte digits[10] = {
  0b0111111,  // 0
  0b0000110,  // 1
  0b1011011,  // 2
  0b1001111,  // 3
  0b1100110,  // 4
  0b1101101,  // 5
  0b1111101,  // 6
  0b0000111,  // 7
  0b1111111,  // 8
  0b1101111   // 9
};

void showDigit(int n) {
  for (int i = 0; i < 7; i++) {
    if (bitRead(digits[n], i) == 1) {
      digitalWrite(segmentPins[i], LOW);   // menyala
    } else {
      digitalWrite(segmentPins[i], HIGH);  // mati
    }
  }
}

const int buzzerPin = 9;

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

  // hitung mundur dari 5 sampai 0 di sini, lalu bunyikan buzzer
}

void loop() {
}
quiz iconUji dirimu

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

Semua pelajaran di Layar dan Sensor

Latihan sendiri: Playground Arduino