반응형

장애물 감지에는 예전에 소개했던 초음파 센서도 쓰이지만 2개 이상의 초음파 센서를 쓸 경우 서로 간섭을 일으킬 수도 있다. 이럴 경우 적외선 장애물 센서를 사용하면 간섭 없이 두 개 이상의 장애물 센서를 사용할 수 있다. 내가 가지고 있는 적외선 장애물 센서의 탐지거리는 2~6cm로 센서 모듈에 달린 가변저항을 돌려서 원하는 감도를 조절할 수 있다.(오른쪽으로 돌리면 탐지거리가 늘어남) 탐지거리는 거의 1m까지 탐지했던 초음파 센서보다는 떨어진다. 하지만 근거리 감지만 필요할 경우는 조금 더 싼 가격에 간섭없이 원하는 기능을 이룰 수 있으므로 더욱 유용하다고 하겠다. 


하지만 주의해야 할 특성이 있는데 짙은색의 물체는 적외선을 반사하지 않아 감지가 안 될 수도 있다. 이 특성을 반대로 이용한다면 라인 트레이서(검은색 라인을 따라가는 장치) 같은 검은색 선을 따라가는 구동체도 만들 수 있지 않을까 싶다.


적외선 장애물 감지센서는 위와 같이 생겼다. TV 리모콘 등에 달려있는 적외선 LED에서 적외선을 쏘게된다. 그 적외선이 물체에 반사되는 것을 포토트랜지스터가 읽어서 장애물을 감지하는 원리이다. 위의 센서에서는 장애물이 감지되면 LED가 점등되어서 알려주게 되어 있다.


연결

센서모듈은 3개의 단자로 이루어져 있다. VCC(5V), GND, OUT 단자이다. 


 아두이노

 적외선 장애물 감지 센서

 5V

 VCC

 GND

 GND

 D4

 OUT



소스

장애물이 감지되면 D12에 연결된 LED가 점등되고 아니면 LED가 꺼진다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int Led = 12// LED 연결단자 설정
int sensorpin = 4// 센서값을 읽을 단자 설정
int val; // 센서값
 
void setup () {
  pinMode (Led, OUTPUT); // LED 단자를 아웃풋으로 설정
  pinMode (sensorpin, INPUT); // 센서값을 인풋으로 설정
}
 
void loop () {
  val = digitalRead (sensorpin); // 센서값을 읽어옴
  if (val == HIGH) { // 장애물 감지 안됨
    digitalWrite (Led, LOW); //LED 끔
  } else {
    digitalWrite (Led, HIGH);
  }
}
cs




반응형

+ Recent posts