/*
온습도 센서 예제
온도와 습도를 출력
라이브러리 매니저에서
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");
}
}
|
0 댓글