Câu lệnh if-else hoạt động như thế nào trên Arduino?
Có nhiều lệnh cốt lõi được tìm thấy trong các ngôn ngữ lập trình hiện đại. Các câu lệnh if-else là một trong những câu lệnh phổ biến nhất mà bạn sẽ tìm thấy, có trong cả ứng dụng đơn giản và phức tạp.
Nhưng làm thế nào để bạn sử dụng câu lệnh if-else với Arduino?
Mục Lục
Arduinos sử dụng ngôn ngữ lập trình nào?
Hầu hết các chương trình Arduino liên quan đến Arduino IDE. Nhưng Arduinos sử dụng ngôn ngữ lập trình nào? Trình biên dịch hoạt động với một phiên bản tùy chỉnh của C++ được gọi là Ngôn ngữ lập trình Arduino. Mặc dù nó có các thư viện lớp bổ sung và các tính năng cơ bản, ngôn ngữ này sử dụng cùng một cú pháp cho các lệnh tiêu chuẩn như câu lệnh if-else.
Bạn có thể sử dụng các trình biên dịch khác để tải các tập lệnh bằng các ngôn ngữ khác, như Python, lên Arduino của bạn. Đây là trường hợp của nhiều bộ vi điều khiển và có rất nhiều ngôn ngữ lập trình vi điều khiển hiện nay.
Câu lệnh if-else hoạt động như thế nào trên Arduino?
Nếu các câu lệnh hoạt động bằng cách chỉ kích hoạt mã khi một số điều kiện là đúng. Bạn có thể thêm một khối lệnh khác vào câu lệnh if; nó sẽ chạy nếu điều kiện ban đầu không được đáp ứng.
Cách viết câu lệnh if-else trên Arduino
Các câu lệnh if-else của Arduino sử dụng cú pháp C++, làm cho chúng cực kỳ dễ viết. Cú pháp này tương tự, nếu không muốn nói là giống hệt với nhiều ngôn ngữ khác.
Câu lệnh if-else sau đây kiểm tra xem thực tế có còn nguyên vẹn hay không bằng cách kiểm tra xem một bằng một.
void loop() {
if (1 == 1) {
Serial.println("Nothing to worry about!");
} else {
Serial.println("Uh oh.");
}
}
Như mong đợi, một luôn bằng một và điều này có nghĩa là điều kiện if luôn được đáp ứng, in ra một thông báo trấn an. Tuy nhiên, nếu thực tế bị phá vỡ và các phép toán không cộng lại, thì câu lệnh khác sẽ kích hoạt và in ra một cảnh báo.
Cách sử dụng nhiều điều kiện với câu lệnh if-else Arduino
Câu lệnh if-else có thể có nhiều điều kiện để kiểm tra trước khi kích hoạt. Bạn có thể mô tả mối quan hệ giữa các điều kiện đó bằng cách sử dụng toán tử AND và OR. Câu lệnh if-else này kiểm tra tính toàn vẹn của thực tế đồng thời kiểm tra xem biến boolean có được đặt thành true hay không.
bool Variable = true;void loop() {
if (1 == 1 && Variable == true) {
Serial.println("Nothing to worry about!");
} else {
Serial.println("Uh oh.");
}
}
Ví dụ này sử dụng AND (&&) có nghĩa là câu lệnh if sẽ chỉ kích hoạt nếu cả hai điều kiện đều đúng.
bool Variable = true;void loop() {
if (1 == 1 || Variable == true) {
Serial.println("Nothing to worry about!");
} else {
Serial.println("Uh oh.");
}
}
Nếu bạn hoán đổi cái này lấy một OR (||), câu lệnh if sẽ kích hoạt nếu một trong hai hoặc cả hai điều kiện đều đúng.
Cách thêm các điều kiện tiếp theo với câu lệnh other-if của Arduino
Là giai đoạn cuối cùng trong hành trình của câu lệnh if-else của bạn, đã đến lúc thêm một số điều kiện tiếp theo. Bạn có thể làm điều này bằng cách biến câu lệnh other thành câu lệnh other-if:
bool Variable = true;void loop() {
if (1 == 1) {
Serial.println("Nothing to worry about!");
} else if (Variable == true) {
Serial.println("Uh oh.");
}
}
Giống như các câu lệnh trước, câu lệnh if chính sẽ kích hoạt nếu một bằng một. Nếu đây không phải là trường hợp, câu lệnh khác sẽ chỉ kích hoạt nếu biến bool được đặt thành true.
Bạn có thể sử dụng câu lệnh if-else để làm gì?
Câu lệnh if-else rất phổ biến trong lập trình. Chúng cung cấp một cách dễ dàng để thêm logic có điều kiện vào mã Arduino của bạn, khiến chúng trở nên hữu ích cho rất nhiều tác vụ. Tuy nhiên, loại lệnh này không chỉ có trong Ngôn ngữ lập trình Arduino; hầu hết mọi ngôn ngữ lập trình hiện đại đều có các câu lệnh if và if-else.
Arduino switch…case: Một giải pháp thay thế cho câu lệnh if-else
Mặc dù câu lệnh if-else rất tuyệt, nhưng không phải lúc nào chúng cũng là lựa chọn tốt nhất cho mọi hoạt động. Nếu bạn chỉ cần kiểm tra giá trị của một biến và kích hoạt mã tương ứng, câu lệnh switch…case là một cách hiệu quả hơn để đạt được mục tiêu này.
int Variable = 1;void loop() {
switch (Variable) {
case 1:
Serial.println("It's One!");
break;
case 2:
Serial.println("It's Two!");
break;
case 3:
Serial.println("It's Three!");
break;
default:
Serial.println("It's a number!");
break;
}
}
Câu lệnh chuyển đổi này kiểm tra giá trị của một biến số nguyên, tạo ra các kết quả khác nhau nếu số đó là 1, 2 hoặc 3. Ngoài ra còn có một trường hợp mặc định sẽ kích hoạt nếu không có trường hợp nào khác kích hoạt, giống như phần khác của câu lệnh if.
Tìm hiểu các nguyên tắc cơ bản về mã hóa Arduino
Học cách sử dụng các câu lệnh if-else trong mã Arduino của bạn là một bước tiến lớn để trở thành bậc thầy về Arduino, nhưng còn nhiều điều nữa để học. Các vòng lặp while và for, các toán tử logic và một loạt các nguyên tắc cơ bản khác sẽ giúp bạn đẩy mạnh mã Arduino của mình hơn nữa.