카테고리 없음

아두이노 적외선 센서 다뤄보기

abc0123 2017. 11. 24. 11:50
반응형

 

아두이노의 여러 가지 센서 중에서 오늘은 적외선 센서를 갖고 놀아보려고 한다. 이 녀석은 아래 사진처럼 적외선 송신부와 수신부로 구성되어 있는데 평소에는 5V 전압을 보내다가 어떤 물체가 탐지되면 LOW 즉, 0의 값을 출력한다

 

적외선센서

 

탐지 가능 거리는 제품에 따라서 차이가 있겠지만 저렴한 이 적외선 센서는 2~30Cm이며 그 거리는 사진의 중앙에 보이는 가변저항을 돌려서 조절할 수가 있다.

 

 

초음파 센서와 약간 비슷한 역할을 할 것 같지만 상대적으로 간단한 코드로 제어가 가능할 거 같으니 후다닥 회로를 만들어 보고 코딩을 해서 들어오는 데이터를 시리얼 모니터에서 확인해보자.

 

회로

 

이 적외선 센서는 세 개의 핀 이 있는데 VCC, GND, 그리고 상황에 따라서 1과 0을 출력하는 OUT 핀 이 있다. 그리고 나는 이 핀을 아두이노의 D8에 연결을 했으며 특정 거리 안에서 물체가 탐지되면 바로 LED를 켜서 확인하기 위해서 D9에 연결했다.

 

회로 그리기

 

회로도에서는 그냥 핀이 세개인 녀석을 적외선 센서라고 가정하고 그려봤다. 여하튼 8번 핀을 통해서 1또는 0의 값을 받게 될 것이고 그 값이 0이면... 즉 거리 내에 어떤 물체가 탐지가 됐을 때는 LED를 켜도록 하는 코딩을 해보자.

 

코딩

 

① 먼저 8번과 9번의 핀을 led와 sensor라는 변수에 저장을 했으며 센서에서 들오오는 0또는 1을 저장하기 위한 변수 data를 선언했다. ② 초기화 구간에서는 핀들을 각각 INPUT과 OUTPUT으로 설정한 후 시리얼 모니터와의 통신을 위한 준비를 했다. ③ 반복 구간에서는 적외선 센서에서 들어오는 값을 data 변수에 저장한 후 그 값을 시리얼 모니터에 출력하도록 하고 있으며 만약 그 값이 0이면 즉, 어떤 물체가 감지가 됐을 때는 LED를 켜도록 하고 그렇지 않으면 끄도록 하고 있다.

 

 

이제 소스 코드를 아두이노에 올린 후 실행을 해보자.

 

 

실행 결과에서 확인할 수 있듯이 손과 플라스틱 자를 이용해서 어느 정도 거리까지 다가가자 LED가 켜지는 걸 알 수 있다. 초보라서... '적외선이 투명한 플라스틱은 감지하지 못할 수도 있지 않을까?'라는 궁금증에 테스트를 해봤는데 그건 관련이 없나 보다. ㅎㅎ

 

이렇게 해서 아두이노 적외선 센서를 사용해봤는데 상황에 맞게 가변저항을 돌려서 거리를 세팅한 후 장난감 등 여러 분야에서 활용할 수 있을듯 하니 다음에 응용해보기로 하고 적외선 센서의 기본 개념 정리는 여기서 마무리한다.

반응형