본문 바로가기

아두이노

IR 센서와 조도 센서를 결합한 어두운 곳에서 LED 켜기

반응형

IR 센서와 조도 센서를 결합하여 어두운 환경에서 LED를 자동으로 켜는 아두이노 프로젝트를 만들어보겠습니다. 각 파트별로 설명하겠습니다.

1. 이론 소개:

  • 이 프로젝트는 주변 환경의 밝기를 감지하고, 어두운 곳에서만 LED를 켜는 방법을 구현합니다.
  • IR 센서는 주변 환경의 밝기를 감지하고, 조도 센서는 주변 밝기 값을 측정합니다.

2. 준비물:

  • 아두이노 보드 (예: Arduino Uno 또는 Arduino Nano)
  • IR 센서 모듈 (적외선 센서)
  • 조도 센서 (LDR 또는 Light Dependent Resistor)
  • LED
  • 220옴 저항 (IR 센서 연결용)
  • 브레드보드 및 연결 선
  • 9V 배터리 또는 배터리 팩

3. 비슷한 모델:

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

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

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

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

  • IR 센서의 출력 핀을 아두이노의 아날로그 핀 (예: A0)에 연결합니다.
  • 조도 센서는 분배된 전압을 읽는 아날로그 핀 (예: A1)에 연결합니다.
  • LED는 디지털 핀 (예: 9)에 연결하고, 220옴 저항을 LED와 연결합니다.
  • 모든 구성 요소는 브레드보드를 통해 연결합니다.

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

 

 

// 라이브러리 추가
#include <Adafruit_Sensor.h>
#include <Adafruit_TSL2591.h>

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

// 조도 센서 핀 설정
#define LIGHT_SENSOR_PIN A1

// LED 핀 설정
#define LED_PIN 9

// 조도 센서 객체 생성
Adafruit_TSL2591 tsl = Adafruit_TSL2591(2591);

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

  // 조도 센서 초기화
  if (!tsl.begin()) {
    Serial.println("No TSL2591 found");
    while (1);
  }
  
  // LED 핀을 출력으로 설정
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  // IR 센서 값 읽기
  int irValue = analogRead(IR_SENSOR_PIN);

  // IR 센서 값에 따라 LED를 켜거나 끔
  if (irValue > 500) { // IR 센서 장애물 감지 시
    digitalWrite(LED_PIN, LOW); // LED 끄기
  } else { // IR 센서 장애물 없음
    // 조도 센서로 주변 밝기 측정
    uint16_t luminance = tsl.getLuminosity(TSL2591_VISIBLE);
    
    // 주변 밝기가 어두울 때만 LED 켜기
    if (luminance < 100) {
      digitalWrite(LED_PIN, HIGH); // LED 켜기
    } else {
      digitalWrite(LED_PIN, LOW); // LED 끄기
    }
  }
  delay(100); // 0.1초마다 센서 읽기
}

 

7. 코딩 내용 설명:

  • 이 코드는 IR 센서와 조도 센서를 사용하여 어두운 곳에서만 LED를 켜는 방법을 구현합니다.
  • IR 센서로 장애물을 감지하면 LED를 끄고, 주변 밝기가 어두울 때만 LED를 켭니다.

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

  • 아두이노 보드에 코드를 업로드하고 조도 센서의 주변 밝기와 IR 센서의 동작을 확인합니다.

9. 응용 업그레이드:

  • 추가적인 조도 센서를 사용하여 더 정확한 환경 감지를 구현할 수 있습니다.
  • LED를 외부 장치 또는 서보 모터와 연결하여 더 다양한 작업을 수행하도록 확장할 수 있습니다.

10. 전문 용어 및 설명:

  • IR 센서 (Infrared Sensor): 적외선을 사용하여 물체를 감지하는 센서입니다.
  • 조도 센서 (Light Sensor): 주변 밝기를 측정하는 센서입니다.
  • 아날로그 입력 (Analog Input): 연속적인 값을 가지는 입력 신호를 의미합니다.
  • 아날로그 출력 (Analog Output): 연속적인 값을 출력하는 신호를 의미합니다.
  • 디지털 출력 (Digital Output): 이진 (0 또는 1) 값을 출력하는 신호를 의미합니다.
반응형