인투피온 강좌/아두이노 팁(Tip)

아두이노 매뉴얼 [화분 물공급 키트] - 1

인투피온 2022. 7. 29. 10:00

(이미지 클릭시 구매할 수 있는 링크로 이동됩니다)

 

 

안녕하세요!

오늘은 아두이노 화분 물공급 키트에 대해 알아보겠습니다.

 

토양습도센서(FC-28)를 이용한 물공급 키트입니다!

 

 

키트의 구성품입니다!

 

  • 아두이노 우노와 케이블
  • 프로토 쉴드, LCD 모듈
  • 토양습도모듈(FC-28), 온습도 모듈(DHT-11)
  • 워터펌프, 호스, L9110 모터 드라이버
  • 점퍼 케이블 10cm 암수, 수수와 20cm 암수

 

 

 

토양의 습도를 측정하고 기준치 이하로 떨어지게 되면

워터펌프를 이용해 자동으로 물을 주는 키트입니다.

 

LCD 를 통해 온습도 값을 실시간으로 모니터링 할 수 있어요!

 

그럼 이제 사용법에 대해 알아보겠습니다.

 

 

 

Chapter 1. 토양습도측정 모듈
FC-28 사용하기


토양습도센서는 아래 사진처럼 U 자 모양으로 생겼습니다.

아래 뾰족한 부분이 시작점이 되어 토양의 습도를 측정하는데

공기 중에선 보통 '0' 이 되어 아날로그값 1023이 됩니다.

 

화분에 물이 부족하게 되면 끝부분에만 측정이 되어

값이 1023에 가깝게 표시됩니다.

반대로 물이 많아지면 측정 값이 낮아지게 됩니다.

 

 

토양습도 측정 센서 모듈 회로도

 

우노와 프로토 쉴드 결합 후 토양습도센서 연결

 

FRITZING 회로도

 

위의 회로도처럼 +-A0 에 연결해주시면 완성됩니다.

 

 

 토양습도 측정 모듈 아두이노 우노
- GND
+ 5V
AO A0

 

 

토양습도 측정 센서 모듈 소스 코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int soilhumi = A0;
 
void setup() {
 Serial.begin(9600);
 pinMode(soilhumi, INPUT);
}
 
void loop() {
  int soilhumi_val = analogRead(soilhumi);
  Serial.println(soilhumi_val);
  delay(500);
  
 
}
 
 

 

소스는 생각보다 많이 간단합니다.

 

센서에서 읽어오는 아날로그 값을 저장해서 그대로 시리얼 모니터로 출력합니다!

 

 

 

 

 

Chapter 2. 온습도센서 DHT-11

 

DHT-11
DHT 11

 

이번에는 온습도센서 DHT11 사용법에 대해 알아보겠습니다.

온습도센서 DHT11 모듈은 3개의 핀으로 이루어져 있습니다.

 

( + ), ( - ), OUT

 

저희는 데이터 핀을 우노의 D13에 연결하겠습니다.

 

 

온습도센서 DHT11 회로

 

온습도센서 DHT11 회로도
실제로 연결한 모습

 

 

온습도모듈 DHT11 아두이노 우노
( - ) 핀 GND
( + ) 핀 5V
OUT 핀 D13

 

 

온습도센서 DHT11 라이브러리

 

DHT11.zip
0.00MB

 

DHT11 를 사용하기 위해서는 라이브러리가 필요합니다.

 

위의 파일을 다운로드한 후 ' .ZIP 라이브러리 추가...' 를 클릭 후

다운 받은 파일을 추가해주세요.

 

 

 

 

온습도센서 DHT11 소스코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "DHT.h" // DHT 라이브러리 호출
 
#define DHTPIN 7     // 온습도 센서가 7번에 연결
#define DHTTYPE DHT11   // DHT11 온습도 센서 사용
 
DHT dht(DHTPIN, DHTTYPE); // DHT 설정
 
void setup() {
  Serial.begin(9600); // 통신속도 9600으로 통신 시작
  Serial.println("DHT11 test!"); // 문자 출력
}
 
void loop() {
  
 int h = dht.readHumidity(); // 습도값을 h에 저장
 int t = dht.readTemperature(); // 온도값을 t에 저장
 
 Serial.print("Humidity: "); // 문자열 출력
 Serial.print(h); // 습도값 출력
 Serial.print("% ");
 Serial.print("Temperature: ");
 Serial.print(t); // 온도값 출력
 Serial.println("C");
 
 delay(2000);// 샘플링 간격 2초 부여
 
}
 
 

 

손으로 센서부분을 잡고 있을 경우

 

센서 부분에 손을 올려 놓았을 때 올라가는 것을 볼 수 있습니다.

 

 

다음 시간엔 챕터 2 로 I2C LCD 에 대한

강의를 이어나가도록 하겠습니다!

 

 

감사합니다.

 

 

 

 

 

전자부품 전문 쇼핑몰 인투피온입니다.
필요한 자재에 관한 문의는 홈페이지를 통한 견적 신청, 혹은 전화나 메일로 주시면 빠른 회신을 드릴 수 있도록 하겠습니다.

▶ 홈페이지: http://intopion.com/
▶ 전화: 02-2615-7278
▶ FAX : 02-6124-4242
▶ 메일: intopion@hanmail.net