안녕하세요. 디바이스마트 대짜이찐입니다.
오늘은 아두이노와 인체감지센서 SR501를 사용해서
간단한 예제를 프로그래밍 해보겠습니다.
간단한 예제를 프로그래밍 해보겠습니다.
| ||||||
SR501은 적외선 변화를 감지하고 움직임으로 해석하면 Signal를 낮춥니다.
뒷면에는 감도와 신호를 주는 딜레이 시간을 결정하는 가변저항과
트리거를 결정하는 핀이 있습니다.
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 댓글