본문 바로가기
개발환경/아두이노

[아두이노]독학 아두이노 우노 DHT11 온도습도센서 사용하기

by 하품하품 2020. 10. 28.

아두이노 UNO를 이용하여 온도 및 습도를 측정할 수 있는 센서를 이용하여 값으로 쉽게 값으로 표현하는 방법에 대해 알아보도록 하겠습니다. 

아두이노 UNO를 사용하여 DHT11 온습도 센서 값 확인하는 방법

기본적으로 아두이노 UNO를 사용하기 전 프로그램은 설치하셨나요? 간단한 설치방법은 아래 링크에 두겠습니다. 아두이노 UNO와 DHT11 센서를 사용하여 코드를 짜 볼 텐데요. 구매하신 센서가 DHT22 센서 모듈 이어도 아래 코드로 구현 가능하니깐 걱정 마세요.

아두이노-우노-코딩-온도-습도-센서-온습도-DHT11
DHT11 온습도센서

DHT11 구성

DHT11 온습도 센서 모듈의 핀은 3개로 구성되어 있습니다. 모듈에 달려있는 3개의 핀 구성은 +(5V), output,-(GND)입니다.

아두이노 우노 코딩 온도 습도 센서 온습도 DHT11
아두이노 우노 온습도센서 

아두이노 우노와 DHT11 온습도 모듈 연결 방법

사진엔 자세히 안 보이지만 온습도 센서는 모듈에 따라 +,-,OUTPUT 핀 배치가 다르기 때문에 말로 설명드리겠습니다.

DHT11 온습도 모듈의 "+"는 아두이노 우노의 5V에 연결하세요

DHT11 온습도 모듈의 "-"는 아두이노 우노의 GND에 연결하세요.

DHT11 온습도 모듈의 "OutPut"핀은 아두이노 우노의 디지털 핀 2 번핀~13 번핀 중에 한 곳에 연결하세요.

아두이노 온습도 센서 라이브러리 설치 및 코딩

아두이노 IDE프로그램을 실행해주세요.

[아두이노] 아두이노(Arduino) IDE 설치 방법 <클릭>

(아두이노 IDE 설치는 이전의 게시글에 설치방법을 잘 정리해두었습니다.)

아두이노-우노-코딩-온도-습도-센서-온습도-DHT11아두이노-우노-코딩-온도-습도-센서-온습도-DHT11
Arduino Uno DHT11 

우선 아두이노 IDE를 실행시킨 뒤에 Arduino Uno보드를 사용하기 위해 보드 선택을 해줍니다. 코드를 실행시키기 전에 컴퓨터에 연결하기만 하면 되지만 미리 연결시켜 두고 보드 설정 및 포트 설정해주세요. 컴퓨터에 연결되면 자동으로 아두이노 IDE 설치할 때 드라이버를 설치했기 때문에 어떤 USB 포트에서 아두이노 우노를 사용하는지 나오는데요.

 

 

 

여기서 아두이노 우노 포트를 눌러 사용한다고 체크해줍니다. 여러 개의 아두이노를 한 개의 컴퓨터에 연결한다면 아두이노 우노, 아두이노 메가, 아두이노 나노 등등 구분해야 되기 때문에 포트 옆에 보드 이름이 뜨는 것입니다.

아두이노-우노-코딩-온도-습도-센서-온습도-DHT11
Arduino Uno 라이브러리

오늘 사용할 DHT11 및 DHT22 온습도 센서를 사용하려면 우선 라이브러리를 다운로드하여야 됩니다. 아두이노 라이브러리를 다운로드하여야 간단한 코드로 쉽게 모듈을 사용할 수 있기 때문입니다.

아두이노-우노-코딩-온도-습도-센서-온습도-DHT11
DHT11 라이브러리

라이브러리 매니저에서 DHT11을 검색하세요. 검색하고 엔터 누르시면 DHT sensor library가 나오는데 설치 버튼을 눌러주세요.

아두이노-우노-코딩-온도-습도-센서-온습도-DHT11
아두이노 우노 DHT11 라이브러리 설치

설치 버튼을 누르고 나면 Library를 설치할 것인지에 대한 문구가 나오는데요. 이럴 땐 Install all을 눌러주시기 바랍니다. 용량이 크지 않아요.

아두이노-우노-코딩-온도-습도-센서-온습도-DHT11
아두이노 우노 DHT11 온습도센서 라이브러리 포함

라이브러리가 잘 설치되었는지 확인하는 방법은 추가된 라이브러리를 확인하시는 것 밖에 없습니다. 위에 방법대로 잘 설치가 되었는지 확인만 하세요.

아두이노-우노-코딩-온도-습도-센서-온습도-DHT11
아두이노 우노 온습도센서 코드

아두이노 IDE 프로그램에서 코드를 직접 타이핑하세요. 코드 작성 후 업로드 아이콘을 눌러 아두이노에 FW를 올려줍니다.

 

 

 

아두이노 온습도 센서 DHT11, DHT22 코드

#include <DHT.h>
#include <DHT_U.h>

#define DHTPIN 3 //온습도센서 OUTPUT 핀연결
#define DHTTYPE DHT11 //DHT11인지 DHT22인지 구별 하기위함

DHT dht(DHTPIN,DHTTYPE);
void setup() {
  Serial.begin(9600);
  dht.begin(9600);
}
void loop() {
  float hum=dht.readHumidity();
  float temp=dht.readTemperature();
  Serial.print("습도 : ");
  Serial.println(hum);
  
  Serial.print("온도 : ");
  Serial.println(temp);
  Serial.println("");
  delay(1000);
}

아두이노-우노-코딩-온도-습도-센서-온습도-DHT11
아두이노 우노 DHT11 시리얼모니터

최종적으로 DHT11과 DHT22 온습도 센서 모듈을 쉽게 아두이노로 온도와 습도 표시를 할 수 있습니다.


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로