Menu
CoddyTech

Thiết bị theo dõi cây: Đèn trạng thái

Thuộc phần Dự án trong hành trình Arduino của Coddy. Bài học 18 trên 24.

Không ai đọc phần trăm từ bên kia căn phòng. Bạn có thể nhìn thấy đèn màu ngay lập tức: màu đỏ khi cây cần nước, màu xanh lá khi cây ổn, màu xanh dương khi cây bị thừa nước.

Đèn trạng thái là một đèn LED RGB: ba đèn LED màu đỏ, xanh lá và xanh dương trong cùng một vỏ, nối với các chân 9, 10 và 6. Chân chung nối với đất, nên một kênh sẽ sáng khi chân của nó ở mức HIGH. Mỗi lần chỉ có một màu nghĩa là một chân ở mức HIGH và hai chân còn lại ở mức LOW.

Ba khoảng, ba màu: cùng cấu trúc if / else if / else như cảm biến đỗ xe, nhưng lần này bắt đầu từ phía dưới:

if (moisture < 30) {
  // khô: đỏ
} else if (moisture <= 70) {
  // vừa đủ: xanh lá
} else {
  // ướt: xanh dương
}

Trước tiên, hãy tắt cả ba kênh. Nếu không, màu đỏ còn sót lại từ trước sẽ hòa với màu xanh lá mới, khiến đèn chuyển sang màu vàng.

challenge icon

Thử thách

Dễ

Thêm đèn báo trạng thái:

  • các chân 9 (đỏ), 10 (xanh lá) và 6 (xanh dương) là đầu ra
  • dưới 30%: chỉ đèn đỏ
  • từ 30% đến 70%: chỉ đèn xanh lá
  • trên 70%: chỉ đèn xanh dương

Cập nhật đèn sau mỗi lần đọc. Nhấn Chạy, xoay núm, rồi nhấn Kiểm tra.

Tự làm thử

// Núm vặn đóng vai trò cảm biến độ ẩm đất
const int sensorPin = A0;

// Độ ẩm tính theo phần trăm: 0 là khô hoàn toàn, 100 là ướt sũng.
int readMoisture() {
  int reading = analogRead(sensorPin);
  return map(reading, 0, 1023, 0, 100);
}

void setup() {
  Serial.begin(9600);
}

void loop() {
  int moisture = readMoisture();
  Serial.print("Moisture: ");
  Serial.print(moisture);
  Serial.println("%");
  delay(1000);
}
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 Dự án

Tự luyện tập: Playground Arduino