본문 바로가기

아두이노

IR 센서와 습도 센서를 활용한 습도 모니터링 시스템

반응형

IR 센서와 습도 센서를 사용한 습도 모니터링 시스템을 만들어보겠습니다. 각 파트별로 설명하겠습니다.

1. 이론 소개:

  • 이 프로젝트는 주변 환경의 습도를 감지하고 모니터링하는 장치를 만듭니다.
  • IR 센서는 인체 움직임을 감지하고, 습도 센서는 주변 습도를 감지합니다.

2. 준비물:

  • 아두이노 보드 (예: Arduino Uno 또는 Arduino Nano)
  • IR 센서 모듈 (적외선 센서)
  • 습도 센서 모듈 (DHT11 또는 DHT22)
  • 브레드보드 및 연결 선

3. 비슷한 모델:

  • 습도 센서 모델로 DHT11 또는 DHT22를 사용할 수 있습니다.

4. 추천 보드 및 간단한 설명:

  • Arduino Uno 또는 Arduino Nano: 입출력 핀을 쉽게 활용할 수 있는 아두이노 보드를 추천합니다.

5. 회로 구성 (글로 설명):

  • IR 센서의 출력 핀을 아두이노의 디지털 핀 (예: D2)에 연결합니다.
  • 습도 센서 모듈은 해당 모듈의 핀맵을 참조하여 아두이노에 연결합니다.
  • 모든 구성 요소는 브레드보드를 통해 연결합니다.

6. 코딩 내용 (주석 포함):

 

#include <IRremote.h>
#include <DHT.h>

// IR 센서 핀 설정
#define IR_SENSOR_PIN 2

// 습도 센서 핀 설정
#define DHT_PIN 3
#define DHT_TYPE DHT11 // DHT22를 사용하려면 DHT22로 변경

// IR 리모컨 객체 생성
IRrecv irrecv(IR_SENSOR_PIN);
decode_results results;

// DHT 센서 객체 생성
DHT dht(DHT_PIN, DHT_TYPE);

void setup() {
  // 시리얼 통신 시작
  Serial.begin(9600);

  // IR 리모컨 초기화
  irrecv.enableIRIn();

  // DHT 센서 초기화
  dht.begin();
}

void loop() {
  // IR 센서 값 읽기
  if (irrecv.decode(&results)) {
    // 인체 움직임 감지 시 동작 수행
    Serial.println("Motion Detected!");
    // 여기서 필요한 동작을 수행하세요.
    irrecv.resume(); // 다음 신호 대기
  }

  // 습도 센서로 습도 측정
  float humidity = dht.readHumidity();
  // 온도 측정
  float temperature = dht.readTemperature();

  // 결과를 시리얼 모니터에 출력
  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.print("%, Temperature: ");
  Serial.print(temperature);
  Serial.println("°C");

  delay(1000); // 1초마다 센서 읽기
}

 

7. 코딩 내용 설명:

  • 이 코드는 IR 센서와 습도 센서를 사용하여 인체 움직임과 주변 습도를 모니터링합니다.
  • IR 센서로 인체 움직임을 감지하면 "Motion Detected!" 메시지를 출력합니다.
  • 습도 센서로 주변 습도와 온도를 측정하고 시리얼 모니터에 출력합니다.

8. 코드 업로드 및 테스트:

  • 아두이노 보드에 코드를 업로드하고 IR 센서의 동작과 습도/온도 값을 확인합니다.

9. 응용 업그레이드:

  • 데이터를 클라우드에 업로드하여 원격으로 습도 모니터링 및 알림을 설정할 수 있습니다.
  • 화면을 추가하여 실시간 습도 및 온도 정보를 표시할 수 있습니다.

10. 전문 용어 및 설명:

  • IR 센서 (Infrared Sensor): 적외선을 사용하여 물체나 인체의 움직임을 감지하는 센서입니다.
  • 습도 센서 (Humidity Sensor): 주변 공기의 습도를 측정하는 센서로, DHT11 또는 DHT22와 같은 모듈로 사용됩니다.

11. 기타:

  • 이 프로젝트를 확장하려면 데이터 로깅, 알림 서비스 등을 추가하여 활용할 수 있습니다.

 

반응형