아두이노 - DHT22 | Arduino - DHT22
이 튜토리얼에서 우리는 다음을 배울 것입니다:
- 아두이노에 DHT22 센서 연결하는 방법
- 아두이노에 DHT22 모듈 연결하는 방법
- 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 Voltage | 3 to 5V |
핀배열
DHT22는 센서와 모듈 두 가지 형태가 있습니다.
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 센서 배선
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 - DHT22 모듈 배선
대부분의 DHT22 센서 모듈에는 내장된 저항이 있어 추가로 저항을 달 필요가 없습니다. 이로 인해 우리는 배선이나 납땜 작업을 일부 줄일 수 있습니다.
이 이미지는 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 버튼을 클릭하세요.
- 다른 라이브러리 의존성을 설치하라는 요청을 받게 될 것입니다.
- 모든 라이브러리 의존성을 설치하려면 Install All 버튼을 클릭하세요.
- 해당 센서에 해당하는 위의 코드를 복사하고 Arduino IDE로 열기
- Arduino IDE에서 Upload 버튼을 클릭하여 Arduino에 코드 업로드
- 센서 주변 환경을 더 뜨겁게 또는 더 차갑게 만들기
- 시리얼 모니터에서 결과를 확인하기.
COM6
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
Clear output
9600 baud
Newline
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.