본문 바로가기
코딩/아두이노

[SZH-SSBH-002] 적외선 장애물(물체) 감지 센서 사용하는 방법

by DIYver 2021. 4. 1.

 

 

<목표>

 

 

- 라인트레이싱과 같은 프로젝트를 만들때 항상 들어가는 것이 물체감지 센서이다.

거리 측정 센서로도 쓰이지만, 그런경우 analog 값을 출력해주는 모듈을 사용해야 한다.

이번에는 갖고 있는 센서 모듈이 digital 신호로만 주는 방식이어서 그에대해서만 사용법을 알아보도록 하자.

 


<준비물>

 

 

- 아두이노(우노, 나노, 메가),  적외선 물체 감지 센서

 

 


<회로도>

 

 

센서의 OUT 단자를 아두이노의 3번핀에 연결한다.

센서의 VCC는 아두이노의 5V,

각자의 GND끼리 연결해주면 된다.


<코드>

 

int sensor_pin = 3;


void setup() {
  // put your setup code here, to run once:
  pinMode(sensor_pin, INPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(digitalRead(sensor_pin))
  {
    digitalWrite(13, HIGH);  
  }
  else
  {
    digitalWrite(13, LOW);
  }
  delay(100);
}

 


<실행 결과>

 

센서에 LED가 두개가 있어서 

위 사진에서 켜져있는 불은 전원 상태를 나타내주며,

 

물체를 감지하게되면 아래 LED에도 점등 된다.

 

근처의 휴지를 감지하였다고 표시가 되었다.

 

 

코드를 보면 

digitalRead(sensor_pin) 값이 1이면 물체가 감지가 안 된 것이고,

센서 값이 0이 되면 물체를 감지했다는 뜻이다.

 

보통 보면 물체를 감지하면 HIGH 신호를 주거나 하는데,

이 센서는 물체를 감지하면 멈춰야 하기 때문에 물체를 감지하면 LOW 신호를 보내게끔 설계가 되어있다.

 

그리고 보통 이런 센서들은 이렇게 가변저항을 갖고 있어서

십자 드라이버로 저항값을 조정하면

측정 거리를 짧게 또는 길게 조정할 수 있다.

해당 센서의 경우 10cm 까지 감지할 수 있는 것 같다.

 

 

 

 

우리는 이런 물체 감지 센서를 근접센서라고 한다.

근접센서는 다양하게 있는데, 적외선 감지 센서와 초음파 센서가 대표적인 예이다.

 

두 방식은 모두 각각의 장단점을 보유하고 있는데,

 

초음파 센서는 2m 까지도 거리 또는 물체를 감지할 수 있는 반면에

오감지가 심한편이며, 대상 물체의 표면에 따라서 측정이 잘 되고 안 되고가 갈리게 된다.

 

적외선 센서는 물체의 표면에 크게 영향을 받지 않는 것과

비교적 정확한 거리 감지가 된다는 것이 가장 큰 장점이다.

하지만 빛의 성질을 이용하기 때문에 측정 거리가 초음파센서에 비해서 매우 짧으며,

물체 대상의 표면의 색에 따라서 감지가 잘 안 될 수도 있다.

검은색의 경우 빛을 흡수하는 성질이 있기때문에 검은색 표면은 비교적 측정이 잘 안 된다.

 

이 두가지의 특성을 잘 파악해야지 자신이 하고 싶은 프로젝트에 더 어울리는 센서를 사용할 수 있다.

 

 

 

 


※ 궁금하시거나 질문사항이 있으시면 댓글로 작성해주시면 답변해 드릴 수 있는 부분에서 친절히 답변드리겠습니다!

 

 

 

 

댓글