우리가 일상생활에서 현관이나 건물, 아파트 층계를 지날 때 천장에서 전등불이 자동으로 켜지고 움직임이 없으면 자동으로 꺼지는 것을 경험합니다. 이는 천장에 인체감지센서가 작동하는 것으로 적외선으로 인체의 움직임을 감지하여 불이켜지고 꺼지게 하는 것입니다.
Step 1. 준비물
브레드보드, 아두이노, PIR(이체 감지센서:HC-SR501),LED, 점퍼 케이블
Bread Board
Arduino
PIR(HC-SR501)
LED
Step 3. 회로도
Schematic
Step 4. 연결방법
위 그림의 인체감지 센서에서 붉은색 단추 두개는 다음과 같은 역할을 합니다.
(감도) 오른쪽 가변저항:시계방향으로 돌리면 감도가 좁아진다.(최소 3m)
시계반대방향으로 돌리면 감도는 넓어진다(최대7m)
(지연) 왼쪽 가변저항:시계방향으로 돌릴 수록 지연시간이 늘어난다.(최대5분)
시계반대방향으로 돌릴 수록 지연시간은 짧아진다(최소3초)
연결하여 완성된 모습
위 사진에서 종이 박스 안에 인체감지 센서를 부착하였습니다. LED는 인체 감지때에만 불이 켜질 것입니다.(맨위 동영상을 참고하세요)
Step 5. Skech
아두이노 툴을 실행하여 아래 소스코드를 입력하여
확인, 업로드 하면 됩니다.
int pirPin = 8;
int val;
# define LED_G 13
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(LED_G,OUTPUT);
digitalWrite(LED_G, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
val = digitalRead(pirPin); //read state of the PIR
if (val == LOW) {
Serial.println("No motion"); //if the value read is low, there was no motion
digitalWrite(LED_G,LOW);
}
else {
Serial.println("Motion!"); //if the value read was high, there was motion
digitalWrite(LED_G , HIGH);
}