본문 바로가기

아두이노

모션 센서로 움직임 감지하기: 움직임 감지 시 LED 점등.

반응형

1. 이론 소개

  • PIR (Passive Infrared) 센서: 주변의 적외선 레벨의 변화를 감지하여 움직임을 감지하는 센서입니다. 인간의 몸에서 나오는 적외선을 감지할 수 있습니다.

2. 준비물

  • 아두이노 보드: 프로그램이 업로드되는 마이크로컨트롤러 기반의 개발 보드입니다.
  • PIR 모션 센서: 움직임을 감지하는데 사용되는 적외선 센서입니다.
  • LED: 움직임 감지 시 점등될 LED입니다.
  • 저항: LED를 보호하기 위해 사용되며, 일반적으로 220옴 저항을 사용합니다.
  • 점퍼 와이어: 센서, LED, 아두이노 보드를 연결하는 데 사용되는 전선입니다.
  • 브레드보드: 회로를 쉽게 조립할 수 있는 실험용 보드입니다.

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

  • 아두이노 우노: 초보자에게 적합하고 다양한 프로젝트에 사용될 수 있는 범용 보드입니다.
  • 아두이노 메가: 더 많은 핀과 메모리를 제공하여 복잡한 프로젝트에 적합합니다.

4. 회로 구성

  • PIR 센서 연결: 센서의 VCC 핀을 아두이노의 5V에, GND 핀을 GND에, OUT 핀을 디지털 핀(예: 2번)에 연결합니다.
  • LED 연결: LED의 양극을 아두이노의 디지털 핀(예: 13번)에 연결하고, 음극을 저항을 거쳐 GND에 연결합니다.

5. 코딩 내용

int ledPin = 13; // LED 핀
int pirPin = 2; // PIR 센서 핀
int pirState = LOW; // PIR 상태

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

void loop() {
  int value = digitalRead(pirPin); 
  if (value == HIGH) { 
    digitalWrite(ledPin, HIGH); 
    if (pirState == LOW) {
      Serial.println("움직임 감지");
      pirState = HIGH;
    }
  } else {
    digitalWrite(ledPin, LOW); 
    if (pirState == HIGH){
      Serial.println("움직임 없음");
      pirState = LOW;
    }
  }
}

 

6. 코드 업로드 및 테스트

  • 코드 업로드: 아두이노 IDE를 통해 아두이노 보드에 코드를 업로드합니다.
  • 테스트: PIR 센서 앞에서 움직임을 제공하고 LED가 점등되는지 확인합니다.

7. 토론 및 응용

  • PIR 센서의 활용: PIR 센서를 활용한 다양한 보안 및 자동화 시스템에 대해 토론합니다.
  • 응용 프로젝트: 보안 알람 시스템, 자동 조명 시스템 등에 PIR 센서를 적용할 수 있습니다.

8. 추가 자료 및 과제

  • 온라인 자료: 아두이노 공식 사이트, PIR 센서 사용법에 관한 튜토리얼 및 가이드.
  • 과제: 움직임에 따라 다양한 기능을 수행하는 시스템 구현.

전문 용어 설명

  1. PIR (Passive Infrared) 센서: 적외선을 이용해 움직임을 감지하는 센서.
  2. 적외선 (Infrared): 빛의 일종으로, 사람의 눈에는 보이지 않는 파장.
  3. 디지털 신호: 두 가지 상태(ON/OFF)만을 가지는 전기 신호.
  4. 저항 (Resistor): 전류의 흐름을 제한하는 전자 부품.
  5. GND (Ground): 전기적 접지를 의미하는 핀.
  6. VCC: 전원 공급을 의미하는 핀.
  7. Serial 통신: 데이터를 순차적으로 전송하는 통신 방식.
  8. digitalRead() 함수: 디지털 핀에서 신호를 읽는 함수.
  9. digitalWrite() 함수: 디지털 핀에 신호를 출력하는 함수.
  10. pinMode() 함수: 핀을 입력 또는 출력으로 설정하는 함수.
반응형