본문 바로가기

아두이노

온습도 센서로 실내 환경 모니터링: 온도와 습도 측정.

반응형

1. 이론 소개

  • 온습도 센서: 주변 환경의 온도와 습도를 측정하는 센서입니다. 이 센서는 온도와 습도에 따라 변화하는 전기적 신호를 생성하여, 이를 아두이노가 읽을 수 있는 데이터로 변환합니다.

2. 준비물

  • 아두이노 보드: 마이크로컨트롤러 기반의 개발 보드로, 다양한 센서와 연결하여 사용할 수 있습니다.
  • DHT11 또는 DHT22 온습도 센서: 실내의 온도와 습도를 측정할 수 있는 센서입니다.
  • 점퍼 와이어: 센서와 아두이노 보드를 연결하는 데 사용되는 전선입니다.
  • 브레드보드: 회로를 쉽게 조립할 수 있는 실험용 보드입니다.

3. 추천 보드 및 간단한 설명

  • 아두이노 우노: 초보자에게 적합하며 다양한 프로젝트에 사용될 수 있는 범용 보드입니다.
  • 아두이노 메가: 더 많은 핀과 메모리를 제공하여 복잡한 프로젝트에 적합한 보드입니다.

4. 회로 구성

  • 온습도 센서 연결: 센서의 VCC 핀을 아두이노의 5V에, GND 핀을 GND에, 데이터 핀을 디지털 핀(예: 2번)에 연결합니다.

5. 코딩 내용

#include <DHT.h>

#define DHTPIN 2     // DHT 센서 연결 핀
#define DHTTYPE DHT11   // DHT 11 사용
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  delay(2000); // 2초 대기

  float h = dht.readHumidity(); // 습도 읽기
  float t = dht.readTemperature(); // 온도 읽기 (섭씨)

  if (isnan(h) || isnan(t)) {
    Serial.println("센서에서 읽기 실패");
    return;
  }

  Serial.print("습도: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("온도: ");
  Serial.print(t);
  Serial.println(" *C");
}

 

6. 코드 업로드 및 테스트

  • 코드 업로드: 아두이노 IDE를 통해 아두이노 보드에 코드를 업로드합니다.
  • 테스트: 시리얼 모니터를 통해 온도와 습도가 정확히 측정되는지 확인합니다.

7. 토론 및 응용

  • 온습도의 중요성: 실내 환경에서 온도와 습도가 갖는 중요성에 대해 토론합니다.
  • 응용 프로젝트: 자동 환기 시스템, 온도와 습도에 따른 경보 시스템 등 다양한 프로젝트에 적용할 수 있습니다.

8. 추가 자료 및 과제

  • 온라인 자료: 아두이노 공식 사이트, DHT11 또는 DHT22 센서 사용법에 관한 튜토리얼 및 가이드.
  • 과제: 실내 환경 조건에 따라 작동하는 자동 제어 시스템 구현.

전문 용어 설명

  1. 온습도 센서: 주변의 온도와 습도를 측정하는 장치.
  2. 전기적 신호: 센서에서 측정된 데이터를 전자적인 형태로 변환하는 신호.
  3. DHT11/DHT22: 온도와 습도를 측정하는 일반적인 센서 모델.
  4. 데이터 핀: 센서에서 아두이노 보드로 데이터를 전송하는 데 사용되는 핀.
  5. 시리얼 통신: 데이터를 순차적으로 전송하는 통신 방식.
  6. isnan() 함수: 값이 'NaN(Not a Number)'인지 확인하는 함수.
  7. 습도: 공기 중의 수분 함량을 나타내는 척도.
  8. 섭씨 (Celsius): 온도를 측정하는 단위.
  9. 아두이노 IDE: 아두이노 프로그래밍을 위한 통합 개발 환경.
  10. 브레드보드: 전자 회로를 쉽게 조립하고 실험할 수 있는 장치.
반응형