본문 바로가기

아두이노

IR 센서와 가변 저항기를 사용한 인체 감지 및 조명 제어

반응형

먼저, IR 센서와 가변 저항기를 사용한 인체 감지 및 조명 제어 프로젝트를 만들기 위한 전반적인 내용을 제공하겠습니다.

1. 이론 소개:

  • IR 센서(Infrared Sensor): 적외선(IR)을 감지하여 인체의 움직임을 감지할 수 있는 센서입니다.
  • 가변 저항기(Potentiometer): 회전하여 저항 값을 변경할 수 있는 전자 부품입니다. 주로 센서와 함께 사용하여 임계값을 조정하는 데 활용됩니다.

2. 준비물:

  • Arduino 보드
  • IR 센서 모듈
  • 가변 저항기
  • LED
  • 220 옴 저항 (LED에 연결)
  • 점퍼 와이어
  • 브레드보드
  • 전원 공급 장치 (9V 배터리 또는 USB 케이블)

3. 비슷한 센서 모델:

  • PIR 센서 (Passive Infrared Sensor): 인체 감지에 많이 사용되는 다른 유형의 적외선 센서.

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

  • Arduino Uno: 이 프로젝트에는 Arduino Uno 보드가 적합합니다. 사용자 편의성과 다양한 라이브러리 및 예제를 제공합니다.

5. 회로 구성:

  • IR 센서와 가변 저항기를 연결한 회로는 다음과 같습니다:
    • IR 센서의 VCC 핀을 Arduino의 5V 핀에 연결합니다.
    • GND 핀을 Arduino의 GND 핀에 연결합니다.
    • OUT 핀을 Arduino의 디지털 핀 2에 연결합니다.
    • 가변 저항기의 한 쪽 단자를 5V에 연결하고, 다른 쪽 단자를 GND에 연결합니다. 중간 단자는 A0 (아날로그 핀)에 연결합니다.
    • LED의 긴 다리 (양극)을 Arduino의 디지털 핀 13에 연결하고, 짧은 다리 (음극)은 220 옴 저항을 통해 GND에 연결합니다.
    회로를 올바르게 연결하면 다음과 같은 모습이 됩니다.

6. 코딩 내용:

 

int irSensorPin = 2;  // IR 센서 연결 핀
int ledPin = 13;     // LED 연결 핀
int threshold = 500; // 감지 임계값

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

void loop() {
  int irValue = analogRead(irSensorPin);
  Serial.println(irValue);

  if (irValue > threshold) {
    digitalWrite(ledPin, HIGH); // IR 감지 시 LED 켜기
  } else {
    digitalWrite(ledPin, LOW);  // 감지하지 않으면 LED 끄기
  }
  delay(100);
}

 

7. 코딩 내용 설명:

  • irSensorPin: IR 센서의 신호 핀을 나타냅니다.
  • ledPin: LED가 연결된 핀을 나타냅니다.
  • threshold: IR 센서의 감지 임계값을 설정합니다.
  • setup 함수에서 핀 모드를 설정하고 시리얼 통신을 초기화합니다.
  • loop 함수에서 IR 센서 값을 읽어와 irValue 변수에 저장합니다.
  • irValue가 threshold보다 크면 LED를 켭니다. 그렇지 않으면 LED를 끕니다.

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

  • Arduino IDE를 열고 코드를 아두이노에 업로드합니다.
  • IR 센서 앞에 손을 가까이 대면 LED가 켜집니다.

9. 응용 업그레이드:

  • 이 프로젝트를 확장하여 LED 대신 다른 장치를 제어하거나, 감지된 움직임에 따라 다양한 작업을 수행할 수 있습니다.

10. 전문용어 및 설명:

  • IR 센서: 적외선(IR)을 감지하는 센서입니다.
  • 가변 저항기: 회전하여 저항 값을 변경할 수 있는 전자 부품입니다.

11. 기타:

  • 이 프로젝트는 인체 감지와 제어의 간단한 예제입니다.

 

반응형