mirror of
https://github.com/m5stack/m5-docs.git
synced 2026-05-20 10:23:01 -07:00
4.5 KiB
4.5 KiB
Unit TOF {docsify-ignore-all}
📝描述 :octocat:例程 🔌原理图 🛒购买链接
EasyLoader
描述
TOF 是一款激光测距 Unit.集成VL53L0X激光测距模块,通过测量激光信号往返时间,计算发射点与检测对象之间的距离.与传统测距不同的地方在于,无论检测目标的的反射率如何,能够提供精确的距离测量数据.发射940nm波长的激光,能够在不到30ms的时间内测量最大2m的绝对距离.
该 Unit 与 M5Core 通过 Grove A 接口通信,I2C 地址为0x29.
注意: 如果你发现你的ToF Unit存在性能不稳定状况,极有可能是因为旧版本的PCB电路板缺陷导致,下面将为你讲解如何解决这一状况
-
拆解 ToF Unit 查看其内部的PCB板,若内部电路如下图,则表示您的ToF Unit为新版本.
-
若不是新版本,则需要手动拆解两个MOSFET(AO3400A),并参照下图将SCL,SDA直接连接到VL53L0x上.
-
-
VL53L0x的工作电压为3.3V. 因此,请确保SDA与SCL使用电压为3.3V.(M5Core的GROVE接口中的数据引脚提供3.3V,电源引脚提供5V.)
产品特性
- 高精度
- 最大测量距离 2m
- 激光波长: 940nm
- 开发平台: Arduino, UIFlo(Blockly, Python)
- 2x LEGO 兼容孔
套件清单
- 1x ToF Unit
- 1x Grove 线
应用
- 手势识别
- 激光测距
- 3D结构光成像(3D感应)
- 摄像机辅助(超快速自动对焦和景深图)
相关链接
EasyLoader
1.EasyLoader是一个简洁快速的程序烧录器,每一个产品页面里的EasyLoader都提供了一个与产品相关的案例程序.
2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 "Burn" 即可开始烧录
!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),点击此处查看驱动安装教程
例程
1. Arduino IDE
以下代码仅为片段,如需获取完整代码, 请点击此处.
#include <M5Stack.h>
#include <Wire.h>
#define ToF_ADDR 0x29//the iic address of tof
#define SYSRANGE_START 0x00
#define RESULT_RANGE_STATUS 0x14
#define ToF_ADDR 0x29 //the IIC address of ToF
// declaration
uint16_t dist=0;
// initialization
M5.begin();
Wire.begin();// join i2c bus (address optional for master)
// read data
write_byte_data_at(VL53L0X_REG_SYSRANGE_START, 0x01);
read_block_data_at(VL53L0X_REG_RESULT_RANGE_STATUS, 12);//read 12 bytes once
// get distance
dist = makeuint16(gbuf[11], gbuf[10]);//split distance data to variable "dist"
2. UIFlow
以下代码仅为片段,如需获取完整代码, 请点击此处.
原理图
管脚映射
| M5Core(GROVE A) | GPIO22 | GPIO21 | 5V | GND |
| TOF Unit | SCL | SDA | 5V | GND |

