[아두이노] 토양수분센서 제어

IOT/아두이노|2019. 7. 8. 09:00

[아두이노] 토양수분센서 제어



오늘은 토양수분센서를 이용한 실험을 할까 합니다. 토양수분센서는 흙 속의 수분의 상태를 측정 할 수 있는 센서인데 식물을 키울 때 유용하게 활용 할 수 있습니다. 즉, 흙 속의 수분 상태에 따라 식물에 물 주는 시기를 결정할 수 있기 때문에 적절할 시기에 자동으로 식물에 물을 줄 수 있게 됩니다. 주변의 흙의 수분 상태를 측정할 수 있는 측정기를 만드는 데 이 센서를 이용하면 좋겠죠.


이제 간단하게 토양수분센서를 실험을 합시다.

1. 토양수분센서


아래 사진처럼 두개의 부분으로 나뉩니다. 토양수분센서는 여러가지 종류가 있는데 하나로 된 일체형 센서가 있거나 아래와 같이 두개로 나눠진 형태의 선세거 있습니다. 제가 사용하는 토양수분센서는 아래 사진처럼 두개로 나누어져 있습니다.


첫번째 사진을 보시면 왼쪽의 +, - 부분이 있는데 두번째 사진의 실제 흙속에 수분을 탐지하는 센서 부분으로 핀이 두개 있는데 앞에 첫번재 사진의 모듈 부분에 +.- 부분을 순서없이 그냥 연결하시 됩니다.

첫번재 사진에 오른쪽에 A0(아날로그신호), D0(디지털신호), GND, VCC로 4개의 핀이 있는데 정교하게 수분상태를 측정할려면 A0(아날로신호)핀을 사용하면 됩니다. 두번째 탐지센서부분에 전류를 공급해서 수분에 따라서 전류의 신호값이 변화가 일어나는데 수분이 전혀 없다면 1023값이 되고 수분의 상태에 따라서 수치는 작아집니다.

수분에 따라 0~1023 사이의 신호를 발생하게 됩니다.(이부분만 기억하시면 됩니다.)

토양수분센서는 아날로그신호를 읽기 때문에 다음과 같이 읽으시면 됩니다.

analogRead(A0);

디지털신호를 읽기를 사용할 경우는 다음과 같겠죠.

digitalRead(D0);

2. 토양수분센서 회로도


  • 준비물 : 토양수분센서, 아두이노우노
  • 내용 : 아두이노우노의 A0핀을 토양수분센서의 A0핀에 연결하시오.
  • 이미지 출처 : FC-28 Soil Hygrometer Module : https://github.com/Teutatis/Fritzing-Parts
    • FC-28 Soil Hygrometer Module.fzpz
    • FC-28 Soil Hygrometer Module_-_Probe.fzpz

fritzing 이미지 찾느라고 고생했는데 겨우 찾아서 회로도 그림을 완성했네요.


토양수분센서 모듈의 A0핀을 아두이노우노 A0핀에 연결만 제대로 하시면 됩니다. 나머지는 Vcc, Gnd 핀은 해당 핀에 맞춰서 연결하시면 됩니다.

3. 코딩


간단히 토양수분센서를 통해서 수분값을 읽는 명령만 수행하는 코딩으로 실험합니다.

void setup() {  
  Serial.begin(9600);
}
void loop() {
  int val = analogRead(A0);  //토양수분센서값 읽기
  Serial.println(val);
  delay(1000);
}

analogRead()함수를 이용하여 토양수분센서의 값을 읽고 시리얼모니터로 토양수분센서의 값을 출력합니다.

4. 결과


실험은 토양에 직접 꼽아서 토양의 수분상태를 측정해야 하는데 적당한 흙이 없어서 그냥 손으로 물을 묻히고 수분을 측정해 보았습니다. 아래 동영상은 손이 흙이라고 가정하여 손에 묻은 수분 측정을 하는 실험 영상입니다.


마무리


오늘은 간단히 토양수분센서를 이용하여 수분을 측정하는 실험을 하였습니다. 부품을 몇개 더 추가해서 좀 더 그럴싸하게 만들어 실험을 해 볼까도 했지만 순수하게 토양수분센서에 대한 의미만 전달하는 것이 좋을 것 같아서 간단히 실험했네요.

토양수분센서를 analogRead(A0), digitalRead(D0)로 측정을 간단히 할 수 있게 되었으니 다음 post에서 부품을 어떤 것을 추가해서 좀 더 그럴싸하게 표현을 해보는 실험을 연구를 좀 해 봐야 겠네요. LCD16x2로 토양수분센서값을 출력시키는 토양수분측정기를 만들지 아니면 Bluetooth에 연결하여 스마트폰으로 토양수분센서값을 전달 받아 스마트폰에 제어권을 넘길지 고민을 좀 해야 봐겠네요. wifi 모듈이 있으면 좀 더 확장해서 라즈베리파이에 서버를 만들고 서로 통신하는 방법을 취하면 멋질 것 같은데 wifi 모듈이 없네요. 나중에 하나 장만을 해서 실험을 해봐야 겠네요.

아마도 복습차원으로 Bluetooth은 최근 주제에서 너무 많이 연동한 실험을 했기 때문에 LCD16x2로 토양수분센서값을 출력하는 측정기를 만들 것 같기는 한데 아직은 결정하지 않았고 결정되면 둘 중 하나를 선택해서 좀 더 개선된 실험을 해보도록 하겠습니다.


댓글()