[센서/VL53L0X] 레이저 기반의 거리 센서
다양한 거리 측정기 중 레이저 기반의 센서를 활용해보자
▶ 이 가이드를 따라하면
- 초음파 거리센서와 또다른 레이저 기반의 정확한 센서를 제어할 수 있다.
▶ 먼저 읽으면 좋은 글
- 아두이노 기초 : http://bbangpan.tistory.com/1
- 초음파 센서 : http://bbangpan.tistory.com/49
▶ 부품 설명 및 회로 구성
이 센서는 초음파 센서와 다르게 보이지 않는 레이저를 쏘아 날아오는 거리를 측정한다. 상당히 정밀하며 그 특성에 따라 매우 좁은 영역의 거리를 측정한다(영역이 그렇게 매우 작지는 않다. 초음파가 주먹정도 영역이면, 이녀석은 손가락 정도).
모듈 이름은 GYVL53L0XV2인데, 실제로는 https://learn.adafruit.com/adafruit-vl53l0x-micro-lidar-distance-sensor-breakout/overview 이 모듈을 모델로 한다. 측정 거리는 대략 3cm~1.2m정도 된다.
<GYVL53L0XV2 모듈, 앞뒷면>
I2C사용을 위한 연결은 단순해서 GND->GND, VIN->5V, SDA->SDA, SCL->SCL만 해주면 된다.
<4개의 PIN을 연결했을 때 그림 >
▶ 라이브러리 설치
Adafruit의 라이브러리를 사용하면 되면, 어떤 버전에서는 Wire.h가 꼬이는 현상이 있었다. (Not Found 오류), 따라서 https://github.com/pololu/vl53l0x-arduino 를 추천한다.
Download zip(Clone or download버튼)를 선택받아 다운받은 후 Arduino설치폴더\libraries에 압축을 푼다.
▶ 소스 코드 입력 및 구동
아래는 라이브러리 설치 후 파일->예제->VL53L0X -> Continuous를 선택하여 컴파일 구동한다.
컴파일 실행 후 시리얼 모니터로 보면 아래와 같이 나온다(mm단위)
해당 센서 앞뒤로 손가락을 움직이면서 감지 범위를 확인해보자. 꽤 정밀하게 좁은 범위만 측정해줌을 알 수 있다.
▶ 구매 가이드
VL53L0X : https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20170608080604&SearchText=vl53l0x ($8)
▶ 강의 키워드
VL53L0X, laser ranging sensor, time of flight, GYVL53L0XV2, arduino