식물 모니터: 상태 표시등
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 {
// 습함: 파란색
}먼저 세 채널을 모두 끄세요. 그렇지 않으면 이전에 켜졌던 빨간색이 새 초록색과 섞여 불빛이 노란색으로 바뀝니다.
챌린지
쉬움상태 표시등을 추가하세요:
- 핀 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);
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
프로젝트의 모든 레슨
직접 연습해 보세요: Arduino 플레이그라운드