本次实验学习使用VL53L0x模块,
在Arduino下使用ESP8266模组完成实验。线路连接图:
为了快速完成测试,需要安装DFROBOT_VL53L0X支持库
测试代码如下:
/*! * 测试接线: *VL53L0x ESP8266 *---------------------------- *VDD 3.3V *GND GND *SCL D1(GPIO5) *SDA D2(GPIO4) *GPIO1(中断信号) 悬空 *XSHUT(复位) 3.3V *----------------------------- */ #include "Arduino.h" #include "Wire.h" #include "DFRobot_VL53L0X.h" DFRobot_VL53L0X sensor; void setup() { // 初始化串口 Serial.begin(115200); // 启用I2C总线 Wire.begin(); // 传感器地址:固定为0x50 sensor.begin(0x50); // 设置为背对背模式和高精度模式 sensor.setMode(sensor.eContinuous,sensor.eHigh); // 开始工作 sensor.start(); } void loop() { Serial.print("Distance: "); // 获取测试结果并输出 Serial.println(sensor.getDistance()); // 延迟一段时间,避免过度输出 delay(500); }
代码运行的结果表明,VL53L0X模组是没问题的,至少可用。不过作为结果,有一个比较奇怪的地方,就是当用手指堵住传感器时,测试结果为80,预想应该是0啊。除此以外,保持一定距离之外的测试,测量还算正常。