[매드] 아두이노 강좌 - 42. 토양 수분 센서 동작



안녕하세요~~ 매드 입니다.

이번 시간에는 지난번에 실습했었지만 블로그로 남기지 못한!

토양 수분 센서 동작을 시켜보도록 하겠습니다.

사실 토양 수분센서는 별거 없습니다.
아두이노 기준으로 보면 ADC 를 이용하여 데이터 값을 읽으면 되는데요.
그럼 한번 알아보도록 할까요?

42-1. 토양 수분 센서

<토양 수분 센서(출처:구글사진)>

토양 수분 센서라 함은 위 사진과 비슷하게 생겼는데요. 사진의 핀 부분을 자세히 보면 AOUT, GND, VCC 라고 되어있습니다. 이제는 센서의 출력만 봐도 대략 아두이노랑 어떻게 연결해야 할지 감이 오시지 않나요? ㅎㅎ

이 센서는 여러분들의 예상대로 ADC와 연결하여 수분 상태에 따라 아날로그로 출력되는 전압값을 측정하는 센서 입니다. 간단하죠!

센서의 모양이 두개의 바(BAR) 로 구성되어 있는데 이 양쪽을 수분이 측정되는 곳에 꼽아 양극 사이에 전류가 흐르기 시작하면 그에 따라 AOUT 출력으로 아날로그 출력이 발생하게 되는 것 입니다.

제가 사용한 것은 Octopus Soil Moisture Sensor 인데요 ㅎㅎ 생긴것도 비슷하고 성능도 비슷할꺼라 생각되네요.

간단히 스펙을 정리해 보면 아래와 같습니다.

Power supply: 3.3v or 5v
Output voltage signal: 0~4.2v
Current: 35mA

별거 없네요... ㅎㅎ
양쪽 바(BAR)에 수분으로 인해 양단에 전류가 흐르게 되면 그 강도에 따라 전압이 출력되는 것이 되겠습니다. 동작은 아두이노랑 연결하기 좋게 5V 구동이네요! ㅎㅎ
가끔 다른 센서들이 3.3V에서만 구동되는 것들도 있으니 '꼭' 스펙을 확인하고 진행하세여.
그럼 샘플 코드로 동작시켜 볼까요?

42-2. 펌웨어 코드

/*
  # Example code for the moisture sensor
  # Editor     : Lauren
  # Date       : 13.01.2012
  # Version    : 1.0
  # Connect the sensor to the A0(Analog 0) pin on the Arduino board

  # the sensor value description
  # 0  ~300     dry soil
  # 300~700     humid soil
  # 700~950     in water
*/

void setup(){

  Serial.begin(9600);

}

void loop(){

  Serial.print("Moisture Sensor Value:");
  Serial.println(analogRead(0));
  delay(100);

}

간단한 코드 네요 ㅎㅎ 별거 없습니다. 그냥 ADC 값을 읽는 것이니까요. 그리고 제가 테스트 해봤는데 생각보다... 정밀도가 없습니다. 응용하실려면 수분의 정도는 위 주석처럼 3단계 정도로만 분류해서 사용하셔야 될 것 같네요.

그럼 실험영상은 유투브로 확인하시고!

다음시간에 뵐께요~~ >.<


댓글 쓰기

0 댓글