Menu
CoddyTech

Nhấp nháy theo lệnh

Thuộc phần Đầu vào trong hành trình Arduino của Coddy. Bài học 18 trên 22.

Nhập 3, đèn LED sẽ nhấp nháy ba lần rồi dừng. loop() đã lặp lại sẵn, nên hãy để nó đếm: dùng một biến để lưu số lần nhấp nháy còn lại. Mỗi lần loop() chạy, nếu vẫn còn lần nhấp nháy nào, hãy nhấp nháy một lần rồi giảm số lần còn lại đi một.

int blinksLeft = 0;

void loop() {
  // Một số từ màn hình Serial đặt giá trị cho blinksLeft
  if (blinksLeft > 0) {
    // Nháy một lần
    blinksLeft = blinksLeft - 1;
  }
}

Khi blinksLeft đạt 0, điều kiện if là sai và đèn LED sẽ tắt cho đến khi có số tiếp theo.

Ký tự xuống dòng sau số đó vẫn khiến parseInt() trả về 0 sau đó một giây. Như trước, hãy bỏ qua số 0, nếu không nó sẽ xóa số lần nhấp nháy còn lại.

challenge icon

Thử thách

Trung bình

Làm LED ở chân 13 nhấp nháy số lần tương ứng với số bạn nhập vào Serial monitor:

  • khi có ký tự đang chờ, đọc một số bằng parseInt() và lưu vào blinksLeft nếu số đó lớn hơn 0
  • nếu blinksLeft lớn hơn 0, nhấp nháy một lần (bật 200 ms, tắt 200 ms) rồi giảm đi một

Nhấn Chạy, gửi 3 từ Serial monitor, rồi nhấn Kiểm tra.

Tự làm thử

const int ledPin = 13;

int blinksLeft = 0;

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

void loop() {
  // Một số từ Serial monitor đặt giá trị cho blinksLeft
  // Khi blinksLeft lớn hơn 0, nháy đèn một lần rồi trừ đi 1
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Đầu vào

Tự luyện tập: Playground Arduino