습도센서 아두이노 - seubdosenseo adu-ino

[아두이노 강좌] 온습도 센서 DHT11을 이용한 시리얼 모니터/ 시리얼 플로터로 온도 및 습도 확인하기

습도센서 아두이노 - seubdosenseo adu-ino

2018. 1. 18. 16:31

습도센서 아두이노 - seubdosenseo adu-ino

안녕하세요 에듀이노 입니다.

오늘은 온도 및 습도를 측정할 수 있는 온습도 센서(DHT11)를 이용해보겠습니다.

습도센서 아두이노 - seubdosenseo adu-ino

습도센서 아두이노 - seubdosenseo adu-ino

온ㆍ습도 센서는 정전식 습도 센서와 서미스터(thermistor)를 사용하여 대기온도와
습도를 측정하고 디지털 센서 신호로 출력 하는 센서입니다. 정전식 습도 센서는
습도에 따라 저항 값이 변하며, 서미스터는 온도에 따라 저항 값이 변하는 소자입니다.

아래 표는 온ㆍ습도센서(DHT-11)로 측정 가능한 온도와 습도 범위 및 오차 입니다.


습도센서 아두이노 - seubdosenseo adu-ino

습도의 단위는 RH 상대 습도(Relavtive Humidity)를 뜻하며,
온도에서 섭씨
는 얼음의녹는점인 0, 물의 끓는점을 100℃로 하여
그 사이를 100등분한 단위를 한 눈금의 온도 차를 1℃로 나타냅니다.




습도센서 아두이노 - seubdosenseo adu-ino

습도를 측정할 때, 두 전극 사이의 저항 변화를 측정함으로써 공기중의 습도 변화를 확인할 수
있습니다. 습도 흡착판의 양쪽 표면에는 전극이 부착된 얇은 판을 통해 공기중의 수분을 흡수하여
그 표면에 부착된 수분 양에 의해 전극의 전도도(conductivity)따라변화를 감지하는방식으로
습도를출력합니다. 온도를감지하는부분이반도체세라믹으로이루어져온도에따라서
물질의저항값이 변하는소재의특성을이용, 값의변화를감지해온도를출력합니다.

습도센서 아두이노 - seubdosenseo adu-ino

4. 온ㆍ습도 센서를 이용해서 온도와 습도 측정하기
 
    온ㆍ습도 센서를 이용하여 현재 온도와 습도를 알아보겠습니다.
    온습도 센서를 그대로 두게 된다면 현재 대기의 온도와 습도를 측정하게 됩니다.
    온습도 센서를 손으로 잡으면 체온과 피부 상태의 습도에 의해 온도와 습도값이 변하며 이를
    ‘시리얼 모니터또는 시리얼 플로터로 확인할 수 있습니다.
 

     4.1 준비물
          실습에앞서준비물이필요합니다. 
          (링크를클릭하면해당 제품페이지로이동합니다.)
          
아두이노우노보드(DIP) : 링크 클릭
          
브레드보드 400(불투명) : 링크 클릭 
          점퍼 케이블 : 링크 클릭
          온습도 센서 모듈(DHT11) : 링크 클릭
 

     4.2 라이브러리 설치
           온ㆍ습도센서(DHT) 사용을 위해 라이브러리 추가가 필요합니다. 필요한 라이브러리는
           총 2가지이며, ‘DHT_sensor-library’‘Adafruit_Sensor’ 라이브러리가 필요합니다.
           아래 사진을 따라 진행해주세요.

           아래 버튼을 클릭하여 첨부된 라이브러리 파일을 받아주세요.


           다운 받은 ‘ZIP’ 형식의 파일을 받고 압축을 풀어 아두이노가 설치된 경로에 추가합니다.
              ‘DHT_sensor-library’ 라이브러리의 경우 라이브러리 폴더명을 ‘DHT’로 변경이 필요합니다.
                  EX)    C:\Program Files (x86)\Arduino\libraries\DHT
                            C:\Program Files (x86)\Arduino\libraries\ Adafruit_Sensor-master

습도센서 아두이노 - seubdosenseo adu-ino



     4.3 아두이노와 연결하기
        아래 결선도와 같이 온습도 센서를 아두이노와 연결합니다.

습도센서 아두이노 - seubdosenseo adu-ino

습도센서 아두이노 - seubdosenseo adu-ino



     4.4 코딩예제
        해당 코드는 온ㆍ습도 센서를 이용하여 측정하는 코드입니다.   
        센서와의 연결을 마친 후 아두이노와 PC를 연결하여 코드를 아두이노 스케치에 업로드 합니다.

#include <DHT.h> #define DHTPIN A1 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup(){ Serial.begin(9600); } void loop(){ int h = dht.readHumidity(); int t = dht.readTemperature(); Serial.print("humidity:"); // ‘시리얼 플로터’ 사용위해 이 부분 주석 필요 Serial.println(h); // 습도 값 출력 Serial.print("temperature:"); // ‘시리얼 플로터’ 사용위해 이 부분 주석 필요 Serial.println(t); // 온도 값 출력 delay(1000); }




     4.5 동작확인
        시리얼 모니터 및 시리얼 플로터를 이용해서 온도, 습도값을 확인합니다.

       시리얼 모니터를 이용하여 온ㆍ습도 측정하기

습도센서 아두이노 - seubdosenseo adu-ino

코딩예제 에서 수정하지 않고 코드를 업로드해주세요. 업로드 후 아래 사진과 같이
시리얼 모니터를 켜주세요. 아두이노 IDE’에서 툴 -> 시리얼 모니터를 선택합니다.

습도센서 아두이노 - seubdosenseo adu-ino

습도센서 아두이노 - seubdosenseo adu-ino

   위 사진과 같이 온ㆍ습도 값이 시리얼 모니터를 통해 출력 되는 것을 확인할 수 있습니다.

습도센서 아두이노 - seubdosenseo adu-ino

코드상에서 위 사진과 같이 온도 출력을 제외하고 나머지를 주석 처리 한 뒤
아두이노 IDE’에서 툴 -> 시리얼 플로터를 선택합니다.

습도센서 아두이노 - seubdosenseo adu-ino

습도센서 아두이노 - seubdosenseo adu-ino

시리얼 플로터 선택 후 온ㆍ습도 센서를 손으로 잡아 온도 상승을 확인할 수 있습니다.
 잡았던 온ㆍ습도 센서를 놓으면 다시 온도가 하락하며,
대기 중 온도가 측정되는 것을 확인할 수 있습니다.

습도센서 아두이노 - seubdosenseo adu-ino

코드상에서 위 사진과 같이 습도 출력을 제외하고 나머지를 주석 처리 한 뒤
아두이노 IDE’에서 툴 -> 시리얼 플로터를 선택합니다.

습도센서 아두이노 - seubdosenseo adu-ino

습도센서 아두이노 - seubdosenseo adu-ino

시리얼 플로터 선택 후 온ㆍ습도 센서를 손으로 잡아 습도 상승을 확인할 수 있습니다.
   잡았던 온ㆍ습도 센서를 놓으면 다시 온도가 하락하며,
대기 중 습도가 측정되는 것을 확인할 수 있습니다.



시리얼 플로터를 이용하여 온ㆍ습도 측정하기
      => 온도와 습도를 동시에 출력하여 확인할 수 있습니다.

습도센서 아두이노 - seubdosenseo adu-ino

코드상에서 위 사진과 같이 주석 처리 후  
아두이노 IDE’에서 툴 -> 시리얼 플로터를 선택합니다.

습도센서 아두이노 - seubdosenseo adu-ino

습도센서 아두이노 - seubdosenseo adu-ino

 온ㆍ습도 센서가 현재 대기의 온도와 습도를 측정했을 때 시리얼 플로터에 온도와      
    습도가 출력되는 것을 확인할 수 있습니다.

습도센서 아두이노 - seubdosenseo adu-ino

온ㆍ습도 센서에 손을 가져대 댔을 때 시리얼 플로터의 온도가 약간 올라가고
습도가 급격하게 올라가는 것을 확인할 수 있습니다.


습도센서 아두이노 - seubdosenseo adu-ino

< 센서가 다시 대기 상태를 측정 했을 때 >

   온ㆍ습도 센서가 다시 대기의 온도와 습도를 측정했을 때 시리얼 플로터에 올라갔던 온도와
습도가 내려가는 것을 확인할 수 있습니다.
 




    4.6 동영상
      아래 동영상을 통해 확인할 수 있습니다

여기까지
'온습도 센서 DHT11을 이용한 시리얼 모니터/ 시리얼 플로터로 온도 및 습도 확인하기'
였습니다.

감사합니다.

습도센서 아두이노 - seubdosenseo adu-ino

  • #아두이노
  • #에듀이노
  • #ARDUINOI
  • #EDUINO
  • #DHT11
  • #온습도센서
  • #온도
  • #습도
  • #센서
  • #sensor