Menu
CoddyTech

식물 모니터: 상태 표시등

Coddy Arduino 여정의 프로젝트 섹션에 포함된 레슨. 24개 중 18번째.

방 건너편에서 퍼센트 수치를 읽는 사람은 없습니다. 색깔 있는 불빛은 한눈에 알아볼 수 있습니다. 식물에 물이 필요하면 빨간색, 괜찮으면 초록색, 물이 너무 많으면 파란색입니다.

상태 표시등은 RGB LED입니다. 하나의 패키지에 빨간색, 초록색, 파란색 LED 세 개가 들어 있으며, 핀 9, 10, 6에 연결되어 있습니다. 공통 다리는 접지에 연결되어 있으므로 핀이 HIGH일 때 채널이 켜집니다. 한 번에 한 가지 색만 켜려면 핀 하나는 HIGH로, 나머지 두 개는 LOW로 설정합니다.

세 가지 범위, 세 가지 색상입니다. 이번에는 아래쪽부터 시작하는, 주차 센서와 같은 if / else if / else 구조입니다.

if (moisture < 30) {
  // 건조: 빨간색
} else if (moisture <= 70) {
  // 적정: 초록색
} else {
  // 습함: 파란색
}

먼저 세 채널을 모두 끄세요. 그렇지 않으면 이전에 켜졌던 빨간색이 새 초록색과 섞여 불빛이 노란색으로 바뀝니다.

challenge icon

챌린지

쉬움

상태 표시등을 추가하세요:

  • 핀 9(빨간색), 10(초록색), 6(파란색)은 출력입니다
  • 30% 미만: 빨간색만
  • 30%~70%: 초록색만
  • 70% 초과: 파란색만

측정할 때마다 업데이트하세요. Run을 누르고 노브를 돌린 다음 Check를 누르세요.

직접 해보기

// 노브는 토양 수분 센서 역할을 합니다
const int sensorPin = A0;

// 수분을 백분율로 나타냅니다: 0은 완전히 건조한 상태이고, 100은 흠뻑 젖은 상태입니다.
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 icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

프로젝트의 모든 레슨

직접 연습해 보세요: Arduino 플레이그라운드