Menu
CoddyTech

Ra quyết định với if

Thuộc phần Mạch điện đầu tiên trong hành trình Arduino của Coddy. Bài học 18 trên 22.

if chỉ chạy một số dòng khi một điều gì đó đúng:

if (waitTime > 200) {
  waitTime = waitTime - 200;
}

Phần nằm trong dấu ngoặc đơn là điều kiện. waitTime > 200 có nghĩa là "waitTime lớn hơn 200", và điều kiện này có thể đúng hoặc sai. Khi điều kiện đúng, bo mạch chạy các dòng nằm trong dấu ngoặc nhọn. Khi điều kiện sai, bo mạch bỏ qua các dòng đó rồi tiếp tục chạy sau dấu ngoặc nhọn đóng.

< có nghĩa là nhỏ hơn. Bạn sẽ sớm tìm hiểu các phép so sánh khác.

Không có dấu chấm phẩy sau điều kiện. if (waitTime > 200); kết thúc if ngay tại đó, không có gì bên trong, nên các dòng trong dấu ngoặc nhọn sẽ chạy mỗi lần.

challenge icon

Thử thách

Dễ

Code ban đầu làm đèn nhấp nháy nhanh dần rồi đứng yên. Hãy sửa lại:

  • chỉ giảm waitTime khi giá trị này lớn hơn 200

Đèn sẽ nhấp nháy nhanh dần rồi tiếp tục nhấp nháy ở mức 200 ms. Nhấn Chạy, rồi nhấn Kiểm tra.

Tự làm thử

int waitTime = 1000;

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(waitTime);
  digitalWrite(13, LOW);
  delay(waitTime);
  // chỉ thực hiện việc này khi waitTime lớn hơn 200
  waitTime = waitTime - 200;
}
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 Mạch điện đầu tiên

Tự luyện tập: Playground Arduino