라즈베리 파이 DHT11

이 튜토리얼은 Raspberry Pi를 사용하여 DHT11 센서에서 온도와 습도를 읽는 방법을 안내합니다. 자세하게는 다음을 배울 것입니다:

저희는 다음을 제안합니다:

Hardware Preparation

1×Raspberry Pi 4 Model B Amazon
1×DHT11 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
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

DHT11 온도 및 습도 센서에 대하여

온도 및 습도 센서 핀아웃

시장에 나와 있는 DHT11은 센서와 모듈 두 가지 형태로 제공됩니다.

DHT11 센서는 원래 형태로 네 개의 핀이 있습니다:

  • GND: 이 핀은 접지(0V)와 연결되어야 합니다.
  • VCC: 이 핀은 전원 공급 장치(5V)와 연결되어야 합니다.
  • DATA: 이 핀은 센서와 Raspberry Pi 간의 통신에 사용됩니다.
  • NC: 이 핀은 연결하지 않아도 되며 무시할 수 있습니다.
DHT11 온도 및 습도 센서 핀배열

DHT11 모듈은 세 개의 핀을 가지고 있습니다:

  • GND 핀 (-): GND (0V)에 연결해야 합니다
  • VCC 핀 (+): VCC (5V)에 연결해야 합니다
  • OUT 핀: 센서와 Raspberry Pi 간의 통신에 사용됩니다

※ NOTE THAT:

모듈의 핀 배치는 제조사마다 다를 수 있습니다. 모듈을 사용할 때는 항상 모듈에 인쇄된 라벨을 사용하는 것이 중요합니다. 꼭 자세히 살펴보세요!

Wiring Diagram

라즈베리 파이에 대한 배선은 두 센서 모두 동일합니다. 원래 형태에서는 데이터 라인을 높게 유지하여 센서와 라즈베리 파이 간의 통신을 가능하게 하기 위해 5K에서 10K 오움 사이의 저항이 필요합니다.

라즈베리 파이 - DHT11 센서 배선

라즈베리 파이 DHT11 온습도 센서 배선도

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

DHT11 센서를 Raspberry Pi에 다음과 같이 연결하십시오:

  • DHT11 VCC 핀을 Raspberry Pi 5V (핀 2 또는 다른 5V GPIO 핀)에 연결
  • DHT11 GND 핀을 Raspberry Pi GND (핀 30 또는 다른 GND GPIO 핀)에 연결
  • DHT11 DATA 핀을 Raspberry Pi의 GPIO 핀 (예: GPIO 12 (핀 32))에 연결

더 나은 안정성을 위해 DHT11의 VCC와 DATA 핀 사이에 저항기(값은 5K와 10K Ohms 사이)를 추가해야 합니다.

라즈베리 파이 - DHT11 모듈 배선

대부분의 DHT11 센서 모듈에는 통합 저항기가 포함되어 있어 추가 배선이나 납땜이 필요하지 않습니다.

라즈베리 파이 DHT11 온습도 모듈 배선도

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

배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:

Raspberry Pi Screw Terminal Block Shield

DHT11 모듈을 Raspberry Pi에 다음과 같이 연결하세요:

  • DHT11 VCC 핀을 라즈베리 파이 5V (핀 2 또는 5V GPIO 핀)와 연결
  • DHT11 GND 핀을 라즈베리 파이 GND (핀 30 또는 GND GPIO 핀)와 연결
  • DHT11 DATA 핀을 라즈베리 파이의 GPIO 핀 (예: GPIO 12 (핀 32)와 연결

라즈베리 파이에서 DHT11 센서를 사용하여 온도 및 습도를 읽는 방법 프로그래밍하기

Detailed Instructions

  • Raspberry Pi에 Raspbian 또는 기타 호환 운영 체제가 설치되어 있는지 확인하세요.
  • Raspberry Pi가 PC와 동일한 로컬 네트워크에 연결되어 있는지 확인하세요.
  • 라이브러리를 설치해야 하는 경우, Raspberry Pi가 인터넷에 연결되어 있는지 확인하세요.
  • Raspberry Pi를 처음 사용하는 경우, Raspberry Pi 설정 방법을 참조하세요.
  • Linux 및 macOS에서 기본 SSH 클라이언트를 사용하거나 Windows에서는 PuTTY를 사용하여 PC를 SSH로 Raspberry Pi에 연결하세요. PC를 SSH로 Raspberry Pi에 연결하는 방법을 참조하세요.
  • RPi.GPIO 라이브러리가 설치되어 있는지 확인하세요. 설치되어 있지 않으면 다음 명령어를 사용하여 설치하세요:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • 다음 명령어를 실행하여 DHT11 온습도 센서용 라이브러리를 설치하세요:
sudo pip3 install Adafruit_DHT
  • 다음 코드를 추가하여 Python 스크립트 파일 DHT11.py을(를) 만드세요.
# 이 Raspberry Pi 코드는 newbiely.kr 에서 개발되었습니다 # 이 Raspberry Pi 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. # 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: # https://newbiely.kr/tutorials/raspberry-pi/raspberry-pi-dht11 import Adafruit_DHT import time # Set the sensor type and GPIO pin sensor = Adafruit_DHT.DHT11 pin = 17 # Change this to the GPIO pin you used for DATA try: while True: # Try to read the temperature and humidity from the sensor humidity, temperature = Adafruit_DHT.read_retry(sensor, pin) # If the reading was successful, display the values on the same line if humidity is not None and temperature is not None: print(f"Temperature: {temperature:.1f} °C, Humidity: {humidity:.1f} %") else: print("Failed to retrieve data from the DHT11 sensor.") # Wait some time before taking the next reading time.sleep(2) except KeyboardInterrupt: print("\nExiting...")
  • 파일을 저장하고 터미널에서 다음 명령어를 실행하여 Python 스크립트를 실행하십시오:
python3 DHT11.py
  • 터미널에서 결과를 확인하세요.
PuTTY - Raspberry Pi
Temperature: 25.4 °C, Humidity: 52.7 % Temperature: 25.7 °C, Humidity: 52.1 % Temperature: 26.1 °C, Humidity: 52.3 % Temperature: 25.9 °C, Humidity: 52.3 %

스크립트는 time.sleep(2) 줄에 지정된 대로 2초마다 센서 데이터를 지속적으로 읽으므로 터미널에서 Ctrl + C 키를 눌러 스크립트를 중지할 때까지 2초마다 이와 같은 업데이트된 읽기를 볼 수 있습니다.

어떤 이유로든 스크립트가 센서에서 데이터를 읽지 못하면 다음을 표시합니다:

PuTTY - Raspberry Pi
Failed to retrieve data from the DHT11 sensor.

추가 지식

DHT11 센서는 사용 가능한 가장 정확하거나 신뢰할 수 있는 센서가 아닙니다. 더 정밀함이 필요하다면 DHT22 또는 다른 더 발전된 센서를 사용하는 것을 고려할 수 있습니다.

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 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.