VL53L0X驱动使用要点(Arduino ESP32环境使用多个I2C总线)

VL53L0X是TOF(Time Of Flight)传感器,字面上就是测量光线(激光)传播(飞行)的时间,来计算传感器到障碍物之间的距离的,就是下面这个小东西。

 记录Arduino下使用它的几个要点。

一、所使用的库

有现成的库,库中搜索VL53L0X能找出来第三方的库(Vl53L0X by Pololu)。库写的挺好的,基本就是拿来就能用的那种。

二、使用中遇到的问题

该库有一个问题,其依赖于I2C库Wire.h,项目使用的时候,如果要多个I2C总线,库中没有说明怎么整。所以不得不研究下Arduino环境ESP32使用多条I2C总线的问题。

I2C总线有2种驱动方式,一种是硬件I2C,一种是软件I2C,这个在之前的一篇文章(micropython下如果使用ESP32的硬件I2C总线驱动OLED屏幕)中讲到过,关于区别可自行研究一下。

micropython使用了颇长时间,写代码挺高效的,但是后来遇到了LVGL移植的瓶颈,不得不放弃了micropython转而使用Arduino。

1.ESP32是有两条硬件I2C总线的,乐鑫提供的Wire库是直接调用硬件I2C的库

软件I2C驱动的方式,乐鑫并没有提供,Arduino第三方库中能搜到一些软件I2C的库,可自行移植,不是本文重点。

2.Wire库中其实直接把两条I2C总线对象给了出来

打开Wire.h,最后几行的定义能看到:

extern TwoWire Wi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值