[아두이노] SR-501 인체감지 센서 사용


안녕하세요. 디바이스마트 대짜이찐입니다.
오늘은 아두이노와 인체감지센서 SR501를 사용해서
간단한 예제를 프로그래밍 해보겠습니다.


SR501




SR501은 적외선 변화를 감지하고 움직임으로 해석하면 Signal를 낮춥니다.


뒷면에는 감도와 신호를 주는 딜레이 시간을 결정하는 가변저항과
트리거를 결정하는 핀이 있습니다.

SR501의 핀맵입니다.

자세한 내용은 아래 데이터 시트를 참고해주세요.



아두이노와 SR501 연결



준비물: 아두이노 우노, 점퍼선, SR501(인체감지센서)


아두이노
SR501
비고
GND
GND
Ground
D7
Signal
Output
5V
Power
VCC





프로그래밍 코드



/*
SR501 인체감지센서
http://www.devicemart.co.kr/
*/

int led=13; // 13번에 있는 led를 사용하기 위해 선언
int sensor=7; // 센서의 signal 선을 7번에 연결

void setup()
{
pinMode(13, OUTPUT); // 13번핀 출력으로 설정
pinMode(7, INPUT); // 7번핀을 입력으로 설정
Serial.begin(9600); // 통신속도 9600bps로 시리얼 통신 시작
}

void loop()
{
int val= digitalRead(sensor);

if(val==1)
{
digitalWrite(13,HIGH);
Serial.println("감지 O");
}
else
{
digitalWrite(13,LOW);
Serial.println("감지 X");
}

}



해당 프로그래밍 코드는 SR501인체감지센서와 
아두이노 UNO에 있는 13번 LED를 사용하여
인체감지 센서에서 신호를 아두이노의 LED로 표시하는 소스입니다.
SR-501은 감지가 끝나더라도 일정시간은 신호를 보내주기 때문에 
움직임이 멈췄다고 바로 LED가 꺼지지 않습니다! 이 지연시간 조정은 
가변저항으로 조정 가능합니다.




댓글 쓰기

0 댓글