아두이노 부품예제
아두이노 온습도센서(DHT-11)사용 예제 설명
아두이노 온습도센서(DHT-11)사용 예제 설명.
아두이노 온습도센서(DHT-11)
온도와 습도를 동시에 감지할수 있는 센서 입니다.
기본적으로 아두이노에서 라이브러리를 제공 하기때문에 사용자는 어렵지않게 원하는 온습도 값을 얻을수
있습니다.
모양 및 핀맵
- 핀맵은 왼쪽부터 VCC, A0(아날로그), GND 입니다.
사용예시
아두이노 온습도센서(DHT-11)를 이용한 온도,습도의 측정 예시
-온습도센서(DHT-11)를 아두이노 우노R3와 연결하여 라이브러리를 이용해서 쉽게 온,습도 값을 PC모니터에 출력합니다.
1. 회로연결도
연결방법 설명
`온습도센서(DHT-11)` -> `아두이노 우노 R3`
VCC - > 5V
GND - > GND
A0 -> A0
으로 연결 해줍니다.
2. DHT-11의 라이브러리 설치 (오른쪽 첨부파일에서 다운받아보실수 있습니다.)
-아두이노의 좋은점은 사용자에게 이미 만들어져서 바로 쓸수있는 라이브러리를 제공하며, 적용해서 조금만 수정하면
바로 적용해서 사용가능하다는 장점이 있습니다.
DHT-11 온습도센서의 경우에도 아두이노에서 라이브러리를 제공해줍니다.
1.오른쪽 상단에 첨부파일중 `DHT11_library.zip` 파일을 다운받아서 압축을 해제해 줍니다.
2.압축이 해제된 DHT11_library 폴더를
C:\Program Files (x86)\Arduino\libraries 경로에 복사해 줍니다.
3. 소스코드 (오른쪽 첨부파일에서 다운받아보실수 있습니다.)
#include <DHT11.h> //아두이노 온습도센서 DHT11을 사용하기위해 위에서 설치해두었던 라이브러리를 불러옵니다.
DHT11 dht11(A0); /*불러온 라이브러리 안에 몇번 PIN에서 데이터값이 나오는지
설정해줘야 합니다. 아날로그 0번 PIN인 A0으로 설정했습니다.
*/
void setup()
{
Serial.begin(9600); /*온습도값을 PC모니터로 확인하기위해 시리얼 통신을
설정해 줍니다.
*/
}
void loop()
{
float temp, humi; /*온도와 습도 값이 저장될 변수를 만들어줍니다. 온습도값이
소수점이기때문에 float변수를 사용했습니다.
*/
int result = dht11.read(humi, temp); /* DHT.h 함수안에 dht11이라는 메소드를 사용해서
현재 온습도 값을 자동으로 계산해줍니다.
계산후 현재 온습도가 데이터가 나오는지 아닌지
판단한 리턴값을 result 변수에 저장해줍니다.
dht11메소드 에서는 온습도가 잘 감지되면 0이라는
리턴값을 보내줍니다.
*/
if (result == 0) /* 온습도가 잘측정이되서 result변수에 0이라는 값이 들어오면
if문이 실행됩니다.
*/
{
Serial.print("temperature:");
Serial.print(temp); //온도값이 출력됩니다.
Serial.print(" humidity:");
Serial.print(humi); //습도값이 출력됩니다.
Serial.println();
}
else
{
Serial.println();
Serial.print("Error No :"); //result 값이 0이 아니라 다른숫자가 저장이되면 출력됩니다.
Serial.print(result);
Serial.println();
}
delay(DHT11_RETRY_DELAY); /* 일반적인 딜레이 값이 아니라 DHT11에서 권장하는
딜레이함수를 사용해줘야 정상적인 값이 나옵니다. 옆에는 DHT11 라이브러리안에
미리 설정되어있는 딜레이시간을 적용시킨 모습 입니다.
*/
}
4. 실습결과
-소스코드를 아두이노우노R3 에 `업로더` 시켜줍니다.
-PC모니터를 통해서 값을 확인할수 있도록 `시리얼모니터` 버튼을 눌러줍니다
-아두이노 온습도센서(DHT-11) 가 정상작동되며, 현재 온도,습도 값이 출력되는 모습입니다.
-아래 동영상은 습도를 올려보기 위해서 온습도센서(DHT-11)에 물티슈를 대어 보고 습도의 변화를 관찰하는
동영상 입니다.
-물티슈를 가져갔을때의 습도변화결과를 확인하는 영상
//storefarm.naver.com/domekit/products/299692224