디지털 온습도센서 DHT22 고정밀AM2302 – 4PIN
– DHT22 온습도 센서를 아두이노와 연결, 온도와 습도를 알아낼 수 있다.
– 아두이노 UNO, 나노(NANO)를 사용하여 측정값을 알 수 있다.
– DHT11 도 싸고 좋은 센서지만 보다 측정범위가 넓고 오차가 적은 정밀한 측정이 가능하다.
- 설명
- 추가 정보
- 제품사양
- 기술정보
- 사용방법
- 반품/교환 안내
설명
DHT22는 온도와 습도를 얻어내어 리턴하는 대표적인 아두이노 부품이다.
DHT22는 몇가지 형태가 존재하며, 회로 보호용 저항이 같이 있는 버전과 독립된 버전이 존재하는데, 이제품은 보호 저항이 없습니다.
아두이노 우노 또는 아두이노 나노 사용할수 있으며, NANO의 경우 UNO와 배선에는 차이가 없다.
DHT22/AM2302은 DHT11과 사용법이 비슷하나, DНТ11에 비해 정밀도가 높고 응답시간이 빠릅니다.
SHT11이나 SHT15를 대체할 수 있습니다.
추가 정보
크기 | 28 × 12 × 10 mm |
---|
제품 사양
– 작동 전압 : DC3.3~5V
– 초 저전력.
– 디지털 출력.
– 상대 습도: 0~100% RH(오차범위 ± 2~5%)
– 온도 측정. -40~80°C (오차범위 ± 0.5°C )
원산지:중국산
패키지
-온도 및 습도 센서 X 1
원산지:중국산
기술정보
이제품은 보호 저항이 없기 때문에 풀업 저항을 하나 거어 줘야 합니다.
보조 저항이 내장되어 있지 않은 DHT22는 https://learn.adafruit.com/dht/connecting-to-a-dhtxx-sensor 를 참조 하시기 바랍니다.
센서와의 길이는 최대한 짧게 하는 것이 좋습니다. 전압강하로 인한 오류가 날 수도 있습니다.
DHT11 센서에 비해 먼거리를 송신 가능합니다.
센서로부터 데이터를 읽어 올 때는 최소 5초정도 간격을 두고 READ 합니다.
라이브러리 설치
라이브러리 다운로드 https://github.com/adafruit/DHT-sensor-library
기존 설치된 Arduino IDE 설치 디렉토리 밑의 libraries폴더에 복사한다.
Arduino IDE를 재시작후 컴파일 한다.
주의: 폴더 명을 DHT-sensor-library대신에 DHT로 넣어주어야 한다.
원본 출처 소스 코드
GitHub 원본 소스: https://github.com/bbangpan/bbangpan.com/blob/master/neibc_dht22/neibc_dht22.ino
/*
Program Description: DHT22 sensor sample code
Needed library : DHT
Tested on : Arduino 1.0.6, Arduino UNO R3, DHT22
*/
#include “DHT.h”
#define DHTPIN 2 // data pin to DHT22
#define DHTTYPE DHT22 // using DHT 22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println(“DHT22 test:”);
dht.begin();
}
void loop() {
float hum = dht.readHumidity();
float tmp = dht.readTemperature();
// check if returns are valid
if (isnan(tmp) || isnan(hum)) {
Serial.println(“Reading error..”);
} else {
Serial.print(“Temperature: “);
Serial.print(tmp);
Serial.print(” C\t”);
Serial.print(“Humidity: “);
Serial.print(hum);
Serial.println(” %”);
}
// – end of source code —
왼쪽 에서 오른쪽으로
1 : VCC (5V)
2 : SIGnal
3 : NC Not connected
4 : GND
/* DHT22 sensor Library 다운로드 */
라이브러리 설치
라이브러리 다운로드 https://github.com/adafruit/DHT-sensor-library
기존 설치된 Arduino IDE 설치 디렉토리 밑의 libraries폴더에 복사한다.
#include “DHT.h”
DHT dht;
void setup()
{
Serial.begin(9600);
dht.setup(2); // data pin 2
}
void loop()
{
delay(dht.getMinimumSamplingPeriod());
Serial.print(dht.getHumidity());
Serial.print(“\t”);
Serial.print(dht.getTemperature());
}
//=============예제 -2 =================
/* How to use the DHT-22 sensor with Arduino uno
Temperature and humidity sensor
*/
//Libraries
#include ;
//Constants
#define DHTPIN 7 // what pin we’re connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino
//Variables
int chk;
float hum; //Stores humidity value
float temp; //Stores temperature value
void setup()
{
Serial.begin(9600);
dht.begin();
}
void loop()
{
delay(2000);
//Read data and store it to variables hum and temp
hum = dht.readHumidity();
temp= dht.readTemperature();
//Print temp and humidity values to serial monitor
Serial.print(“Humidity: “);
Serial.print(hum);
Serial.print(” %, Temp: “);
Serial.print(temp);
Serial.println(” Celsius”);
delay(10000); //Delay 2 sec.
}