Arduino驱动VL53L0X V2激光测距(串口输出)

  • 一、简介
  • 二、使用前准备
  • 三、测试方法
  • 四、实验现象
  • 总结

一、简介

激光测距传感器模块功耗小,体积小,安装方便。它是根据红外LED发光,照射到被测物体后,返回光经过MCU接收,MCU计算时间差得到距离,直接输出距离值。
VL53LOX是新一代完全集成的传感器,配有嵌入式红外、人眼安全激光,先进的滤波器和超高速光子探测阵列,测量距离更长,速度和精度更高。
激光测距传感器的感测能力可以支持各种功能,包括各种创新用户界面的手势感应或接近检测,扫地机器人、服务性机器人的障碍物探测与防撞系统,家电感应面板、笔记本电脑的用户存在检测或电源开关监控器,以及无人机和物联网产品等。

原理框图

VL53LOX进行IIC通讯地址说明

VL53LOX读写说明



引脚说明

名称 描述
VIN 电源3~5V
GND 接地
SCL IIIC串行时钟线
SDA IIC串行数据线
GPIO1 中断
XSHUT 复位

二、使用前准备

点击图片购买 VL53L0X V2激光测距模块 激光测距传感器 ToF飞行时间测距

点击图片购买 原装正版Arduino uno r3开发板

点击图片购买 USB2.0打印机数据线高速方口连接转接线 A公对B公

点击图片购买 杜邦线

VL53L0X V2激光测距模块 激光测距传感器 ToF飞行时间测距 1个
原装正版Arduino uno r3开发板 1个
USB2.0打印机数据线高速方口连接转接线 A公对B公 1条
杜邦线 若干

三、测试方法

用USB2.0打印机数据线高速方口连接转接线与Arduino uno r3开发板连接在一起。Arduino uno r3开发板和VL53L0X V2激光测距模块连接,如下图所示

接线
5V —— VCC
GND —— GND
SCL —— SCL
SDA —— SDA
安装Arduino IDE,打开ArduinoIDE,先安装【IRremote】库,点击【项目】,再点击【新建】,输入代码,如下图所示

最后点击上传,如下图所示

代码如下:

/* This example shows how to get single-shot rangemeasurements from the VL53L0X. The sensor can optionally beconfigured with different ranging profiles, as described inthe VL53L0X API user manual, to get better performance fora certain application. This code is based on the four"SingleRanging" examples in the VL53L0X API.The range readings are in units of mm. */#include <Wire.h>
#include <VL53L0X.h>VL53L0X sensor;// Uncomment this line to use long range mode. This
// increases the sensitivity of the sensor and extends its
// potential range, but increases the likelihood of getting
// an inaccurate reading because of reflections from objects
// other than the intended target. It works best in dark
// conditions.//#define LONG_RANGE// Uncomment ONE of these two lines to get
// - higher speed at the cost of lower accuracy OR
// - higher accuracy at the cost of lower speed//#define HIGH_SPEED
//#define HIGH_ACCURACYvoid setup()
{Serial.begin(9600);Wire.begin();sensor.init();sensor.setTimeout(500);#if defined LONG_RANGE// lower the return signal rate limit (default is 0.25 MCPS)sensor.setSignalRateLimit(0.1);// increase laser pulse periods (defaults are 14 and 10 PCLKs)sensor.setVcselPulsePeriod(VL53L0X::VcselPeriodPreRange, 18);sensor.setVcselPulsePeriod(VL53L0X::VcselPeriodFinalRange, 14);
#endif#if defined HIGH_SPEED// reduce timing budget to 20 ms (default is about 33 ms)sensor.setMeasurementTimingBudget(20000);
#elif defined HIGH_ACCURACY// increase timing budget to 200 mssensor.setMeasurementTimingBudget(200000);
#endif
}void loop()
{Serial.print(sensor.readRangeSingleMillimeters());if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }Serial.println();
}

四、实验现象


程序下载进去之后,显示测量的距离78mm。

总结

注意事项
(1)波特率要选择正确。
(2)要先安装【VL53L0X】库。

Arduino驱动VL53L0X V2激光测距(串口输出)相关推荐

  1. K_A12_022 基于STM32等单片机驱动VL53L0X模块 串口与OLED0.96双显示

    K_A12_022 基于STM32等单片机驱动VL53L0X模块 串口与OLED0.96双显示 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 UART对应程序: IIC对应程序: 四.部分 ...

  2. STM32F103驱动VL53L0X激光测距模块

    STM32F103驱动VL53L0X激光测距模块 简介 引脚定义 STM32F103ZET6开发板与VL53L0X模块接线 测试代码 实验结果 简介 TOF 是飞行时间(Tlme of Flight) ...

  3. android蓝牙串口 hc06,Android手机通过蓝牙模块HC-06连接Arduino串口输出

    通过手机进行通信是可以实现很多遥控功能,虽然距离是比较短,一般是10米,但对于我这种新手做测试,比起买一个几百块的多通道遥控器成本要低很多. 实验目的:用Android实现蓝牙连接通过Arduino串 ...

  4. STM32F103系列驱动MH-Z14A 二氧化碳(CO2)传感器详解,使用串口输出读取(后附免费免积分程序下载链接)

    MH-Z14A 二氧化碳传感器概述         MH-Z14A 二氧化碳气体传感器(以下简称传感器)是一个通用智能小型传感器,利用非色散红外(NDIR)原理对空气中存在的 CO2进行探测,具有很好 ...

  5. MSP432驱动舵机串口输出角度

    MSP432驱动舵机串口输出角度 备注:我用的TI官方launchpad的MSP432P401R开发板 1.舵机需要50Hz基准的PWM,占空比是0.025~0.125.如何产生PWM,当然是定时器了 ...

  6. STM32驱动矩阵键盘串口输出

    原理:矩阵键盘的原理就是分行和列扫描,来获知按键的行数和列数,然后得到按键的键值.(按键按下时) 矩阵原理图 效果视频演示 STM32驱动矩阵键盘串口输出 硬件部分 f103c8t6核心板 4*4矩阵 ...

  7. STM32F103C8T6制作舵机测试仪详细图文教程 | 定时器触发ADC | DMA传输 | PWM输出 | RTC实时时钟 | USART串口输出 | OLED IIC显示

    自主学习STM32已有一周,先实现一个小demo,算是给自己一个动力叭,有目标的学习收获会更多.虽然本科也修了嵌入式课程,但那种走马观花式的学习,最后真正得到的知识实在寥寥无几.个人理解,学习STM3 ...

  8. arduino 步进电机驱动库_一文看懂arduino驱动uln2003操作步进电机的方法

    arduino驱动uln2003操作步进电机的方法 1.网上买的步进电机,很多接线顺序都不对.经过不懈努力查资料,终于找到了能用的接线方式: 电机上的12345针脚,对应着接线端子的42135. 2. ...

  9. Arduino - 驱动HC-SR501 人体红外感应模块

    参考文章: Arduino - 驱动HC-SR501 人体红外感应模块 Arduino 使用人体红外感应模块 HC-SR501 代码如下: /* Arduino 驱动HC-SR501 人体红外感应模块 ...

最新文章

  1. 2021-11-11Object类
  2. 网络协议基础:ARP简析
  3. 数据中心不再有空调、风扇等冷却装置会怎样?
  4. COM 组件设计与应用(六)
  5. java 反射api_Java学习笔记--反射API
  6. BugkuCTF-WEB题你从哪里来
  7. 关于stat命令和时间戳
  8. latex中Winedt和Sumatra PDF互联设置及失效解决
  9. java怎么实现直方图均衡化_直方图均衡化原理与实现
  10. positionViewHolder{a1bbfa3 position=2 id=-1, oldPos=-1, pLpos:-1 no parent}
  11. 综述:三维点云深度学习技术
  12. 银河麒麟服务器操作系统(Kylin) V10 arm64 飞腾/鲲鹏操作系统下载
  13. Java后端程序员都做些什么?
  14. 西华大学副教授评聘条件
  15. 微信公众平台测试号申请
  16. SAP SHDB 录制BDC并程序调用BDC教程
  17. 《卡车模拟驾驶》技术支持
  18. 可以这样理解视觉Transformer模型中patch交互的关系
  19. linux 下的source命令的作用是什么?
  20. 西门子阀门定位器选型注意事项

热门文章

  1. erlang nif 测试
  2. js 实现连续播放多条音频文件
  3. [CareerCup] 18.3 Randomly Generate Integers 随机生成数字
  4. Python实现快递查询-QQ机器人插件
  5. 储成才/李家洋/卜庆云团队联合解码东北水稻育种史,助力水稻精准设计育种...
  6. 计算机可爱的企鹅教案,《可爱的小企鹅》教案
  7. wonderware配置-historian配置导入导出
  8. Labview 串口通信
  9. matlab复数的相位,复数的幅值和相位
  10. 提高效率和质量——生产车间6S管理