본문 바로가기

아두이노

IR 센서와 온도 센서를 사용한 환경 모니터링 시스템

반응형

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

1. 이론 소개:

  • 이 프로젝트는 주변 환경의 온도와 인체 움직임을 감지하여 환경 상태를 모니터링하는 시스템을 구축합니다.
  • IR 센서는 인체 움직임을 감지하고, 온도 센서는 주변 온도를 측정합니다.

2. 준비물:

  • 아두이노 보드 (예: Arduino Uno 또는 Arduino Nano)
  • IR 센서 모듈 (적외선 센서)
  • 온도 센서 (예: DHT11 또는 DHT22)
  • LCD 디스플레이 (옵션)
  • 브레드보드 및 연결 선
  • 9V 배터리 또는 배터리 팩

3. 비슷한 모델:

  • IR 센서 및 온도 센서 모델은 다양한 브랜드와 유형이 있으며 대부분 호환됩니다.

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

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

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

  • IR 센서의 출력 핀을 아두이노의 디지털 핀 (예: D2)에 연결합니다.
  • 온도 센서는 아두이노의 디지털 핀 (예: D4)에 연결합니다.
  • LCD 디스플레이를 사용할 경우 해당 핀도 연결합니다.
  • 모든 구성 요소는 브레드보드를 통해 연결합니다.

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

 

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

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

// 온도 센서 핀 설정
#define DHT_SENSOR_PIN 4
#define DHT_SENSOR_TYPE DHT22 // DHT11 또는 DHT22 중 선택

// LCD 핀 설정 (옵션)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7

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

// 온도 센서 객체 생성
DHT dht(DHT_SENSOR_PIN, DHT_SENSOR_TYPE);

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

  // IR 리모컨 초기화
  irrecv.enableIRIn();
  
  // 온도 센서 초기화
  dht.begin();
  
  // LCD 초기화 (옵션)
  lcd.begin(16, 2);
  lcd.print("IR & Temp Sensor");
}

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

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

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

  // LCD에 온도 및 습도 표시 (옵션)
  lcd.setCursor(0, 1);
  lcd.print("Temp: ");
  lcd.print(temperature);
  lcd.print(" C  ");
  lcd.setCursor(0, 0);
  lcd.print("Humidity: ");
  lcd.print(humidity);
  lcd.print(" %  ");
  
  delay(1000); // 1초마다 센서 읽기
}

 

7. 코딩 내용 설명:

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

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

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

9. 응용 업그레이드:

  • 추가적인 센서를 사용하여 더 다양한 환경 데이터를 수집하고 모니터링할 수 있습니다.
  • IR 센서로부터 받은 신호에 따라 특정 동작을 수행하도록 확장할 수 있습니다.

10. 전문 용어 및 설명:

  • IR 센서 (Infrared Sensor): 적외선을 사용하여 물체나 인체의 움직임을 감지하는 센서입니다.
  • 온도 센서 (Temperature Sensor): 주변 온도를 측정하는 센서로, DHT11 또는 DHT22와 같은 모델이 있습니다.
  • LCD (Liquid Crystal Display): 액정 디스플레이로, 텍스트 및 그래픽을 표시하는 데 사용됩니다.
  • 디지털 핀 (Digital Pin): 아두이노 보드에서 디지털 신호를 입력 및 출력하는 핀입니다.

11. 기타:

  • 이 프로젝트를 확장하려면 다른 센서를 추가하거나 외부 기기와 통신할 수 있는 무선 모듈을 포함할 수 있습니다.

 

 

반응형