반응형
장애물 감지에는 예전에 소개했던 초음파 센서도 쓰이지만 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 |
반응형
'아두이노' 카테고리의 다른 글
[아두이노] 아두이노 나노(호환보드) 구입함 (4) | 2016.04.11 |
---|---|
[아두이노] 인체감지 센서(HC-SR501)의 사용 - PIR 센서 (25) | 2016.04.10 |
[아두이노] 이더넷모듈(ENC28J60)의 사용 - 설정,웹서버,트위터,웹클라이언트 (29) | 2016.03.28 |
[아두이노] 토양습도센서의 사용 (화분 습도 부족 시 경고음 울리기) (4) | 2016.03.28 |
[아두이노] DC 모터의 속도제어(모터드라이버 L298N) 2편 (32) | 2016.03.23 |