토양수분센서 제어(아두이노)

in kr-arduino •  7 years ago 

토양수분센서 제어(아두이노)



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

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

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로 토양수분센서값을 출력하는 측정기를 만들 것 같기는 한데 아직은 결정하지 않았고 결정되면 둘 중 하나를 선택해서 좀 더 개선된 실험을 해보도록 하겠습니다.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

(jjangjjangman 태그 사용시 댓글을 남깁니다.)
[제 0회 짱짱맨배 42일장]2주차 보상글추천, 1주차 보상지급을 발표합니다.(계속 리스팅 할 예정)
https://steemit.com/kr/@virus707/0-42-2-1
현재 1주차보상글이 8개로 완료, 2주차는 1개 리스팅되어있습니다!^^

2주차에 도전하세요

그리고 즐거운 스티밋하세요!

짱짱맨 방문에 감사합니다.

아... 아두이노로 다양한 걸 할 수가 있네요.

전기에 관련된 모든 걸 다 다룰 수 있다고 보시면 돼요.
아두이노가 강력한 이유는 오픈소스에 있고요. 많은 부품들에 대해 제어할 수 있는 라이브러리 함수가 오픈되어 있어서 아두이노를 다루는 사람들은 단지 어떤 부품을 가지고 어떤 상상을 할지가 생각하면 되지요.

그렇군요. 취미로 함 해보는 것도 괜찮아 보이는데, 항상 생업에 밀리고 있네요. ㅠㅠ

주말에 관심있는 분야 쪽으로 한번 유튜브로 찾아보시고 도전해 보세요.
기본 프로그램 문법만 알고 계시면 그냥 레고처럼 가져다가 붙여넣기만 하면 되기 때문에 그렇게 어렵지 않아요.

이 센스 이용하면 물자동으로 주는 장치만들 수있겠네요..

그쵸! 토양의수분에 따라서 자동으로 물을 줄 수 있지요.
추가로 모터펌프를 아두이노에 연결하면 화분같은 곳에다가 작게 설치를 하고 토양수분센서의 값에 따라 자동으로 물을 주도록 만들 수 있지요.

pairplay 가 kr-dev 컨텐츠를 응원합니다! :)

컨텐츠 응원에 감사합니다.

아두이노 입문을 고민하게 하는 글이네요.
제가 집에서 분변토를 위해서 지렁이를 키우는데
토양센서 한번 만들어보고 싶군요!

어렵지 않으니깐요 한번 조그마한 화분에서 한번 도전해 보세요.