Arduino驱动VL6180X光学测距传感器(OLED显示)
- 简介
- 原理
- 模块参数
- 接线图
- 代码
- 结果
 
简介
VL6108X三合一光电模块,芯片内集成了IR VSEL(vertical-cavity surface-emitting laser)红外垂直腔面发射激光器光源、接近传感器、环境光传感器(ALS)。这是一项突破性的技术,可以独立于目标反射率来测量绝对距离。VL6180不是通过测量物体反射回来的光量来估计距离(这很大程度上受颜色和表面的影响),而是精确地测量光到达最近的物体并反射回传感器所需的时间。
 
原理
VL6180X模块使用飞行时间(ToF)测量原理实现了接近传感器;VL6180X含有SPAD(单光子雪崩二极管)检测器阵列,它能检测单个光子从发射到接触目标然后返回模块的时间,与信号幅度结合计算出实际距离,而不依赖物体的反射率,此实际距离测量能力亦可产生简单但可靠的一维手势控制。
 

模块参数
红外激光器器波长:850nm
 通信接口:IIC(400kHz),地址0x29(7位),两个可编程GPIO
 最佳工作温度:-10~60℃
 测距性能参数:
 测距(接近)范围:0~100mm 误差13mm 某些外部环境条件下,例如黑暗环境下可超过100mm
 温度漂移:9~15mm 电压漂移:3~5mm
 转换时间:15ms
 环境光传感性能参数:
 环境光范围:1~100kLux 16位输出
 环境光增益范围:1~40(八级)
 环境光灵敏度:0.36Lux/count(535nm LED @ 1 kLux. Measured @ gain 20)
 角度响应:42度
 线性误差:5%(1~300Lux),10%(300~7500Lux)
 增益误差:1%(增益20),7%(增益1~10)
接线图
| Arduino | VL6180X | OLED | 
|---|---|---|
| 5V | VCC | VCC | 
| GND | GND | GND | 
| A4 | SDA | SDA | 
| A5 | SCL | SCL | 
代码
#include <Wire.h>
#include "MHEtLive_VL6180X.h"MHEtLive_VL6180X vl = MHEtLive_VL6180X();#include <Adafruit_SSD1306.h>  //1306的库文件
#define OLED_RESET 13                   //设置复位是13号引脚
Adafruit_SSD1306 display(OLED_RESET);
void setup() {Serial.begin(115200);display.begin(SSD1306_SWITCHCAPVCC,0x3C); //刷新display.clearDisplay(); //清屏display.setTextColor(WHITE);   //字体白色display.display();  //显示// wait for serial port to open on native usb deviceswhile (!Serial) {delay(1);}Serial.println("MHEtLive VL6180x test!");if (! vl.begin()) {Serial.println("Failed to find sensor");while (1);}Serial.println("Sensor found!");
}void loop() {float lux = vl.readLux(VL6180X_ALS_GAIN_5);//Serial.print("Lux: "); Serial.println(lux);uint8_t range = vl.readRange();uint8_t status = vl.readRangeStatus();if (status == VL6180X_ERROR_NONE) {  Serial.print("Range: "); Serial.println(range);//*****************************************************display.setTextSize(1);       //字体大小为2号display.setCursor(35,0); display.print("VL6180");display.setCursor(0,12); display.print("Range:");display.print(range);//*****************************************************  }
结果
串口显示:
 
 OLED显示:
