DHT11 : 온도 및 습도 측정 용 센서에 관한 모든 것

DHT11

온도와 습도 측정은 매우 일반적입니다. 많은 전자 메이커 프로젝트에서. DIY에서는 특정 시스템을 제어하기 위해 이러한 매개변수를 측정해야 하는 것이 일반적입니다. 예를 들어 온도나 습도가 특정 값에 도달하면 시작되는 냉장, 식물 관리 또는 에어컨 시스템을 만들 수 있습니다. 그러나 이것이 가능하려면 DHT11과 같은 센서가 필요합니다.

시장에서 센서가 많다 지원되는 온도 범위 또는 다른 정확도로 매우 다른 온도. 이에 대한 예는 다음과 같습니다. LM35는 전자 제품에서 가장 인기 있고 사용되는 것 중 하나입니다.. Analog Devices의 AD22103KTZ와 같이 전도도 변화에 의해 작동하는 다른 습도 센서도 있습니다. 그러나 두 매개 변수를 모두 측정하려는 경우 오늘 이 기사에서 논의하는 장치가 훨씬 더 흥미로울 수 있습니다...

DHT11는 무엇입니까?

El DHT11은 온도와 습도를 측정하는 간단한 센서입니다., 모두 하나로. 그래서 두 개의 센서를 구입할 필요가 없습니다. 갈라져. 가격은 약 2유로이므로 매우 저렴하지만 이러한 유형의 Arduino용 전자 부품에서 일반적으로 사용되는 모듈(사용을 용이하게 하기 위해 PCB에 장착됨)에 장착된 것을 찾을 수도 있습니다. 보드의 경우 5킬로옴 풀업 저항과 동작을 알려주는 LED가 포함되어 있습니다.

DHT11은 보정된 디지털 신호로 인한 높은 신뢰성과 안정성. 또한 데이터시트를 보면 다음 섹션에서 볼 수 있는 흥미로운 기능이 있음을 알 수 있습니다.

유사한 제품

DHT22

관심을 가질 만한 DHT11과 유사한 제품이 있습니다. ~이다 DHT22. 또한 온도 및 습도 센서가 통합되어 있지만 이 경우 가격이 약 4유로로 조금 더 비쌉니다. 온도 측정 정밀도는 DHT5과 마찬가지로 11% 편차이지만, 이와는 달리 습도 범위 20~80% 이상을 측정한다. 따라서 22에서 0%까지 습도를 측정해야 하는 프로젝트를 위해 DHT100에 관심을 가질 수 있습니다.

La 데이터 수집 빈도 또한 DHT11의 두 배입니다. DHT22에서는 DHT2의 초당 1개 샘플 대신 초당 11개 샘플을 채취합니다. 온도의 경우 -40ºC에서 +125ºC까지 더 정밀하게 측정할 수 있습니다. 특히 플러스/마이너스 0,5ºC의 변화를 감지할 수 있기 때문입니다.

핀아웃, 기능 및 데이터 시트

DHT11 핀아웃

에 대한 많은 기술 정보를 찾을 수 있습니다. 데이터시트의 DHT11. 이 장치의 각 제조업체는 다를 수 있는 일부 값을 제공할 수 있으므로 구입한 장치의 특정 제조업체의 PDF를 항상 읽는 것이 좋습니다. 대부분의 값이 동일하게 보일 수 있지만 약간의 차이가 있을 수 있습니다. 가장 중요한 기술적 특성은 다음과 같습니다.

  • 3,5v ~ 5v 전원 공급 장치
  • 2,5mA 소비 전류
  • 디지털 출력 신호
  • 0ºC ~ 50ºC의 온도 범위
  • 약 25ºC 편차의 2ºC에서 온도를 측정하는 정밀도
  • 온도 측정 분해능은 8 비트, 1ºC입니다.
  • 습도는 20 % RH에서 90 % RH까지 측정 할 수 있습니다.
  • 5-0ºC 사이의 온도에서 50% RH의 습도에 대해 정확하게
  • 분해능은 1 % RH이며 그 이하의 편차는 감지 할 수 없습니다.
  • 마우저 데이터시트

데이터에 관해서는 그들은 디지털로 전송. 따라서 다른 센서와 같이 아날로그에서 디지털로 전환할 필요가 없습니다. Arduino IDE에서 작성해야 하는 코드가 복잡하지만 이 경우에는 필요하지 않으며 훨씬 쉽습니다. 센서 자체는 아날로그이지만 변환을 수행하는 시스템이 포함되어 있으며 Arduino 디지털 입력에 직접 연결할 수 있습니다.

센서의 전압 변동인 아날로그 신호는 디지털 형식으로 전달되어 Arduino 마이크로 컨트롤러로 전송됩니다. 에서 전송됩니다. 40비트 프레임 DHT11에서 캡처한 습도 및 온도 정보에 해당합니다. 처음 두 개의 8비트 그룹은 습도, 즉 이 프레임의 최상위 16비트에 대한 것입니다. 그런 다음 나머지 2개 그룹의 8비트는 온도에 대해 남아 있습니다. 즉, 습도에 대해 XNUMX바이트, 온도에 대해 XNUMX바이트를 가집니다. 예를 들어:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

이 경우 0011 0101 0000 0010은 습도 값이고 0001 1000 0000 0000은 온도 값입니다. 첫 번째 부분은 정수 부분이고 두 번째 부분은 소수 부분입니다. 0011 1001, 즉, 마지막 8비트는 패리티 실수를 피하기 위해. 그렇게 하면 전송 중에 모든 것이 올바른지 확인할 수 있습니다. 이전 비트의 합에 해당하므로 합이 패리티와 같으면 정확합니다. 내가 제시한 예에서는 그렇지 않을 것입니다. 보시다시피 일치하지 않기 때문입니다... 그것은 실패를 나타냅니다.

이것이 알려지면 DHT11의 기술 수준에서 다음으로 강조 표시되어야 하는 것은 핀입니다. 그만큼 연락처 또는 핀아웃 이 장치는 4개만 있기 때문에 간단합니다. 핀 중 하나는 전원 또는 Vcc, 다른 하나는 데이터를 전송하는 I/O, 연결되지 않은 NC 핀, 접지 연결을 위한 GND입니다.

Arduino와 통합

Arduino와 DHT11 연결

DHT11의 핀아웃을 알고 나면 Arduino 보드, 연결은 매우 간단합니다. PCB에 통합된 DHT11 모듈을 선택한 경우 작업을 더 쉽게 하기 위해 NC가 제거되었기 때문에 핀이 XNUMX개가 됩니다. 위 이미지의 다이어그램에 표시된 대로 접지 핀을 Arduino GND 연결 중 하나에 연결하기만 하면 됩니다.

반면에 전원 핀은 다음과 같이 연결해야 합니다. Arduino 5v 연결, 이렇게 하면 센서가 GND 및 Vcc로 완전히 전원이 공급되지만 이제 데이터가 누락됩니다. DHT11 센서에서 Arduino 보드로 데이터를 전송하려면 이미지에 나타나는 7과 같은 디지털 입력을 사용할 수 있습니다... 이제 필요한 코드를 생성하면 사용할 준비가 모두 완료되었습니다. 아두이노 IDE …

프로젝트에서 센서가 멀리 떨어져 있고 20미터보다 긴 케이블을 사용하려는 경우 5k 풀업 저항을 사용하십시오. 더 긴 케이블의 경우 비례적으로 더 커야 합니다. 3,5v 대신 5v 전원을 사용할 경우 전압 강하로 인해 케이블 길이가 20cm를 넘지 않아야 합니다.

그들이 추천하는 것은 5초마다 측정하고, DHT11이 작동할 수 있는 샘플 속도는 더 높지만 더 자주 수행되면 정확하지 않을 수 있습니다.

Arduino IDE의 코드

코드로 직접 이동하여 아두 이노 IDE DHT11로 삶을 더 쉽게 만들어 줄 기능이 있는 기존 라이브러리를 사용할 수 있습니다. 예를 들어, 그들 중 하나는 에이다프루트 제공. 초보자가 Arduino를 시작할 수 있는 PDF 가이드가 있음을 기억하십시오. 여기에서 무료로 다운로드 그리고 그것은 당신을 도울 수 있습니다.

해당 라이브러리를 설치하면 댓글을 달 수 있습니다. 코드를 입력 Arduino 프로젝트용 DHT11 온도 및 습도 센서를 제어합니다. 예를 들어:

#include "DHT.h"

const int DHTPin = 7;     
 
DHT dht(DHTPin, DHTTYPE);
 
void setup() {
   Serial.begin(9600);
   Serial.println("Midiendo...");
 
   dht.begin();
}
 
void loop() {
   delay(2000);
 
   float h = dht.readHumidity();
   float t = dht.readTemperature();
 
   if (isnan(h) || isnan(t)) {
      Serial.println("Fallo en la lectura del sensor DHT11");
      return;
   }
 
 
   Serial.print("Humedad relativa: ");
   Serial.print(h);
   Serial.print(" %\t");
   Serial.print("Temperatura: ");
   Serial.print(t);
   Serial.print(" ºC ");
}


코멘트를 첫번째로 올려

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.