아두이노 - DHT22 | Arduino - DHT22

이 튜토리얼에서 우리는 다음을 배울 것입니다:

준비물

1×Arduino Uno Amazon
1×USB 2.0 cable type A/B 쿠팡 | Amazon
1×DHT22 Module 쿠팡 | Amazon
1×10 kΩ resistor Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) 9V Power Adapter for Arduino Amazon
1×(Recommended) Screw Terminal Block Shield for Arduino Uno 쿠팡 | Amazon
1×(Recommended) Breadboard Shield For Arduino Uno 쿠팡 | Amazon
1×(Recommended) Enclosure For Arduino Uno Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

DHT22 온도 및 습도 센서에 관하여

DHT22
Temperature Range -40°C to 80°CW
Temperature Accuracy ± 0.5°C
Humidity Range 0% to 100%
Humidity Accuracy ± 2 to 5%
Reading Rate 0.5Hz (once every 2 seconds)
Operating Voltage3 to 5V

핀배열

DHT22는 센서와 모듈 두 가지 형태가 있습니다.

DHT22 temperature and humidity sensor Pinout

DHT22 센서는 4개의 핀을 가지고 있습니다:

  • GND 핀: GND(0V)에 연결해야 합니다.
  • VCC 핀: VCC(5V 또는 3.3V)에 연결해야 합니다.
  • DATA 핀: 센서와 아두이노 간의 통신에 사용되는 핀입니다.
  • NC 핀: 연결되지 않음, 이 핀은 무시할 수 있습니다.

DHT22 모듈에는 세 개의 핀이 있습니다:

  • GND 핀: GND(0V)에 연결해야 합니다.
  • VCC 핀: VCC(5V 또는 3.3V)에 연결해야 합니다.
  • DATA 핀: 센서와 Arduino 사이의 통신에 사용되는 핀입니다.

일부 제조업체들은 GND, VCC 및 DATA 핀(또는 대안으로: -, +, 및 OUT 핀)이 있는 모듈 형태로 DHT22 센서를 제공합니다.

선연결

센서 형태로, 데이터 라인을 높게 유지하고 DHT22 센서와 아두이노 간의 통신을 가능하게 하기 위해서는 5K에서 10K 옴 사이의 저항이 필요합니다.

아두이노 - DHT22 센서 배선

Arduino DHT22 Temperature and humidity Sensor Wiring Diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

아두이노 - DHT22 모듈 배선

대부분의 DHT22 센서 모듈에는 내장된 저항이 있어 추가로 저항을 달 필요가 없습니다. 이로 인해 우리는 배선이나 납땜 작업을 일부 줄일 수 있습니다.

Arduino DHT22 Temperature and humidity Module Wiring Diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

DHT22 온도 센서를 프로그래밍하는 방법

두 센서를 위한 프로그래밍은 비슷합니다. 단 한 줄의 코드만 다릅니다.

  • 라이브러리를 포함하세요:
#include "DHT.h"
  • DHT 센서에 연결된 아두이노 핀을 정의하세요.
#define DHT22_PIN 2
  • DHT22 객체 선언
DHT dht22(DHT22_PIN, DHT22);
  • 센서 초기화:
dht22.begin();
  • 습도 읽기
float humi = dht22.readHumidity(); // 습도 읽기
  • 섭씨 온도를 읽다:
float tempC = dht22.readTemperature();
  • 화씨 온도를 읽으세요.
float tempF = dht22.readTemperature(true);

아두이노 코드 - DHT22

/* * 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino/arduino-dht22 */ #include "DHT.h" #define DHT22_PIN 2 DHT dht22(DHT22_PIN, DHT22); void setup() { Serial.begin(9600); dht22.begin(); // DHT22 센서를 초기화합니다 } void loop() { // 측정 사이에 몇 초간 대기합니다. delay(2000); // 습도 읽기 float humi = dht22.readHumidity(); // 섭씨로 온도 읽기 float tempC = dht22.readTemperature(); // 화씨로 온도 읽기 float tempF = dht22.readTemperature(true); // 읽기 실패 여부 확인 if (isnan(humi) || isnan(tempC) || isnan(tempF)) { Serial.println("DHT22 센서에서 읽기 실패!"); } else { Serial.print("DHT22# 습도: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("온도: "); Serial.print(tempC); Serial.print("°C ~ "); Serial.print(tempF); Serial.println("°F"); } }

사용 방법

  • 아두이노를 PC에 USB 케이블로 연결하세요.
  • 아두이노 IDE를 열고, 올바른 보드와 포트를 선택하세요.
  • 아두이노 IDE의 왼쪽 바에 있는 Libraries 아이콘으로 이동하세요.
  • “DHT”를 검색한 다음, Adafruit의 DHT 센서 라이브러리를 찾으세요.
  • 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
Arduino DHT sensor library
  • 다른 라이브러리 의존성을 설치하라는 요청을 받게 될 것입니다.
  • 모든 라이브러리 의존성을 설치하려면 Install All 버튼을 클릭하세요.
Arduino Adafruit Unified sensor library
  • 해당 센서에 해당하는 위의 코드를 복사하고 Arduino IDE로 열기
  • Arduino IDE에서 Upload 버튼을 클릭하여 Arduino에 코드 업로드
  • 센서 주변 환경을 더 뜨겁게 또는 더 차갑게 만들기
  • 시리얼 모니터에서 결과를 확인하기.
COM6
Send
DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F DHT22# Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F DHT22# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

코멘트

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!