반응형

아파트 복도나 현관문 등에 부착되어서 사람(또는 동물)이 감지되면 조명을 켜주고 꺼주는 센서를 인체감지센서(PIR 센서, Passive Infrared Sensor)라고 합니다. 인체는 36.5도의 열을 가지고 있으므로 적외선이 나옵니다. 이것과 움직임이 감지되면 신호를 보내주는 센서 입니다. 품번은 HC-SR501 이라고 하는데 감도도 조절이 가능하고 인체가 감지되면 신호를 보내는 시간을 조절할 수도 있습니다. 그래서 감지가 끝나더라도 일정시간은 신호를 보내주게 됩니다. 그래서 아파트 복도를 지나가게 되면 불이 켜졌다가 사람이 없어도 잠시 뒤에 꺼지는 것입니다.



PIR 의 원리 (출처: https://pirtechnology.wordpress.com/2011/09/09/hello-world/)



센서의 전면부 입니다. 축구공 모양의 감지부가 있습니다. 이 안에 적외선 감지 센서가 있습니다. 테스트를 해보니 감지범위는 위,아래 45도씩 90도 정도의 범위정도 감지가 가능했습니다. 센서의 커버인 축구공 부분은 편광필터 입니다. 센서가 감지하는 주파수 범위만 통과시키도록 하여 센서의 성능을 높이는 역할을 합니다.


뒷면 입니다. 핀연결은 위의 사진의 설명과 같이 왼쪽부터 GND, Signal, VCC (5V) 입니다. Signal 은 아두이노 디지털 단자에 연결하면 됩니다.


위와 같이 두 개의 가변저항을 돌려주면 감도와 딜레이 시간을 설정할 수 있습니다.


이 센서에 대해 더욱 자세히 나온 데이터시트 입니다.

HC-SR501_Datasheet.pdf


연결


인체감지센서 

아두이노 

GND 

GND

Signal 

D2

VCC

5V


위와 같이 연결하고 감지의 확인을 위해 LED 하나를 디지털 13번에 연결해 주었습니다. LED의 짧은 다리는 13번핀 옆의 GND에 긴다리는 디지털 13번에 연결하면 됩니다. 원래는 저항도 같이 연결해 줘야 하지만 잠깐의 실험으로 LED가 고장나지는 않더군요. ^^




소스

인체가 감지되면 LED가 켜지고 센서에 설정된 Delay 값에 따라 LED를 OFF 해 주는 소스 입니다. 센서의 특징상 인체가 감지되어도 일정시간 움직임이 없으면 LED가 꺼집니다. 

소스를 수정하여 220V 를 제어 할 수 있는 릴레이를 붙여서 조명이나 스피커(방범용 알람) 등을 붙이면 실제 생활에도 활용이 가능합니다. RTC 모듈(Real Time Clock Module)과도 연계한다면 특정시간에만 작동하도록 할 수도 있겠네요.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* 인체감지센서(PIR) 테스트 */
 
int ledPin = 13// LED 연결핀
int inputPin = 2// 센서 시그널핀
int pirState = LOW; // PIR 초기상태
int val = 0// Signal 입력값
 
void setup() {
    pinMode(ledPin, OUTPUT); // LED Output 설정
    pinMode(inputPin, INPUT); // 센서 Input 설정
 
    Serial.begin(9600);
}
 
void loop(){
    val = digitalRead(inputPin); // 센서값 읽기
    if (val == HIGH) { // 인체감지시
        digitalWrite(ledPin, HIGH); // LED ON
        if (pirState == LOW) {
        // 시리얼모니터에 메시지 출력
        Serial.println("Motion detected!");
        pirState = HIGH;
        }
    } else {
        digitalWrite(ledPin, LOW); // LED OFF
        if (pirState == HIGH){        
            // 시리얼모니터에 메시지 출력            
            Serial.println("Motion ended!");
            pirState = LOW;
        }
    }
}
cs




이상으로 인체감지센서에 대해서 알아보았습니다.

반응형

+ Recent posts