true
| false
trong Arduino là gì?
Trong Arduino, true
và false
là hai giá trị boolean được sử dụng để biểu diễn các trạng thái logic:
true
: Đại diện cho trạng thái "đúng", tương đương với giá trị số 1.false
: Đại diện cho trạng thái "sai", tương đương với giá trị số 0.
Chúng thuộc kiểu dữ liệu boolean
và được sử dụng để kiểm soát luồng chương trình, đặc biệt trong các cấu trúc điều kiện và vòng lặp.
1. Định nghĩa kiểu boolean trong Arduino
Arduino hỗ trợ kiểu dữ liệu boolean
để làm việc với các giá trị logic:
boolean myFlag = true; // Biến boolean có giá trị true
- Giá trị boolean chỉ có thể là
true
hoặcfalse
. true
được ánh xạ thành 1 vàfalse
được ánh xạ thành 0 khi sử dụng trong các phép toán hoặc biểu thức.
2. Sử dụng true
và false
trong Arduino
a. Cấu trúc điều kiện
Bạn có thể sử dụng true
và false
trong các câu lệnh điều kiện như if
hoặc while
:
boolean isOn = false;
void setup() {
Serial.begin(9600);
}
void loop() {
if (isOn) {
Serial.println("Đèn đang bật!");
} else {
Serial.println("Đèn đang tắt!");
}
delay(1000);
isOn = !isOn; // Đổi trạng thái giữa true và false
}
b. Vòng lặp
Các vòng lặp while
có thể sử dụng true
để tạo vòng lặp vô hạn hoặc dựa trên điều kiện logic:
void loop() {
while (true) {
Serial.println("Vòng lặp vô hạn!");
delay(1000);
}
}
c. Biểu thức logic
Kết hợp true
và false
trong các biểu thức logic:
boolean isButtonPressed = false;
void loop() {
if (!isButtonPressed) {
Serial.println("Nút chưa được nhấn.");
} else {
Serial.println("Nút đã được nhấn.");
}
}
3. Cách Arduino xử lý true
và false
- Arduino coi bất kỳ giá trị khác 0 là
true
. - Chỉ giá trị 0 mới được coi là
false
.
Ví dụ:
int myValue = 10;
if (myValue) {
Serial.println("Giá trị khác 0 => true");
} else {
Serial.println("Giá trị là 0 => false");
}
4. Các trường hợp sử dụng phổ biến
-
Điều kiện bật/tắt thiết bị:
boolean ledState = false; void loop() { if (ledState) { digitalWrite(LED_BUILTIN, HIGH); // Bật LED } else { digitalWrite(LED_BUILTIN, LOW); // Tắt LED } delay(1000); ledState = !ledState; // Đổi trạng thái }
-
Theo dõi trạng thái cảm biến:
boolean isSensorActive = digitalRead(sensorPin); if (isSensorActive == true) { Serial.println("Cảm biến đang hoạt động."); } else { Serial.println("Cảm biến không hoạt động."); }
5. Một số lưu ý khi sử dụng
-
Kiểu dữ liệu boolean:
- Arduino hỗ trợ kiểu
boolean
, nhưng cũng có thể sử dụngint
với giá trị 0 và 1 nếu cần tương thích với các thư viện cũ. - Ví dụ:
int flag = 1; // Tương tự true if (flag) { Serial.println("Đúng"); }
- Arduino hỗ trợ kiểu
-
Tiết kiệm bộ nhớ:
- Mỗi biến
boolean
chiếm 1 byte bộ nhớ, trong khi nó chỉ cần 1 bit để lưu trữ trạng thái. Khi cần tối ưu hóa, hãy nhóm các trạng thái boolean vào một biến số nguyên.
- Mỗi biến
Tóm tắt:
true
vàfalse
là hai giá trị logic cơ bản trong Arduino.- Chúng được sử dụng để kiểm soát luồng chương trình, xử lý các trạng thái bật/tắt, hoặc kết hợp trong các biểu thức logic.
- Mọi giá trị khác 0 đều được coi là
true
, còn 0 được coi làfalse
.