Dht.h 라이브러리 다운 - dht.h laibeuleoli daun

Sensors

Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors

Author: Adafruit

Maintainer: Adafruit

Read the documentation

Compatibility

This library is compatible with all architectures so you should be able to use it on all the Arduino boards.

Releases

To use this library, open the Library Manager in the Arduino IDE and install it from there.

  • 1.4.4 (latest)
  • 1.4.3
  • 1.4.2
  • 1.4.1
  • 1.4.0
  • 1.3.10
  • 1.3.9
  • 1.3.8
  • 1.3.7
  • 1.3.6
  • 1.3.5
  • 1.3.4
  • 1.3.3
  • 1.3.2
  • 1.3.1
  • 1.3.0
  • 1.2.3
  • 1.2.2
  • 1.2.1
  • 1.2.0
  • 1.1.1
  • 1.1.0
  • 1.0.0

안녕하세요 통클입니다. 제가 이전에 교육하기 위해 정리했던 아두이노 관련 교육 자료들을 정리해서 포스팅하려고 합니다. 아두이노를 공부하는 초심자들에게 조금이나마 도움이 되었으면 좋겠습니다.

1. 온/습도 센서 회로

Dht.h 라이브러리 다운 - dht.h laibeuleoli daun
온습도 센서 회로

온습도 센서를 아두이노 스케치 상에서 활용하기 위해서는 외부 라이브러리를 추가해야 합니다.

라이브러리란 뭘까요? 

2. 라이브러리

Dht.h 라이브러리 다운 - dht.h laibeuleoli daun
라이브러리 설명

3. 외부 라이브러리 추가

Dht.h 라이브러리 다운 - dht.h laibeuleoli daun

구글에서 검색을 하거나 스케치 라이브러리를 모아놓은 사이트에서 다운로드하면 됩니다.

4. 외부 라이브러리의 이해

Dht.h 라이브러리 다운 - dht.h laibeuleoli daun

외부라이브러리를 이해해보자면 하나의 음식점 메뉴판을 가져온다고 이해하시면 됩니다.

원래 없던 기능도 라이브러리를 추가하는 그 순간부터 메뉴판에 있는 모든 음식들을 주문할 수 있게 되는 거죠.

앞에서 말씀드린 Serial 함수와 동일한 원리입니다. 차이가 있다면 Serial은 스케치에 이미 들어가 있고  dht는 추가해줘야 한다는 것이죠.

Dht.h 라이브러리 다운 - dht.h laibeuleoli daun

5. 온/습도센서 코드 이해

예시 코드입니다.

#include "DHT.h"       // DHT.h 라이브러리를 포함한다
#define DHTPIN 2      // DHT센서 2번핀

DHT dht(DHTPIN, DHT11);  // DHT설정하기; dht이름으로 옵션(핀번호, 센서종류)
float humi,temp; //온도,센서 변수선언_float(소수)타입

void setup() {
  Serial.begin(9600);    // 9600 속도로 시리얼 통신을 시작한다
}

 

void loop() {
  delay(2000);  //2초단위로 측정됨.
  humi = dht.readHumidity();  // 변수 humi에 습도 값을 저장 
  temp = dht.readTemperature();  // 변수 temp에 온도 값을 저장

  // Humidity 를 출력
  Serial.print("Humidity: ");  
  Serial.print(humi);  // 변수 h(습도)를 출력한다.
  Serial.println("%");  // %를 출력한다

  // Temperature 를 출력
  Serial.print("Temperature: ");  // 이하생략
  Serial.print(temp);
  Serial.println(" C");
}

처음에 추가한 라이브러리를 스케치 코드상 사용하겠다고 #include를 통해 불러옵니다.

그다음 온/습도 센서와 연결된 핀의 이름과 위치를 정해줍니다. → DHT dht(DHTPIN, DHT11);  // DHT 설정하기; dht이름으로 옵션(핀번호, 센서 종류)

Dht.h 라이브러리 다운 - dht.h laibeuleoli daun

여기서 소문자 dht는 코더가 임의로 지정한 함수 이름입니다.

Dht.h 라이브러리 다운 - dht.h laibeuleoli daun
습도, 온도

humi와 temp는 위에서 임의로 설정한 변수 값입니다.

거기에 dht.readHumidity(); 로 습도 값을 dht.readTemperature(); 로 온도 값을 담아내는 거죠.

마지막으로 Serial함수를 써서 해당 값을 보기 좋게 출력하면 됩니다.

이상으로 아두이노 스케치 외부 라이브러리 추가와 온/습도 센서에 대한 내용을 마무리하겠습니다.

여기까지 읽어주셔서 감사합니다.

【 아두이노 센서#17】 DHT11 ·습도 센서 다루기 #1

 이번 시간은 온도와 습도를 같이 나타내 줄 수 있는 DHT11 이라는 매우 유용한 센서에 대해 다루어 보고자 한다. 첫 강좌로 센서의 기본적인 활용에 대해 실습한 다음 두 번째 강좌에서 LCD를 장착하여 온도와 습도를 같이 표시해 볼 것이다. 

▶ 선수 학습 :

  없음

▶ 실습에 사용되는 부품 자료 ( DHT11 ) 

《 DHT11 핀 배열 》

Dht.h 라이브러리 다운 - dht.h laibeuleoli daun

위와 같은 DHT11 센서를 바로 사용하기도 하지만, 보통은 아래 처럼 풀업저항과 LED가 달려 있는 모듈 형태가 사용하기 편해서 많이 사용한다. 

▶ 실습 목표 :  

1. 풀업 저항의 기능에 대해 이해한다. 

2. DHT11 센서의 온도 값과 습도 값을 시리얼 모니터 창을 통해 확인 할 수 있다.

▶ 실습 회로도면 :

  (이미지 클릭하면 확대 가능)

'X' 또는 'NC'(No Connect)는 사용하지 않는 핀이며, 

만약 풀업저항이 달려 있는 모듈을 사용한다면, VCC, GND 연결하고, Data핀만 아두이노의 8단자에 바로 연결하면 더 간단히 연결할 수 있다.

센서에서 데이터 값을 아두이노로 정확히 전달하기 위해서 Data Pin풀업 저항(2.2KΩ~10KΩ)을 달아 주어야 한다.
상기 모듈은 풀업 저항 과 LED를 추가한 것이다

▶ 프로그램 코드 및 설명 : 

/*  DHT11 온습도 센서 값을 읽어 시리얼 모니터 창으로 나타내기 */

#include <DHT.h// DHT.h헤더파일을 라이브러리에 추가 한다

#define DHTPIN // ·습도 데이터 핀 설정

#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

#include <LiquidCrystal.h>

void setup() {

  Serial.begin(9600);

}

void loop() {

  delay(2000);                                   // 센싱을 위한 시간 지연 값을 준다.

  int h = dht.readHumidity();

  int t = dht.readTemperature();

  Serial.print("Humidity: ");        // 시리얼 모니터로 출력

  Serial.print(h);

  Serial.print(" %\t");

  Serial.print("Temperature: ");

  Serial.print(t);

  Serial.println(" C");

}

※ 만약 위 코드를 실행할 때 DHT11 센서관련 라이브러리 관련 에러가 난다면, 아두이노 IDE 메뉴의 라이브러리 관리 팝업창에서 <dht.h> 헤더파일을 검색하여 추가(설치)해 주어야 한다. 

① 라이브러리 검색창에서 "dht.h" 검색!

② 설치 클릭!

※ 중요! : 위의 라이브러리 매니저 화면에서 다운로드 받는 DHT.h 는 1.2.3 버전 이하를 사용해야  본문의 코드로 정상 작동 됩니다 !

혹은 첨부되는 라이브러리를 다운로드 받아 설치하세요.

1.2.3버전 이상의 최신버전을 사용하면 에러 나지는 않지만 온도 습도값이 정상적으로 나오지 않습니다.

Dht.h 라이브러리 다운 - dht.h laibeuleoli daun
DHT_sensor_library_1.2.3.zip

▶ 실행 결과 :

 (영상은 고화질로 설정하고 전체화면으로 보세요)

▶ 아두이노 파일(다운) :

Dht.h 라이브러리 다운 - dht.h laibeuleoli daun
01_DHT11_Serial_Basic.ino