본문 바로가기
아두이노 센서

[센서/레이저 장애물 센서] Waveshare laser sensor , 레이저 장애물 센서

by 작동미학 2020. 7. 15.
반응형

지향성 강한 레이저로 단거리내 장애물 존재 여부를 감지하는 Waveshare laser sensor를 이해한다

 

▶ 이 가이드를 따라하면

- 60cm정도 가까운 범위내의 직선상에 장애물 존재 여부를 정확히 검출하는 레이저 센서를 사용할 수 있다.

 

▶ 기존 읽어보면 좋을 강의

- HC-04 초음파 센서 : https://bbangpan.tistory.com/49

 

▶ 부품 설명 및 회로 구성

 장애물 감지 센서처럼 다양하게 판매되는 아두이노용 센서도 없는데, 그 중에서도 이 센서는 특별하다. 가장 흔히 사용되는 초음파 센서도 어느 정도의 지향성은 있지만 뒤로 갈수록 대상 범위가 부채꼴로 퍼져나간다거나, 5cm 이하 거리는 잘 검출이 되지 않는 등 종잡을 수가 없다지만, 이 레이저 센서는 그런 면에서는 신뢰도가 높다.

 얇은 레이저를 쏘아서 해당 레이저의 빛이 다시 반사되느냐 여부에 따라 01을 출력하는데, 완전히 빛을 흡수하거나 혹은 완전히 다른 방향으로 반사하지 않으면 정확하게 아주 좁은 직선 영역상에서 반응하는게 장점이다. 따로 센서 모델 명은 존재하지 않고 Waveshare laser sensor, 혹은 레이저 장애물 센서로 검색하여 구매 가능한데, 작은 레이저 출력부와 조금 큰 렌즈가 달린 수신부가 인상적이다.

 여러가지 시험해본 결과 완전히 투명하지 않은 금속 표면도 검출이 되며, 어두운 환경이나 밝은 환경 모두 잘 검출된다. 아마도 레이저 수신부가 해당 레이저 파장에만 반응하도록 설계된것 같다. 하지만 거울을 가지고 아예 다른 방향으로 반사시키거나 완전한 흑체이면 신호가 잘 검출되지 않을 때도 있다(하지만 조금이라도 불투명한 낌새가 있다거나, 대부분의 검은색 등은 여지없이 검출된다.) 그러나 정확도 때문에 대략 60cm~70cm를 넘어가면 검출이 되지 않는다. 오히려 애매하지 않고 딱 그 범위를 넘어가면 검출이 되지 않는다. 거울로 조금더 먼거리에서 정확하게 이 수신부 렌즈에 반사시키면 혹시 검출될지도 모르겠다.

 참고로 Waveshare Laser Sensor의 공식 설명 사이트는 https://www.waveshare.com/wiki/Laser_Sensor 이다. 아두이노 샘플 코드는 없으나 다른 정보들은 확인할 수 있다.

[Waveshare Laser Sensor, 레이저 출력부/렌즈 수신부가 보인다. 전원 연결시 PWR LED/레이저에 불이 들어온다]

[배선은 단순해서 Arduino UNO기준으로 VCC->5V, GND->GND, DOUT->D7 정도로 연결한다]

  상기 레이저부의 신호가 수신기에 포착되면 위의 DOUT으로 High or Low signal이 뜨게 된다.

따라서 실행 코드는 별 것 없이 Arduino의 데이터핀 읽기 샘플을 그대로 실행했다. https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/ 참조하자. D7 신호를 읽어서 1 0 각각 아두이노 보드의 LED 껐다켜준다. 장애물 존재 여부를 바로 LED 있는데, 아래 코드를 실행하면 레이저 센서 모듈의 DAT LED 같은 타이밍이 불빛이 바뀌는 것을 있다.

[digital read 샘플코드]

int ledPin = 13;  // LED connected to digital pin 13
int inPin = 7;    // pushbutton connected to digital pin 7
int val = 0;      // variable to store the read value

void setup() {
  pinMode(ledPin, OUTPUT);  // sets the digital pin 13 as output
  pinMode(inPin, INPUT);    // sets the digital pin 7 as input
}

void loop() {
  val = digitalRead(inPin);   // read the input pin
  digitalWrite(ledPin, val);  // sets the LED to the button's value
}

가까운 거리에 정확하게 장애물을 검출할 필요가 있을 때 매우 신뢰성있게 즉시 검출이 가능하다고 판단된다. 다만, 빨간색 레이저가 장애물 표면에 나타나는 정도는 감수할 수 있어야 겠다. 필자의 경우는 오히려 어느 부위에서 닿아 검출되었는지 명확히 판단되는게 좋았다. 그리고 검출시 모듈의 LED가 켜지는 것도 시각적으로 명확한 것도 장점이다.

 

▶ 구매 가이드

Waveshare Laser Sensor : https://www.aliexpress.com/af/waveshare-laser-sensor.html?d=y&origin=n&SearchText=waveshare+laser+sensor&catId=0&initiative_id=SB_20200714064531 ($7전후)

 

강의 키워드

Waveshare Laser Sensor, Laser Obstacle Sensor, 레이저 센서, 레이저 장애물 센서, 아두이노, 레이저 거리 센서

반응형