[아두이노 강좌] 22. 온도, 습도 측정 센서 DHT11 모듈 사용하기 / 라이브러리 추가하기 (2)
DHT11.zip
4.4K 7797 8년전
개요
이번 글에서는 DHT11이라는 센서를 통해 온도와 습도를 측정해보도록 하겠습니다. 센서를 사용하기 위해서는 라이브러리를 추가해야하며, 라이브러리 추가 과정 또한 배워보도록 합시다.
온습도 센서 DHT11
DHT11은 내부에 써미스터와 정전식 습도 센서가 내장되어있는 온습도 센서입니다. 써미스터는 온도에 따라 저항 값이 변하는 소자이며, 정전식 습도 센서는 습도에 따라 저항 값이 변하는 소자 입니다. 예제에서 사용될 DHT11 모듈은 총 3개의 핀으로 구성되어 있으며 각각 VCC, GND 그리고 DATA으로 구성됩니다. 온도 측정시 써미스터 특성상 바로 바로 온도가 변하지 않으며, 약 1분정도의 시간이 소요됩니다. 그림1. DHT11 온습도센서 모듈
온도 및 습도 측정하기
아두이노와 DHT11 온습도센서 모듈을 연결하여 온도와 습도를 측정해봅시다. 준비물 회로도 연결
5V, GND는 전원에 연결해주고, DATA핀은 디지털 2번핀에 연결해주세요.
프로그램 코드 (11) #include "DHT.h" // DHT.h 라이브러리를 포함한다 #define DHTPIN 2 // DHT핀을 2번으로 정의한다(DATA핀) #define DHTTYPE DHT11 // DHT타입을 DHT11로 정의한다 DHT dht(DHTPIN, DHTTYPE); // DHT설정 - dht (디지털2, dht11) void setup() { Serial.begin(9600); // 9600 속도로 시리얼 통신을 시작한다 }
void loop() { delay(2000); int h = dht.readHumidity(); // 변수 h에 습도 값을 저장 int t = dht.readTemperature(); // 변수 t에 온도 값을 저장 Serial.print("Humidity: "); // 문자열 Humidity: 를 출력한다. Serial.print(h); // 변수 h(습도)를 출력한다. Serial.print("%\t"); // %를 출력한다 Serial.print("Temperature: "); // 이하생략 Serial.print(t); Serial.println(" C"); }
라이브러리 추가하기 위 프로그램은 라이브러리 파일을 추가하기전에는 컴파일이 되지 않습니다. 본 글의 첨부파일 (라이브러리 : DHT11)을 다운로드 받은 후 압축을 풀고 설정 폴더에 위치시켜주세요. 폴더 안에 DHT11 폴더를 넣어주세요. 넣어준 후 통합개발환경을 껏다키면 파일 - 예제에 DHT11이 추가됩니다. 프로그램 해석 본문에서 사용된 DHT11 관련 코드는 기본 내장함수가 아닌 DHT11 라이브러리로 인해 추가된 함수들입니다. DHT11 라이브러리를 추가하지 않으면 컴파일 오류가 발생합니다. 라이브러리를 추가한 후 코드를 업로드하면 시리얼 모니터를 통해 습도와 온도를 확인할 수 있습니다.
링크바로가기: https://smartstore.naver.com/mechasolution_com/products/2855891646
|