ESP32 C3 Super Mini 온도 습도 센서

이 튜토리얼은 DHT11 또는 DHT22 온도 및 습도 센서를 ESP32 C3 Super Mini에 연결하고 실시간 환경 데이터를 읽는 방법을 보여줍니다. 날씨 스테이션이나 홈 자동화 프로젝트를 구축하는 초보자에게 완벽합니다!

이 튜토리얼에서 배울 내용:

ESP32 C3 Super Mini - temperature humidity sensor

필요한 하드웨어

1×ESP32 C3 Super Mini 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×DHT11 온도 습도 센서 모듈 아마존
1×(옵션) Temperature and Humidity Sensor DHT22 쿠팡 | 아마존
1×10 kΩ Resistor 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

DHT11 및 DHT22 온도 및 습도 센서 정보

DHT11 및 DHT22는 ESP32 C3 Super Mini 프로젝트와의 쉬운 통합을 위해 보정된 출력을 제공하는 디지털 온도 및 습도 센서입니다.

DHT11과 DHT22 간의 공통점

  • 동일한 4핀 핀아웃 구성
  • ESP32 C3 Super Mini에 대한 동일한 배선 연결
  • 최소 변경으로 호환 가능한 코드
  • 둘 다 단일 와이어 디지털 통신 사용
  • 배터리 프로젝트에 이상적인 낮은 전력 소비

DHT11 및 DHT22 간의 차이

아래 표는 상세한 사양 비교를 보여줍니다:

DHT22 DHT11
가격 저가 초저가
습도 범위 0% ~ 100% 20% ~ 80%
습도 정확도 ± 2% ~ 5% 5%
온도 범위 -40°C ~ 80°C 0°C ~ 50°C
온도 정확도 ± 0.5°C ± 2°C
판독율 0.5Hz(2초마다 1회) 1Hz(초당 1회)
치수 15.1mm x 25mm x 7.7mm 15.5mm x 12mm x 5.5mm
작동 전압3 ~ 5V 3 ~ 5V

핵심 교훈:

  • DHT22는 더 나은 정확도와 더 넓은 범위 제공
  • DHT11은 기본 프로젝트에 더 저렴
  • 둘 다 ESP32 C3 Super Mini와 완벽하게 작동

DHT11 및 DHT22 핀아웃

DHT11 및 DHT22 온도 습도 센서는 모두 동일한 4핀 구성을 공유합니다:

  • GND 핀: 그라운드(0V)에 연결
  • VCC 핀: 전원 공급(3.3V 또는 5V)에 연결
  • DATA 핀: ESP32 C3 Super Mini와의 통신을 위한 디지털 신호 핀
  • NC 핀: 연결 안 함(연결하지 않음)
dht11 and dht22 temperature and humidity sensor 사용법 핀아웃

모듈 버전(권장):

더 쉬운 배선을 위해 DHT11 및 DHT22 센서 모듈을 사용하는 것을 적극 권장합니다:

  • 내장 풀업 저항기(외부 저항기 필요 없음)
  • 3개의 핀만: VCC, GND 및 DATA(또는 +, -, OUT)
  • 브레드보드 프로젝트에 더 편리
dht11 and dht22 temperature and humidity module 사용법 핀아웃
image source: diyables.io

참고: 핀 순서는 제조업체마다 다를 수 있습니다. 항상 모듈에 인쇄된 레이블을 확인하세요.

DHT11/DHT22와 ESP32 C3 Super Mini 간의 배선 다이어그램

DHT11 및 DHT22 센서와 ESP32 C3 Super Mini의 배선 연결은 동일합니다.

중요 참고:

  • 원본 센서(4핀)의 경우 DATA와 VCC 사이에 10kΩ 풀업 저항이 필요합니다
  • 센서 모듈(3핀)의 경우 저항이 내장되어 있습니다

ESP32 C3 Super Mini - DHT11 센서 배선

DHT11 Pin ESP32 C3 Super Mini Pin
VCC 3.3V
GND GND
DATA D4(또는 모든 디지털 핀)
NC 연결 안 함
ESP32 C3 Super Mini dht11 temperature and humidity sensor 연결 배선도

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

ESP32 C3 Super Mini - DHT22 센서 배선

DHT22 Pin ESP32 C3 Super Mini Pin
VCC 3.3V
GND GND
DATA D4(또는 모든 디지털 핀)
NC 연결 안 함
ESP32 C3 Super Mini dht22 temperature and humidity sensor 연결 배선도

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

ESP32 C3 Super Mini - DHT11 모듈 배선

대부분의 DHT11 센서 모듈은 배선 설정을 단순화하는 내장 저항기를 포함합니다:

DHT11 Module Pin ESP32 C3 Super Mini Pin
+(또는 VCC) 3.3V
-(또는 GND) GND
OUT(또는 DATA) D4
ESP32 C3 Super Mini dht11 temperature and humidity module 연결 배선도

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

ESP32 C3 Super Mini - DHT22 모듈 배선

대부분의 DHT22 센서 모듈은 외부 구성 요소가 필요 없도록 내장 저항기를 포함합니다:

DHT22 Module Pin ESP32 C3 Super Mini Pin
+(또는 VCC) 3.3V
-(또는 GND) GND
OUT(또는 DATA) D4
ESP32 C3 Super Mini dht22 temperature and humidity module 연결 배선도

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

ESP32 C3 Super Mini 코드 - DHT11

이 코드는 DHT11 센서에서 온도 및 습도를 읽고 시리얼 모니터에 값을 표시합니다:

/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-temperature-humidity-sensor */ #include <DHT.h> #define DHT_SENSOR_PIN 4 // The ESP32 C3 SuperMini pin 4 connected to DHT11 sensor #define DHT_SENSOR_TYPE DHT11 DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(115200); dht_sensor.begin(); // initialize the DHT sensor } void loop() { // read humidity float humi = dht_sensor.readHumidity(); // read temperature in Celsius float temperature_C = dht_sensor.readTemperature(); // read temperature in Fahrenheit float temperature_F = dht_sensor.readTemperature(true); // check whether the reading is successful or not if ( isnan(temperature_C) || isnan(temperature_F) || isnan(humi)) { Serial.println("Failed to read from DHT sensor!"); } else { Serial.print("Humidity: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(temperature_C); Serial.print("°C ~ "); Serial.print(temperature_F); Serial.println("°F"); } // wait a 2 seconds between readings delay(2000); }

ESP32 C3 Super Mini 코드 - DHT22

이 코드는 개선된 정확도로 DHT22 센서에서 온도 및 습도를 읽습니다:

/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-temperature-humidity-sensor */ #include <DHT.h> #define DHT_SENSOR_PIN 4 // The ESP32 C3 SuperMini pin 4 connected to DHT22 sensor #define DHT_SENSOR_TYPE DHT22 DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(115200); dht_sensor.begin(); // initialize the DHT sensor } void loop() { // read humidity float humi = dht_sensor.readHumidity(); // read temperature in Celsius float temperature_C = dht_sensor.readTemperature(); // read temperature in Fahrenheit float temperature_F = dht_sensor.readTemperature(true); // check whether the reading is successful or not if ( isnan(temperature_C) || isnan(temperature_F) || isnan(humi)) { Serial.println("Failed to read from DHT sensor!"); } else { Serial.print("Humidity: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(temperature_C); Serial.print("°C ~ "); Serial.print(temperature_F); Serial.println("°F"); } // wait a 2 seconds between readings delay(2000); }

중요: 위의 두 코드 예제는 센서 유형 정의(DHT11 대 DHT22) 한 줄로만 다릅니다.

빠른 단계

  • ESP32 C3 Mini를 처음 사용하나요? 개발 환경을 설정하기 위해 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하세요.
  • 구성 요소 배선: 위의 배선 다이어그램을 따라 DHT 센서를 ESP32 C3 Super Mini에 연결
  • USB 케이블 연결: Type-C 케이블을 사용하여 ESP32 C3 Super Mini를 컴퓨터에 연결
  • Arduino IDE 열기: 컴퓨터에서 Arduino IDE 소프트웨어 실행
  • 보드 선택: 보드 메뉴에서 ESP32 C3 Super Mini 선택
  • COM 포트 선택: ESP32 C3 Super Mini에 대한 올바른 COM 포트 선택
  • DHT 라이브러리 설치: 왼쪽 사이드바의 라이브러리 관리자 아이콘 클릭
  • 라이브러리 검색: 검색 상자에 "Adafruit DHT" 입력
  • Adafruit DHT 설치: Adafruit의 DHT 센서 라이브러리에서 설치 클릭
ESP32 C3 Super Mini dht sensor 라이브러리
  • 종속성 설치: 메시지가 나타나면 모두 설치를 클릭하여 필요한 종속성 추가
ESP32 C3 Super Mini adafruit unified sensor 라이브러리
  • 코드 복사: 센서를 기반으로 DHT11 또는 DHT22 코드 선택
  • 코드 업로드: 업로드 버튼을 클릭하여 ESP32 C3 Super Mini를 프로그래밍
  • 시리얼 모니터 열기: 센서 판독값을 보려면 보드레이트를 115200으로 설정
  • 센서 테스트: 센서를 열원 근처(예: 커피 컵)에 배치하여 값의 변화를 확인
  • 프로 팁: DHT 센서는 안정화에 시간이 필요하므로 판독값 사이에 2-3초를 기다리세요.

시리얼 모니터 출력

코드를 업로드하고 115200 보드레이트로 시리얼 모니터를 열면 실시간 온도 및 습도 판독값이 표시됩니다:

Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
Humidity: 45.00% | Temperature: 22.00°C ~ 71.60°F Humidity: 45.00% | Temperature: 22.00°C ~ 71.60°F Humidity: 44.00% | Temperature: 23.00°C ~ 73.40°F Humidity: 44.00% | Temperature: 23.00°C ~ 73.40°F Humidity: 43.00% | Temperature: 24.00°C ~ 75.20°F Humidity: 43.00% | Temperature: 25.00°C ~ 77.00°F Humidity: 42.00% | Temperature: 26.00°C ~ 78.80°F Humidity: 42.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 41.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 40.00% | Temperature: 29.00°C ~ 84.20°F
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

응용 프로그램 및 프로젝트 아이디어

ESP32 C3 Super Mini에서 DHT11 또는 DHT22 센서를 사용하여 구축할 수 있는 실용적인 프로젝트는 다음과 같습니다:

  • 홈 날씨 스테이션: 디스플레이에 실내 온도 및 습도 모니터링
  • 스마트 온실 제어기: 습도 수준을 기반으로 급수 및 환기 자동화
  • 욕실 환풍기 자동화: 습도가 임계값을 초과하면 자동으로 팬 켜기
  • 서버실 모니터: 온도가 안전 수준 이상으로 올라가면 경고
  • 스마트 온도계: 홈 자동화용 WiFi 지원 온도 컨트롤러 만들기
  • 데이터 로거: 장기 분석을 위해 환경 데이터를 SD 카드에 기록
  • 쾌적도 지수 계산기: 센서 판독값에서 열지수 또는 이슬점 계산

비디오 튜토리얼

이 프로젝트에 대한 시각적 안내는 아래 비디오를 보세요.

스스로 도전해보세요

ESP32 C3 Super Mini 온도 습도 센서 프로젝트를 다음 단계로 가져가세요:

  • 쉬움: 온도가 25°C를 초과하면 켜지는 LED 추가
  • 쉬움: 온도를 섭씨로만 표시하거나 화씨 변환 버튼 추가
  • 중간: 습도가 30% 이하로 떨어지거나 70% 이상으로 올라가면 울리는 부저 경보 추가
  • 중간: 스마트폰 브라우저에 센서 판독값을 표시하는 웹 서버 만들기
  • 고급: 타임스탬프와 함께 온도 및 습도 데이터를 SD 카드에 기록
  • 고급: ThingSpeak 또는 Blynk와 같은 클라우드 플랫폼에 센서 데이터 전송 원격 모니터링
  • 고급: 센서 판독값에 따라 팬 및 가습기를 제어하는 완전한 기후 제어 시스템 구축