본문 바로가기

아두이노

IR 센서와 조도 센서를 사용한 밝기 자동 조절 시스템

반응형

IR 센서와 조도 센서를 사용한 밝기 자동 조절 시스템 구축을 위한 아두이노 프로젝트에 대한 상세한 설명을 제공하겠습니다.

1. 이론 소개

  • IR 센서: 물체의 존재 여부를 감지합니다.
  • 조도 센서(LDR): 주변의 빛 강도에 따라 저항값이 변하는 센서입니다.

2. 준비물

  • 아두이노 보드 (Uno, Mega 등)
  • IR 센서
  • 조도 센서 (LDR)
  • LED 또는 다른 광원
  • 점퍼 와이어
  • 브레드보드

3. 비슷한 센서 모델명

  • 조도 센서: TEMT6000
  • IR 센서: Sharp GP2Y0A21YK0F

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

  • 아두이노 Uno: 다용도로 사용하기 좋고 초보자에게 친숙합니다.
  • 아두이노 Mega: 더 많은 I/O 핀과 메모리를 제공합니다.

5. 회로 구성

  • 조도 센서의 한 쪽 핀을 아두이노의 아날로그 입력 핀에 연결, 다른 쪽 핀은 저항을 통해 GND에 연결합니다.
  • IR 센서의 VCC와 GND를 아두이노의 5V와 GND에 연결하고, 출력 핀을 디지털 입력 핀에 연결합니다.
  • LED의 양극을 아두이노의 디지털 핀에 연결하고, 음극을 GND에 연결합니다.

6. 코딩 내용

 

#define LDR_PIN A0  // 조도 센서 핀
#define IR_PIN 2    // IR 센서 핀
#define LED_PIN 3   // LED 핀

void setup() {
  pinMode(LDR_PIN, INPUT);
  pinMode(IR_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  int ldrValue = analogRead(LDR_PIN); // 조도 센서 값 읽기
  int irValue = digitalRead(IR_PIN);  // IR 센서 값 읽기

  if (irValue == HIGH) {
    if (ldrValue < 500) {
      digitalWrite(LED_PIN, HIGH); // 어두우면 LED 켜기
    } else {
      digitalWrite(LED_PIN, LOW);  // 밝으면 LED 끄기
    }
  } else {
    digitalWrite(LED_PIN, LOW);    // IR 감지 없으면 LED 끄기
  }

  delay(100);
}

 

7. 코딩 내용 설명

이 코드는 조도 센서를 사용하여 주변 밝기를 측정하고, IR 센서로 물체의 존재를 감지합니다. 주변이 어두울 때(IR 센서가 물체를 감지할 때) LED를 켜고, 그렇지 않으면 LED를 끕니다.

8. 코드 업로드 및 테스트

  • 아두이노 IDE에 코드를 입력하고, 보드에 업로드합니다.
  • IR 센서 앞에 물체를 움직여 LED의 상태를 확인합니다.
  • 주변의 밝기를 변경하여 LED의 반응을 테스트합니다.

9. 응용 업그레이드

  • RGB LED를 사용하여 다양한 색상의 빛 표현
  • 여러 조도 센서와 IR 센서를 사용하여 더 복잡한 조명 시스템 구축
  • 외부 데이터(예: 시간)에 따라 LED의 상태를 자동으로 변경

10. 전문용어 및 설명

  • LDR (Light Dependent Resistor): 빛의 강도에 따라 저항값이 변하는 센서
  • IR 센서: 적외선을 사용하여 물체의 존재 여부를 감지합니다.

11. 기타

센서의 배치와 감도 조정이 필요할 수 있으며, 정확한 동작을 위해 여러 조건에서 테스트하는 것이 좋습니다.

반응형