Menu
CoddyTech

Berkedip saat Ada Perintah

Termasuk bagian Input dalam perjalanan Arduino di Coddy. Pelajaran 18 dari 22.

Ketik 3 dan LED akan berkedip tiga kali, lalu berhenti. loop() sudah mengulang, jadi biarkan fungsi itu menghitung: simpan jumlah kedipan yang masih harus dilakukan dalam sebuah variabel. Setiap kali loop() dijalankan, jika masih ada kedipan tersisa, berkediplah sekali lalu kurangi jumlahnya satu.

int blinksLeft = 0;

void loop() {
  // sebuah angka dari monitor Serial menetapkan nilai blinksLeft
  if (blinksLeft > 0) {
    // satu kedipan
    blinksLeft = blinksLeft - 1;
  }
}

Saat blinksLeft mencapai 0, kondisi if bernilai false dan LED tetap mati sampai angka berikutnya dimasukkan.

Baris baru setelah angka tetap membuat parseInt() mengembalikan 0 sedetik kemudian. Abaikan 0 seperti sebelumnya, agar kedipan yang masih harus dilakukan tidak terhapus.

challenge icon

Tantangan

Sedang

Kedipkan LED pada pin 13 sebanyak angka yang diketik ke monitor Serial:

  • saat ada karakter yang menunggu, baca angka dengan parseInt(), lalu simpan ke blinksLeft jika nilainya lebih dari 0
  • jika blinksLeft lebih dari 0, kedipkan sekali (menyala selama 200 ms, mati selama 200 ms), lalu kurangi nilainya satu

Tekan Jalankan, kirim 3 dari monitor Serial, lalu tekan Periksa.

Coba sendiri

const int ledPin = 13;

int blinksLeft = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // angka dari monitor Serial menentukan nilai blinksLeft
  // selama blinksLeft lebih dari 0, kedipkan LED sekali lalu kurangi nilainya satu
}
quiz iconUji dirimu

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

Semua pelajaran di Input

Latihan sendiri: Playground Arduino