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.
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
waitTimekhi 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;
}
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