본문으로 바로가기



토양 수분센서(Soil Moisture Sensor)



토양의 수분이 얼만큼 있는지 측정하는 센서이다. 수분이 얼마나 함량되어 있는가에 따라서 그 값이 달라지며, 수분이 많을 경우 값이 낮아지고, 수분이 적을 경우 값이 커진다. 조도센서와 마찬가지로 저항처럼 사용할 수 있다.


토양 수분센서 보드




센서보드에는 토양에 직접 꽂는 센서 단자와 연결하는 2개의 핀과 아날로그 데이터를 측정하는 A0핀, 디지털 데이터를 측정하는 D0핀, 전원 VCC, 접지 GND핀으로 구성되어있다. 조금 더 세밀하게 값을 조절하기 위해 파란색 가변저항을 조절하여 사용할 수도 있다.

디지털핀을 사용해도 되지만 이번 실습에서는 조금 더 세밀하게 실습하기 위해 아날로그 핀을 이용하여 값을 측정해 본다.


실습 내용


토양 수분 센서를 이용하여 값을 측정하여, 수분이 충분할 경우 파란불을, 수분이 부족할 경우 빨간불이 깜빡이게 한다.


준비물


아두이노 보드, 브레드 보드, 저항 330Ω 2개, led 2개, 토양 수분 센서 1개, 점퍼선 8개


회로도




소스 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int red = 12;
int blue = 5;
 
void setup() {
  Serial.begin(9600);   // 시리얼 통신 시작
  pinMode(red, OUTPUT); 
  pinMode(blue, OUTPUT); // 각 led 출력으로
}
 
void loop() {
  int soil = analogRead(A1);  // 아날로그 데이터를 soil로 저장
  Serial.println(soil);      // 아날로그값 시리얼로 출력
  if(soil < 500)  //값이 500보다 낮으면
    digitalWrite(blue, HIGH); //파란불을 켜줘라
  else            //값이 500보다 크면
  {
    digitalWrite(blue, LOW);
    digitalWrite(red, HIGH);
    delay(200);
    digitalWrite(red,LOW);  //파란불은 꺼주고 빨간불 깜빡깜빡
  }
  delay(500);
}
cs


ex9_soilmoisture.ino


결과 영상