본문 바로가기

아두이노

IR 센서와 조도 센서를 사용한 밝기 조절 및 에너지 절약

반응형

IR 센서와 조도 센서를 사용하여 밝기 조절 및 에너지 절약을 구현하는 아두이노 프로젝트를 만들어 보겠습니다.

1. 이론 소개:

  • 이 프로젝트에서는 IR (적외선) 센서와 조도 센서를 사용하여 주변 밝기를 감지하고, 주변 환경의 밝기에 따라 LED를 켜고 끄어 에너지를 절약합니다.

2. 준비물:

  • Arduino 보드 (예: Arduino Uno)
  • IR 센서 (적외선 센서)
  • 조도 센서 (LDR 또는 광센서)
  • LED
  • 저항 (220옴 또는 330옴)
  • 점퍼 와이어
  • 빵판 또는 프로토타이핑 보드

3. 비슷한 센서 모델명:

  • IR 센서: KY-022, TCRT5000
  • 조도 센서: LDR (Light Dependent Resistor)

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

  • Arduino Uno: 이 프로젝트에 적합한 시작 보드입니다.

5. 회로 구성:

  • IR 센서와 조도 센서를 아두이노에 연결합니다.
  • IR 센서의 출력 핀을 아두이노의 디지털 핀 (예: D2)에 연결합니다.
  • 조도 센서 (LDR)의 한 쪽 단자를 아두이노의 5V 핀에 연결하고, 다른 쪽 단자를 아두이노의 아날로그 핀 (예: A0)에 연결합니다.
  • LED의 긴 다리를 아두이노의 디지털 핀 (예: D9)에 연결하고, 짧은 다리를 저항과 함께 아두이노의 GND 핀에 연결합니다.

6. 코딩 내용:

 

const int irSensorPin = 2;
const int lightSensorPin = A0;
const int ledPin = 9;

void setup() {
  pinMode(irSensorPin, INPUT);
  pinMode(lightSensorPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int irValue = digitalRead(irSensorPin);
  int lightValue = analogRead(lightSensorPin);
  
  if (irValue == HIGH && lightValue < 500) {
    digitalWrite(ledPin, HIGH); // IR 센서 감지 및 어두운 조건에서 LED 켜기
  } else {
    digitalWrite(ledPin, LOW); // 그 외의 경우 LED 끄기
  }
  
  Serial.print("IR: ");
  Serial.print(irValue);
  Serial.print(" | Light: ");
  Serial.println(lightValue);
  delay(500);
}

 

7. 코딩 내용 설명:

  • irSensorPin 및 lightSensorPin에 각각 IR 센서 및 조도 센서의 핀 번호를 할당합니다.
  • setup 함수에서 각 핀의 입출력 방향을 설정하고 시리얼 통신을 초기화합니다.
  • loop 함수에서 IR 센서와 조도 센서의 값을 읽고 비교하여 LED를 켜거나 끕니다.
  • IR 센서가 감지되고, 주변 밝기가 일정 값 미만이면 LED가 켜집니다.
  • 시리얼 모니터에 IR 센서 및 조도 센서의 값을 출력합니다.

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

  • 위의 코드를 아두이노 IDE에 복사하여 아두이노 보드에 업로드합니다.
  • IR 센서를 가리키거나 가까이 두면서 주변 밝기가 어두운 상태에서 LED가 켜지는지 확인합니다.

9. 응용 업그레이드:

  • LED 대신 다른 출력 장치 (예: 모터, 스피커)를 제어하여 더 다양한 응용 프로그램을 개발할 수 있습니다.
  • 밝기에 따라 LED의 밝기를 조절하거나 색상을 변경하는 기능을 추가할 수 있습니다.

10. 전문용어 및 설명:

  • IR 센서: Infrared Sensor로서 적외선을 감지하고 이를 전기 신호로 변환하는 센서입니다.
  • 조도 센서: 주변 빛의 강도를 감지하고 이를 전기 신호로 변환하는 센서입니다.

11. 기타:

  • 이 프로젝트를 응용하여 주변 환경에 따라 자동 조명 시스템을 구현할 수 있습니다.
반응형