前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VL53L0X激光测距传感器.Arduino使用篇

VL53L0X激光测距传感器.Arduino使用篇

作者头像
云深无际
发布于 2020-12-15 09:58:14
发布于 2020-12-15 09:58:14
4.4K00
代码可运行
举报
文章被收录于专栏:云深之无迹云深之无迹
运行总次数:0
代码可运行

这里因为DF家的demo是Arduino的,我这里就先用Arduino做演示~后面用手头别的开发板来演示.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/DFRobot/DFRobot_VL53L0X

下载库,我这里解压了.建议个人使用不解压

解压的样子,h+cpp+ino.标配,这里还有数据手册

接下来导入库,以驱动传感器

  1. 项目
  2. 加载
  3. 添加.zip库

刚刚在GitHub下载的文件,不要解压.zip文件

左下角提示成功

我们在看库,成功导入

点击过以后,在当前ino引入头文件

example也有一个了

就是它

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*!
 * @file DFRobot_VL53L0X.ino
 * @brief DFRobot's Laser rangefinder library
 * @n The example shows the usage of VL53L0X in a simple way.

 * @copyright  [DFRobot](http://www.dfrobot.com), 2016
 * @copyright  GNU Lesser General Public License
 
 * @author [LiXin]
 * @version  V1.0
 * @date  2017-8-21
 * @https://github.com/DFRobot/DFRobot_VL53L0X
 timer*/
#include "Arduino.h"
#include "Wire.h"
#include "DFRobot_VL53L0X.h"

/*****************Keywords instruction*****************/
//Continuous--->Continuous measurement model
//Single------->Single measurement mode
//High--------->Accuracy of 0.25 mm
//Low---------->Accuracy of 1 mm
/*****************Function instruction*****************/
//setMode(ModeState mode, PrecisionState precision)
  //*This function is used to set the VL53L0X mode
  //*mode: Set measurement mode       Continuous or Single
  //*precision: Set the precision     High or Low
//void start()
  //*This function is used to enabled VL53L0X
//float getDistance()
  //*This function is used to get the distance
//uint16_t getAmbientCount()
  //*This function is used to get the ambient count
//uint16_t getSignalCount()
  //*This function is used to get the signal count
//uint8_t getStatus();
  //*This function is used to get the status
//void stop()
  //*This function is used to stop measuring

DFRobotVL53L0X sensor;


void setup() {
  //initialize serial communication at 9600 bits per second:
  Serial.begin(115200);
  //join i2c bus (address optional for master)
  Wire.begin();
  //Set I2C sub-device address
  sensor.begin(0x50);
  //Set to Back-to-back mode and high precision mode
  sensor.setMode(Continuous,High);
  //Laser rangefinder begins to work
  sensor.start();
}

void loop() 
{
  //Get the distance
  Serial.print("Distance: ");Serial.println(sensor.getDistance());
  //The delay is added to demonstrate the effect, and if you do not add the delay,
  //it will not affect the measurement accuracy
  delay(500);
}

这个就是例子,我放到这里了

这个是一个Arduino的板子

I2C的线连接在这里

DF家的板子4口做在了一起,比较方便.用其他的开发板时注意连线

测试数据表(单位:mm)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <DFRobot_EINK.h>

DFRobotVL53L0X sensor  //创建一个VL53L0X对象
/*
   @函数功能:设置测距模式。
   @参数1 mode: 测距模式。
       Single: 单次测距。
       Continuous: 连续测距。
   @参数2 precision: 测量精度
       High: 高精度(0.25mm)。
       Low: 标准精度(1mm)。
*/
void setMode(uint8_t mode, uint8_t precision);
/*
   @函数功能:开始测量距离。
*/
void start();
/*
   @函数功能:停止测量。
*/
void stop();
/*
   @函数功能:获取距离。
*/
uint16_t getDistance();
/*
   @函数功能:获取环境量。
*/
uint16_t getAmbientCount();
/*
   @函数功能:获取信号数。
*/
uint16_t getSignalCount();

在传感器封装库的头文件里面有api的列表

cpp文件时具体实现

我这里第一次选的5V,没有出现结果.第二次是3.3V出结果了

注意I2C的连接位置

也可以绘图看

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
VL53L0X激光测距传感器.ESP32使用篇
将ESP32与Arduino IDE搭配使用时,默认的I2C引脚为 GPIO 22 (SCL)和 GPIO 21 (SDA)
云深无际
2020/12/15
3.1K0
VL53L0X激光测距传感器.ESP32使用篇
VL53L0X激光测距传感器.Mind+使用篇
const char *c_str(); c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。
云深无际
2020/12/15
1.5K0
VL53L0X激光测距传感器.Mind+使用篇
激光测距芯片VL53L0X的使用与代码
采用940nm垂直腔面发射激光器(Vertical-Cavity Surface-Emitting Laser,简称VCSEL)发射出激光,激光碰到障碍物后反射回来被VL53L0X接收到,测量激光在空气中的传播时间,进而得到距离。VCSEL相关知识
全栈程序员站长
2022/09/05
2.1K0
激光测距芯片VL53L0X的使用与代码
VL53L0X+stm32激光测距
最近学习stm32单片机,用VL53L0X这个传感器进行开发,花了不少时间和精力,写这个博客一个是为了记录自己的学习过程另外一个是感谢网上各位网友的帮助。我一直秉持分享的精神同时取之大众馈之大众。谨用这篇博客感谢各位的帮助。
全栈程序员站长
2022/08/22
1.2K0
VL53L0X激光测距传感器.介绍篇
VL53L0X集成了一个领先的SPAD阵列(单光子雪崩二极管),并内嵌ST的第二代FlightSense™专利技术。 VL53L0X的940nm VCSEL发射器(垂直腔面发射激光器)完全不为人眼所见,加上内置的物理红外滤光片,使其测距距离更长,对环境光的免疫性更强,对盖片的光学串扰具有更好的稳定性。
云深无际
2020/12/15
3.7K3
VL53L0X激光测距传感器.介绍篇
STM32Cube-15 | 使用硬件I2C读写温湿度传感器(SHT30)
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设,读取SHT30温湿度传感器的数据并通过串口发送。
Mculover666
2020/07/16
5.5K1
STM32Cube-15 | 使用硬件I2C读写温湿度传感器(SHT30)
Arduino安装目录探秘.1
我们也可以看看这个ISP就是烧写AVR芯片进Bootloader,出现了这个Arduino.h的头文件.我们来研究一下(之后重点研究)
云深无际
2020/12/03
1.1K0
Arduino安装目录探秘.1
BME280传感器与STM32 Blue Pill连接并使用STM32CubeIDE
在本教程中,我们将学习如何将 BME280 传感器与 STM32 Blue Pill 连接,并使用 HAL 库在 STM32CubeIDE 中对其进行编程。首先,我们将简要介绍 BME280 传感器,然后将其与我们的 STM32 接口,并使用 STMCube IDE 对其进行编程以测量温度、压力和湿度。为了演示,我们将 SSD1306 OLED 与 STM32 Blue Pill 连接以查看 OLED 上的传感器数据。
IDC科技
2023/02/21
1.6K0
BME280传感器与STM32 Blue Pill连接并使用STM32CubeIDE
基于小熊派光强传感器BH1750实践(multi_timer+状态机工程应用)
实践光强传感器的开发,我们需要带上一个扩展模块:E53_SC1,如下图所示,最终连接的效果:
杨源鑫
2020/05/21
1.4K0
STM32读取SHT3x系列温湿度传感器,标准库和HAL库
STM32读取SHT3x系列(SHT30、SHT31、SHT35)温湿度传感器的数据并显示在0.96寸OLED屏上。
zeruns
2023/03/03
1.6K0
STM32读取SHT3x系列温湿度传感器,标准库和HAL库
【开发者成长激励计划-基于TencentOS Tiny 的室内空气质量监测】
近年来,清洁的室内空气成为诸多重视健康生活人士的新需求。评价室内空气质量的重要指标有2个:VOC(挥发性有机化合物):VOC 是在室温或更高温度下蒸发的含碳物质。短期接触会导致刺激、头晕或哮喘恶化;长期接触则可能会导致肺癌或损害肝脏、肾脏或神经系统。温湿度:40-60%的相对湿度是人类理想的舒适度范围。极度干燥的空气会刺激呼吸道,而过分潮湿的空气会导致冷凝,进而引发霉菌滋生,其他影响可能包括头痛甚至偏头痛。改善室内空气质量有两种方式:通风和净化。对于家庭或小型封闭空间而言,如果周围的室外空气干净,理想选择是打开窗户或使用智能通风系统进行通风。室内空气质量的监测数据可用于配置空气净化系统或智能管理通风系统,本文基于CH32V307开发板利用腾讯云物联网平台IoT Explorer 和腾讯连连小程序开发了能够实时监测室内空气质量的应用。
用户9804800
2022/08/10
4530
M5ATOMS3基础02传感器MPU6886
(MPU6886)6轴IMU单元是带有3轴重力加速度计和3轴陀螺仪的6轴姿态传感器,可以实时计算倾斜角度和加速度。该芯片采用mpu6886,具有16位ADC,内置可编程数字滤波器和片上温度传感器,采用I2C接口(addr:0x68)与上位机通信,并支持低功耗模式。
zhangrelay
2023/07/27
4950
M5ATOMS3基础02传感器MPU6886
Arduino读取DHT11,DHT22,SHTC3温湿度数据
本文章讲解使用NodeMcu开发板读取DHT11、DHT22、SHTC3这三个温湿度传感器的数据并发送至串口。各传感器我都写了使用第三方库和不用第三方库的例程。
zeruns
2020/05/21
3K0
Arduino读取DHT11,DHT22,SHTC3温湿度数据
STM32Cube-12 | 使用硬件I2C读写环境光强度传感器
本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设读取环境光强度传感器数据(BH1750)。
Mculover666
2020/07/16
1.6K0
STM32Cube-12 | 使用硬件I2C读写环境光强度传感器
STM32使用硬件I2C读取SHTC3温湿度传感器并显示在0.96寸OLED屏上
STM32使用硬件I2C读取SHTC3温湿度传感器的数据并显示在0.96寸OLED屏上
zeruns
2022/12/17
1.4K0
STM32使用硬件I2C读取SHTC3温湿度传感器并显示在0.96寸OLED屏上
让传感器数据更直观之LCD曲线显示
前阵子公司有一个基于毒品检测的项目需要做一个曲线显示的功能,由于这块是我的技能短板,因为我之前搞软件的应用,逻辑,框架,架构设计这块比较多,而我师弟在底层方面非常精通,所以把这一块核心的功能交给了我师弟,让他帮忙来实现基本的库,然后我基于他的库完成产品所需要的功能。
杨源鑫
2020/11/25
1.6K0
让传感器数据更直观之LCD曲线显示
超声波传感器模块
超声波传感器有很多种类的型号:HC-SR04、UC-025、UC-026、UC-015、US-100等等,但是他们都大同小异。他们的主要区别是工作参数有点不一样,像是工作的电压或者温度,探测距离或精度有点差别。引脚是一样的,都是4个引脚(us-100多了一个GND引脚),引脚的工作和作用也是一样的。
破晓的历程
2025/05/14
1150
超声波传感器模块
STM32软件I2C读取AM2320温湿度传感器数据
STM32单片机使用软件IIC读取AM2320温湿度传感器的数据并显示在0.96寸OLED屏上。
zeruns
2022/12/17
8380
STM32软件I2C读取AM2320温湿度传感器数据
STM32单片机读取AHT10温湿度传感器数据
STM32使用硬件IIC读取AHT10温湿度传感器的数据并显示在0.96寸OLED屏上。
zeruns
2022/12/17
9930
STM32单片机读取AHT10温湿度传感器数据
STM32CubeMX | | 使用小熊派玩转颜色识别传感器(纯手工打造E53传感器模块)
我买来做颜色识别传感器的模块是TCS34725,如下图所示(相关资料和本文demo请滑到文末通过clone我的码云仓库链接获取):
杨源鑫
2021/07/30
1.5K0
STM32CubeMX | | 使用小熊派玩转颜色识别传感器(纯手工打造E53传感器模块)
推荐阅读
相关推荐
VL53L0X激光测距传感器.ESP32使用篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验