arduino 인체감지센서 HC-SR501 사용해보기
갖고 있는 arduino 센서 중에서 저렴하면서도 효율적인 것들이 몇 가지 있는데 그중 대표적인 것이 인체감지센서가 아닐까 싶습니다. 많은 센서들이 상황에 따라서 각자의 역할을 충실히 하고 우리 생활에서 유용하게 응용할 수 있는 것들이지만 특히 인체감지센서는 사람의 인체만을 인식하기 때문에 조금은 더 특별하게 느껴지는 거 같더라고요.
생긴 건 이렇게 생겼는데 그 역할 때문인지 뭔가 더 있어 보이지 않나요? 하지만 가격은 2천 원도 안되는 정말 저렴한 가격입니다. 혹시 이 글을 보시는 분들 중 인체감지 센서가 어디에 사용되지?라고 생각하시는 분들도 있죠? 우리 일상생활에서 가장 흔히 볼 수 있는 곳이 바로 아파트나 원룸 입구 또는 계단에 있는 전등입니다.
그것들은 우리가 지나갈 때만 불이 켜지죠? 그리고 지나가고 나면 스스로 꺼지잖아요. 거기에는 인체감지 센서가 붙어 있어서 사람만 인식을 하기 때문입니다. 그럴 일은 없겠지만 상자나 자전거가 혼자 그 밑을 지나가도 불은 켜지지 않아요.ㅋ 사람의 몸만 감지하기 때문인데요. 실제로 그렇게 인체에만 반응하는지 살펴보도록 하겠습니다.
이 인체감지센서는 HC-SR201이라는 모델이며 앞에서도 잠깐 언급했듯이 2천 원도 안 합니다. arduino와 연결과 정도 간단한데요. 사진에서 확인할 수 있듯이 3개의 핀이 있는데 VCC, GND, 그리고 3.3V의 전압을 출력하는 OUT입니다. 즉, 사람이 지나가면 전압을 출력해서 그것을 알려주는 건데요. 아두이노에서 디지털 값으로 1을 받습니다.
이번 예제에서는 우리가 피부로 느낄 수 있도록 사람이 감지되면 LED를 켜도록 하는 예제를 만들어 볼 건데 인체가 감지돼서 데이터 1이 들어오면 LED를 2초 동안만 켰다가 끄도록 설정을 해보겠습니다.
코드도 엄청 간단하죠? 일단 인체감지센서에서 들어오는 디지털 신호 1을 받기 위해서 D2에 연결을 했고 D3에서는 LED를 켜기 위해서 출력을 하도록 설정을 했습니다. 그리고 2번 핀으로 들어오는 디지털 값을 읽어서 그 값이 1이라면 digitalWrite() 함수에 LED가 연결된 3번 핀을 켜도록 하고 있는 내용입니다.
이제 예제를 실행해볼 건데요. 플라스틱 제품과 제 손을 이 녀석에 앞에서 왔다 갔다 하면서 어떻게 반응하는지 확인해보겠습니다.
영상처럼 플라스틱 제품이 앞에서 움직일 때는 반응을 안 하다가 제 손이 움직일 때만 데이터를 출력하는 걸 확인할 수 있습니다. 저 가운데 부분에 노란색 조절기 두개로 민감도와 펄스의 출력을 조절할 수 있어서 상황에 따라서 사용하면 됩니다.
이렇게 해서 arduino 인체감지센서를 사용해봤는데요. 성능이 썩 좋지는 않지만 좀 더 괜찮은 녀석을 사용하면 자동차나 보안 시스템 등 우리 생활과 밀접하고 다양한 분야에서 활용할 수 있을듯싶죠?^^ 개념은 잡아놨으니 상황에 되면 응용해봐야겠습니다. 수고하셨어요.