-
아두이노 레시피 : 토양습도 센서 사용하기 - 기초 편아두이노 레시피 2025. 2. 21. 09:51
# Recipe 1. 토양습도 센서(기초 편)
사진출처 : LastMinute Engineers.com
안녕하세요~ 아두이노 셰프입니다. IOT 프로젝트를 진행할 때 아두이노를 많이들 사용하는데요, 오늘은 스마트팜이나 스마트화분에서 꼭 쓰이는 토양습도 센서 레시피를 소개해드리려고 해요. 센서의 기초 사용방법, 알아볼까요?
오늘의 재료 Ingredient
<메인 재료>
토양습도 센서 (FC-28)
(꼭 같은 모델을 사용할 필요는 없어요.)
<그 외 재료>
암-수 점퍼케이블 5p
아두이노 우노
그리고 측정할 화분
메이킹 방법 Steps
Step 1. 선 연결하기 Wiring
a. 센서모듈의 A0핀은 아두이노의 A0핀에,
b. 센서모듈의 GND핀은 아두이노의 GND핀에,
c. 센서모듈의 VCC는 아두이노의 5V에,
d. probe(측정 부분)와 센서모듈을 연결해 주세요.(+,- 는 상관없어요!)
- - - - - - - - - -
Step 2. 아두이노 코드 Code review
여러분의 요리가 훨씬 간편해질 수 있도록, 숙성이 필요한 코드는 언제나 제가 준비할게요ㅎㅎ
#define pin A0 //앞으로 A0핀을 ‘pin’이라 부르겠습니다. 선언합니다. void setup() { //여기 안에 있는 코드는 딱 한번만 실행됩니다. Serial.begin(9600); //9600의 속도로 시리얼 통신을 시작합니다. pinMode(pin,INPUT); //아두이노의 A0핀을 INPUT 모드로 설정합니다. //이제 A0핀에서 전기신호를 읽을 수 있습니다. } void loop() { //위의 Setup() 실행 이후, 여기 안에 있는 코드는 무한히 반복실행됩니다. int data = analogRead(pin); //여기 loop안에서만, ‘pin’에서 읽히는 정보를 ‘data’라 부르겠습니다. Serial.println(data); //시리얼 모니터에 ‘data’의 값을 출력합니다. delay(500); //0.5초 동안 아무것도 하지 않고 기다립니다. (1000 = 1초) }
- - - - - - - - - -
Step 3. 동작시키기 Working
● 코드를 아두이노 우노에 업로드해 주세요. (업로드 완료 후에도 USB선은 뽑지 않고 유지합니다.)
● 화분에 토양습도 센서를 꽂고, 시리얼 모니터를 열어서 값이 출력되는지 확인해 주세요.
● 화분에 분무기로 물을 뿌려가며 진짜 센서의 값이 변하는지 확인해 주세요.
(분무기가 아닌, 컵 등으로 직접 물을 부으면 변하는 값을 확인하기 어려울 수 있습니다.)
오늘의 레시피는 여기까지입니다~ 더 깊은 맛을 원하시는 분은 아래 과학시즈닝을 참고해 주세요!
“과학으로 양념하기” Seasoning
센서에 대한 과학적 원리와 세부내용으로 레시피에 더 깊은 맛을 넣어봅시다.
- - - - - - - - - -
센서에 대하여
토양 습도센서는 토양 내 수분함량에 따른 저항의 변화를 측정하는 센서입니다.
이 전기저항은 토양 내 수분과 토양을 구성하는 입자의 크기 및 다양성에 영향을 받아요.
때문에 토양 내 수분함량이 많으면 저항값이 작아지고, 수분함량이 적으면 저항값이 커집니다.
이 원리를 이용하여,
센서에서는 젖은 흙에 전기를 흘려보내 저항값을 측정하고,
아두이노에서 이를 받아 우리가 보는 시리얼 모니터에 보여주게 되는 겁니다.
그러나 토양 내 수분함량이 매우 많을 때는
전기저항이 둔감하여 오차가 크다는 단점도 가지고 있습니다.
그냥 물에 담근 것처럼 되니까요ㅎㅎ
- - - - - - - - - -
코드의 동작 알고리즘
알고리즘은 쉬운 말로 ‘진행절차’라고 할 수 있습니다.
코드가 어떻게 동작되는지 알아볼까요?
이번 코드는 아주 단순한 절차를 가집니다.
“읽는다.” → “출력한다.”
읽기 위해서, pinMode 함수로 A0핀을 읽기 모드(INPUT)로 설정해 주었고
출력을 위해, 시리얼통신의 println 함수를 이용해서 모니터창에 출력했어요.
pinMode, println 함수가 이번 레시피 동작의 핵심이랍니다~
만약 다른 센서를 사용하더라도,
“센서의 값을 모니터에 출력하여 확인”하는
이 ‘진행절차’는 크게 달라지지 않아요.
- - - - - - - - - -
센서요약 카드
이름 : 토양 습도 센서
설명 : 토양의 수분이 얼마큼 있는지 측정하는 센서이다. 수분이 얼마나 함량 되어 있는가에 따라서 그 값이 달라지며 수분이 많을 경우 값이 낮아지고, 수분이 적을 경우 값이 커진다.
센서의 구성 : 센서는 토양에 직접 꽂는 전도성 부분과 전원부인 VCC(+), GND(-) 핀, 그리고 아날로그 데이터를 측정하는 A0, 디지털 데이터를 측정하는 D0로 구성되어 있다. 파란색 가변저항을 조절하면 센서의 민감도를 조정할 수 있다.'아두이노 레시피' 카테고리의 다른 글
아두이노 레시피 : 모터드라이버 사용하기 - 기초편 (0) 2025.02.22 아두이노 레시피 : 릴레이 모듈 사용하기 - 기초편 (0) 2025.02.22 아두이노 레시피 : 서보모터 사용하기 - 기초편 (1) 2025.02.22 아두이노 레시피 : PIR센서 사용하기 - 기초편 (0) 2025.02.21 아두이노 레시피 : 조도센서(CDS) 사용하기 - 기초편 (0) 2025.02.21