728x90
반응형
1. DHT 11 온습도 센서
![]() |
![]() |
![]() |
2. DHT11 센서의 특징
DHT11 센서는 다음과 같은 주요 특징을 가지고 있습니다:
- 측정 범위 :
- 온도: 0°C ~ 50°C (정확도 ±2°C)
- 습도: 20% ~ 90% RH (정확도 ±5% RH)
- 출력 : 디지털 신호로 온도와 습도 값을 전달합니다.
- 전압 : 3.3V ~ 5.5V의 전압으로 동작합니다.
- 응답 시간 : 1초에서 2초 정도로, 실시간 데이터 측정보다는 느리지만, 일반적인 환경 모니터링 용도로 충분합니다.
- 크기 : 작은 크기로 다양한 프로젝트에 쉽게 통합할 수 있습니다.
3. DHT11 센서의 사용법
DHT11 센서는 보통 3개의 핀을 가지고 있습니다:
- VCC: 전원 공급 (3.3V ~ 5V)
- GND: 접지
- DATA: 온도와 습도 데이터가 출력되는 핀
아두이노와 같은 마이크로컨트롤러에 연결하여 코드를 작성하면, DHT11 센서로부터 온도와 습도 데이터를 쉽게
읽어올 수 있습니다.
4. DHT11 센서의 활용 예시
DHT11 센서는 다음과 같은 프로젝트에서 사용할 수 있습니다:
- 온습도 모니터링 시스템 : 실내나 실외의 온도와 습도를 측정하여, 쾌적한 환경을 유지할 수 있도록 알림을 주거나 자동으로 조절하는 시스템을 만들 수 있습니다.
- 스마트 가전: 스마트 에어컨이나 히터 등에 연결하여, 현재 온도와 습도를 기반으로 자동으로 작동하도록 설정할 수 있습니다.
- 기상 관측: 소규모 기상 관측 장비에 사용하여, 기온과 습도 데이터를 수집하고 분석할 수 있습니다.
즉, DHT11 센서는 간단하고 저렴하게 온도와 습도를 측정할 수 있는 센서로, 다양한 프로젝트에서 활용하기에 적합함.
5. 온습도 센서 라이브러리 설치
- 온습도센서를 사용하기 위해서는 아두이노에 온습도 (DHT11) 센서 코드를 사용할 수 있도록
DHT11 관련 라이브러리를 설치해야한다.
- 아두이노 IDE 스케치창에서 라이브러리 매니저 검색.
- 아래 두가지 라이브러리를 설치
6. 아두이노 온습도 센서 회로연결
7. 온습도 센서 시리얼모니터 출력 코드
#include "DHT.h"
#define DHTPIN 2 // DHT 센서가 연결된 핀 번호
#define DHTTYPE DHT11 // 사용 중인 DHT 센서의 종류(DHT11)
DHT dht(DHTPIN, DHTTYPE); // DHT 센서 객체 생성
void setup() {
Serial.begin(9600); // 시리얼 통신 시작
dht.begin(); // DHT 센서 초기화
}
void loop() {
float humidity = dht.readHumidity(); // 습도 값 읽기
float temperature = dht.readTemperature(); // 온도 값 읽기
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!"); // 읽기 실패 시 에러 메시지 출력
return;
}
// 온도와 습도 값을 시리얼 모니터에 출력
Serial.print("Temperature: ");
Serial.print((int)temperature);
Serial.print(" *C, ");
Serial.print("Humidity: ");
Serial.print((int)humidity);
Serial.println(" %");
delay(2000); // 2초 대기 후 다시 측정
}
코드 설명:
- DHT dht(DHTPIN, DHTTYPE); : DHT 센서를 사용하기 위해 센서 객체를 생성합니다.
- Serial.begin(9600); : 시리얼 통신을 9600 보드레이트로 시작합니다.
- dht.begin(); : DHT 센서를 초기화합니다.
- float humidity = dht.readHumidity(); 및 float temperature = dht.readTemperature(); : 각각 습도와 온도를 읽어옵니다.
- Serial.println: 시리얼 모니터에 온도와 습도 값을 출력합니다.
- delay(2000);: 2초 동안 대기 후 루프를 반복하여 새로운 데이터를 읽습니다.
이 코드는 온도와 습도를 2초 간격으로 시리얼 모니터에 출력합니다.
728x90
반응형
'아두이노' 카테고리의 다른 글
I2C 디스플레이에 문자 출력하기. (0) | 2024.12.04 |
---|---|
아두이노 신호등 led 활용하기. (0) | 2024.12.04 |
아두이노 서보 360 회전 사용하기. (1) | 2024.04.01 |
서보모터 함수선언과 제어 (0) | 2024.03.25 |
아두이노 서보모터 활용 (0) | 2024.03.18 |