[흥프로] 아두이노 식물 키우기 ( 자동 물 공급 )


아두이노 식물 키우기




안녕하세요 !!
구독자 여러뷴~

디바이스마트 엔지니어 흥프로 입니다~~!!~!

이번에 아두이노를 이용한 키트들을 

디바이스마트에서 판매할 예정입니다~!!!


쉽고 간단하게 실생활에서 사용할 수 있거나

그 원리를 이해 할 수 있도록 키트를 구성 하였습니다.

오늘의 포스팅은 !!!

아두이노로 식물 키우기 입니다.

아래는 상품 링크입니다~

http://www.devicemart.co.kr/goods/view?no=12232872


간단하게 토양 습도 센서를 이용하여 

토양의 습도를 체크 -> 일정 이하로 떨어지게 되면

펌프 모터를 동작 시켜 물을 공급해 줍니다.

온습도 센서를 추가하여 

다른 방향으로도 활용 할 수 있도록 
구성하였습니다.

회로도 먼저 보실까요!?

간단합니다.!! 

혹시나 부족할 전원을 커버 해주기 위해 

16v 200uF의 커패시터를 

전원 시작단에 연결해주었습니다.

모터가 동작을 시작할 때 

순간적으로 많은 양의 전력을 끌어갑니다.

시그널 케이블들은 

DHT 11 - D12

MOTOR - D10

토양 습도 센서 - A3

연결 되었습니다.




 

코드를 봅시다!.
최대한 간단하게 라이브러리를 사용해서 할 수 있도록
예제들을 짬뽕해서 만든 겁니다...ㅎㅎ

 



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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75

/*
온습도 센서 예제
온도와 습도를 출력
라이브러리 매니저에서
DHT sensor library by Adafruit
https://github.com/adafruit/DHT-sensor-library
Adafruit Unified Sensor by Adafruit
https://github.com/pkourany/Adafruit_Unified_Sensor_Library
7-세그먼트 라이브러리 다운로드 주소
https://github.com/nootropicdesign/digit-shield
설치 해야함
http://www.devicemart.co.kr/
*/

#include "DHT.h" //DHT 라이브러리 호출
#include <DigitShield.h> //DigitShield.h 라이브러리 호출
#define DHTPIN 12     // 온습도 센서가 12번에 연결

#define DHTTYPE DHT11   // DHT11 온습도 센서 사용

DHT dht(DHTPIN, DHTTYPE); //DHT 설정(12,DHT11)

int motor=10;
int water= 0 ;

void setup()
{
Serial.begin(9600); //통신속도 9600으로 통신 시작
DigitShield.begin();
dht.begin();
Serial.begin(9600);
pinMode(motor,OUTPUT);

}
//10
void loop() {
delay(500);
float h = dht.readHumidity(); //습도값을 h에 저장
float t = dht.readTemperature(); //온도값을 t에 저장
float f = dht.readTemperature(true);// 화씨 온도를 측정합니다.
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
Serial.print("Humidity: "); //문자열 출력
Serial.print(h); //습도값 출력
Serial.print("% ");
DigitShield.setValue(h);
delay(500);
Serial.print("Temperature: ");
Serial.print(hic); //온도값 출력
Serial.println("C");
DigitShield.setValue(t);
delay(500);
water=analogRead(A3);
Serial.print("Soil humidity: ");  //토양 습도 체크
Serial.println(water);
DigitShield.setValue(water);



if ( water > 800)   // 토양 습도 체크 물 공급 조건 환경에 맞게 수정
  {
  digitalWrite(motor,HIGH);
  Serial.println("motor on");
}
else   {
  digitalWrite(motor,LOW);
  Serial.println("motor off");
}

}






동작 원리는 이렇습니다.
토양습도센서가 토양의 습도를 측정합니다.
이때 토양 습도 센서값이 800 이상이면 
펌프 모터를 동작 시켜 물을 공급합니다.
간단 하죠?
이렇게 자동화 식물 재배를 경험 해 볼 수 있습니다.
온습도 센서를 이용해서 온도가 떨어지면 
조명을 켜고 습도가 떨어지면 가습기를 켜보는등
다양하게 활용 할 수 있겠죠?
너무 어렵게 접근 하지 마시고 
하나씩 하나씩 해결하고 거기에 살이 붙고
코드를 수정하여 가볍게 만들고
이 모든 과정을 천천히 해 나가시길 바랍니다.
그러다 보면 근사한 자동화 / 스마트 IOT가 구현 되어 있을 껍니다 ㅎㅎ 
더 많은 경험을 하실 수 있도록
노력하는 흥프로가 되겠습니다. 
자 오늘 포스팅은 여기까지 하겠습니다.

아래는 완성 샷 입니다.



항상 여러분의 도전을 응원합니다.

수고 하셨습니다

감사합니다!

이상 엔지니어 흥프로 였습니다.!


댓글 쓰기

0 댓글