개발자/Arduino

고정밀 온도 습도 센서 DHT21 AM2301 Digital Temperature Humidity Sensor

지구빵집 2020. 9. 22. 23:28
반응형

 

 

Nano 33 IoT 에서 테스트 

고정밀 온도 습도 센서 DHT21 AM2301 Digital Temperature Humidity Sensor 

 

DHT11보다 정밀한 DHT21 온도, 습도 측정센서입니다. 디지털핀 1개와 전원핀(VCC, GND) 2개를 연결하여 사용할 수 있습니다. 

 

아래 특징과 사양을 적었습니다. 상세한 내용은 데이터북을 참고하세요

AM2301.pdf
0.56MB

 

특징 (Features) :

  • AM2301 (DHT21) 온습도센서
  • 정전식 습도 센서고, 온도를 측정하기 위해서는 써미스터를 사용하며 데이타 핀으로 센싱 값을 출력
  • 센서 데이터는 매 2초 단위로 리프레쉬(2초 기다렸다가 데이터 읽어야 함)
  • 3핀 (전원2, 디지털통신1)
  • 고정밀 온도센서

사양 (Specification) :

  • 작동온도 : 3.3~5.2VDC
  • 측정습도 : 0~100% 상대습도(RH)
  • 측정온도 : -40~80℃
  • 정밀도 : ±3%RH , ±0.5℃
  • Dimension: 59 * 27 * 13mm
  • 3.5~5.5V Input
  • 1~1.5mA measuring current
  • Humidity from 0-100% RH
  • -40 - 80 degrees C temperature range
  • +-3% RH accuracy
  • +-0.5 degrees C
  • Model: AM2301

센서 외관 모양은 아래 이미지를 참고하세요.

 

DHT21 AM2301 Digital Temperature Humidity Sensor

 

DHT21 AM2301 Digital Temperature Humidity Sensor

핀 맵을 아래에 표시합니다.

 

DHT21 AM2301 Digital Temperature Humidity Sensor 핀 맵

 

우선 dht22 센서를 사용하기 위해 SimpleDHT 라이브러리를 설치합니다. 메뉴에서 스케치 > 라이브러리 포함하기 > 라이브러리 관리로 가서 

 

 

아래와 같은 검색 창에 simpledht로 검색하여 라이브러리를 설치합니다.

 

 

Nano 33 IoT 보드에 아래 소스코드를 컴파일하고 업로드 한다.

 

#include <SimpleDHT.h>

// for DHT22, 
//      VCC: 5V or 3V
//      GND: GND
//      DATA: 2
int pinDHT22 = 2;
SimpleDHT22 dht22(pinDHT22);

void setup() {
  Serial.begin(115200);
}

void loop() {
  // start working...
  Serial.println("=================================");
  Serial.println("Sample DHT22...");
  
  // read without samples.
  // @remark We use read2 to get a float data, such as 10.1*C
  //    if user doesn't care about the accurate data, use read to get a byte data, such as 10*C.
  float temperature = 0;
  float humidity = 0;
  int err = SimpleDHTErrSuccess;
  if ((err = dht22.read2(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
    Serial.print("Read DHT22 failed, err="); Serial.println(err);delay(2000);
    return;
  }
  
  Serial.print("Sample OK: ");
  Serial.print((float)temperature); Serial.print(" *C, ");
  Serial.print((float)humidity); Serial.println(" RH%");
  
  // DHT22 sampling rate is 0.5HZ.
  delay(2000);
}

 

테스트 결과 화면은 아래와 같다. 

 

 

 

참고

 

첨부한 AM2301 데이터북 파일

다른 Digital relative humidity & temperature sensor AM2302/DHT22 데이터북 

Digital+humidity+and+temperature+sensor+AM2302.pdf
0.40MB

DHT11과 DHT22 센서 비교 영어

DHT11과 DHT22 센서 비교 한글

SimpleDHT 라이브러리 깃허브 참고자료

Smart Garden System with Arduino Nano IoT 

 

 

반응형