라즈베리 파이 DHT22
이 튜토리얼은 Raspberry Pi를 사용하여 DHT22 센서로부터 온도와 습도를 읽는 방법을 안내합니다. 자세히 배워볼 내용은 다음과 같습니다:
- Raspberry Pi를 DHT22 센서에 연결하는 방법
- Raspberry Pi를 프로그래밍하여 DHT22로부터 온도 및 습도 값을 읽는 방법
저희는 다음을 제안합니다:
- 온도만 측정하려면 방수 DS18B20 온도 센서를 사용하세요. 이 센서는 저렴하고 깔끔하며 뜨겁거나 차가운 물에 둘 수 있습니다.
- 온도와 습도를 저렴하게 측정하려면 DHT11 온도 및 습도 센서를 사용하세요.
Hardware Preparation
1 | × | Raspberry Pi 4 Model B | Amazon | |
1 | × | DHT22 Temperature Humidity Sensor Module | Amazon | |
1 | × | 10 kΩ resistor | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (추천) Screw Terminal Block Shield for Raspberry Pi | 쿠팡 | Amazon | |
1 | × | (추천) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B | Amazon | |
1 | × | (추천) Plastic Case and Cooling Fan for Raspberry Pi 4B | Amazon | |
1 | × | (추천) HDMI Touch Screen Monitor for Raspberry Pi | Amazon |
DHT22 온도 및 습도 센서에 대하여
온도 및 습도 센서 핀아웃
시중에 판매되는 DHT22는 센서와 모듈 두 가지 형태로 제공됩니다.
DHT22 센서는 원래 형태로 네 개의 핀을 가지고 있습니다:
- GND: 이 핀은 접지(0V)와 연결되어야 합니다.
- VCC: 이 핀은 전압 공급 장치(5V)와 연결되어야 합니다.
- DATA: 이 핀은 센서와 Raspberry Pi 간의 통신에 사용됩니다.
- NC: 이 핀은 연결하지 않아도 되며 무시할 수 있습니다.
DHT22 모듈에는 세 개의 핀이 있습니다:
- GND 핀 (-): GND(0V)와 연결해야 합니다.
- VCC 핀 (+): VCC(5V)와 연결해야 합니다.
- OUT 핀: 센서와 Raspberry Pi 간의 통신에 사용됩니다.
※ NOTE THAT:
모듈에 있는 핀의 배열은 제조사에 따라 다를 수 있습니다. 모듈을 사용할 때에는 항상 모듈에 인쇄된 라벨을 사용하는 것이 중요합니다. 꼭 꼼꼼히 확인하세요!
Wiring Diagram
라즈베리 파이로의 배선은 두 센서 모두 동일합니다. 원래 형태에서는 데이터 라인을 높게 유지하여 센서와 라즈베리 파이 간의 통신을 가능하게 하기 위해 5K에서 10K 옴 사이의 저항이 필요합니다.
라즈베리 파이 - DHT22 센서 배선
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
DHT22 센서를 Raspberry Pi에 다음과 같이 연결하십시오:
- DHT22 VCC 핀을 Raspberry Pi 5V (핀 2 또는 5V GPIO 핀)으로 연결
- DHT22 GND 핀을 Raspberry Pi GND (핀 30 또는 GND GPIO 핀)으로 연결
- DHT22 DATA 핀을 Raspberry Pi의 GPIO 핀으로 연결 (예: GPIO 12 (핀 32)
더 나은 안정성을 위해 DHT22의 VCC와 DATA 핀 사이에 저항기(값은 5K와 10K Ohms 사이)를 추가해야 합니다.
라즈베리 파이 - DHT22 모듈 배선
대부분의 DHT22 센서 모듈은 통합된 저항기를 포함하고 있어 추가적인 배선이나 납땜이 필요 없습니다.
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:
DHT22 모듈을 Raspberry Pi에 다음과 같이 연결하십시오:
- DHT22 VCC 핀을 Raspberry Pi 5V (핀 2 또는 5V GPIO 핀) 연결
- DHT22 GND 핀을 Raspberry Pi GND (핀 30 또는 GND GPIO 핀) 연결
- DHT22 DATA 핀을 Raspberry Pi의 GPIO 핀에 연결 (예: GPIO 12 (핀 32)
라즈베리 파이에서 DHT22 센서로 온도와 습도를 읽는 방법 프로그래밍하기
- Raspberry Pi에서 터미널을 열거나 SSH로 연결하세요.
- 다음 명령어를 실행하여 패키지 목록을 업데이트하고 필요한 라이브러리를 설치하세요:
- 이제 Raspberry Pi를 위한 Python 스크립트를 작성하여 DHT22 센서로부터 데이터를 읽을 수 있습니다.
Python 코드를 라즈베리 파이에 파일(예: dht22.py)로 저장합니다. 그런 다음 터미널에서 스크립트를 실행합니다:
- 터미널에서 결과를 확인하세요.
스크립트는 time.sleep(2) 줄에서 지정한 대로 2초마다 센서 데이터를 계속 읽으므로, 터미널에서 Ctrl + C 키를 눌러 스크립트를 중지할 때까지 2초마다 이렇게 업데이트된 읽기를 볼 수 있습니다.
어떠한 이유로든 스크립트가 센서에서 데이터를 읽지 못하면 다음을 표시합니다:
추가 지식
DHT11과 DHT22 센서를 비교해 봅시다.
DHT11과 DHT22의 공통점
- 온도 및 습도 정보를 제공합니다.
- 핀배치는 동일합니다.
- Raspberry Pi에 대한 배선은 변경되지 않았습니다.
- 프로그래밍은 라이브러리를 활용하여 코드 한 줄만 다른 점을 제외하고는 유사합니다.
DHT11과 DHT22의 차이점
DHT11 | DHT22 | |
---|---|---|
Price | ultra low cost | low cost |
Temperature Range | 0°C to 50°C | -40°C to 80°C |
Temperature Accuracy | ± 2°C | ± 0.5°C |
Humidity Range | 20% to 80% | 0% to 100% |
Humidity Accuracy | 5% | ± 2 to 5% |
Reading Rate | 1Hz (once every second) | 0.5Hz (once every 2 seconds) |
Body size | 15.5mm x 12mm x 5.5mm | 15.1mm x 25mm x 7.7mm |
분명히, DHT22는 DHT11보다 더 정확하고 범위도 넓지만, 가격이 더 비쌉니다.
Video Tutorial
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.