匿名
未登录
登录
丢石头百科
搜索
查看“SIngle ToF”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
SIngle ToF
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Product |images=[[File:SIngle ToF_示意图.png|400px]] |categories= {{Category|光传感器}} {{Category|传感器}} |brand=丢石头 |features= * 单点TOF激光测距传感器 |interfaces= {{Category|UART接口}} |related= * [[Laser Sensor]] * [[红外测距传感器]] * [[激光测距传感器模块]] }} == 测距原理 == TOF是Time of Flight的缩写,即飞行时间。具体是指通过周期性的向外发出红外光调制波,当调制波遇到被测目标后反射,然后用传感器接收从被测目标反射回来的调制波。通过测量调制波往返的相位差,可得到飞行时间,从而计算出传感器与物体目标之间的相对距离。示意图如下所示。 [[File:激光测距传感器模块_测距原理.png|360px]] == 引脚说明 == *[[File:SIngle ToF_引脚说明.png|300px]] *[[File:SIngle ToF_引脚说明1.png|600px]] *'''短接TX与RX引脚后上电可实现硬件恢复出厂设置''' == 产品参数 == *[[File:SIngle ToF_产品参数.png|700px]] == 使用说明 == === Modbus协议 === *单点TOF激光测距传感器采用了工业标准Modbus协议,Modbus通信指令分为两种,读命令与写命令, **读命令(0x03):读取相应寄存器数据。 **写命令(0x06):向相应寄存器写入数据。 *具体读写格式如下表: **上位机发送数据帧 **[[File:SIngle ToF_发送格式.png|600px]] **模块回复帧 **[[File:SIngle ToF_接收格式.png|600px]] **示例:读取测量距离 ***发送指令:50 03 00 34 00 01 c8 45 ***接受数据:50 03 02 07 0B 06 7F ***数据解析: ****发送:0x50为Modbus ID(默认),0x03为命令号(读命令),0x34为寄存器地址(测量数据),0x01为读取长度(一位),0xc8 0x45为CRC校验位 ****接收:0x50为Modbus ID(默认),0x03为命令号(读命令),0x02为数据长度(两位),0x07 0x0B为测量数据(0x070B对应的十进制为1803,测量距离为18036mm),0x06 0x7F为CRC校验位。 === Modbus寄存器 === *'''系统恢复''' **寄存器地址:0x00 **发送格式: **[[File:SIngle ToF_寄存器1.png|600px]] **说明(0xXX): ***写入0x01,传感器恢复出厂设置 ***写入0x02,传感器重启 *'''波特率设置''' **寄存器地址:0x04 **发送格式: **[[File:SIngle ToF_寄存器2.png|600px]] **说明(0xXX): ***写入0x00,设置波特率为2400 ***写入0x01,设置波特率为4800 ***写入0x02,设置波特率为9600 ***写入0x03,设置波特率为19200 ***写入0x04,设置波特率为38400 ***写入0x05,设置波特率为57600 ***写入0x06,设置波特率为115200(默认) ***写入0x07,设置波特率为230400 ***写入0x08,设置波特率为460800 ***写入0x09,设置波特率为921600 *'''Modbus ID设置''' **寄存器地址:0x1A **发送格式: **[[File:SIngle ToF_寄存器3.png|600px]] **说明(0xXX): ***写入范围为0x00~0xFE,出厂设置默认为0x50 *'''测量数据''' **寄存器地址:0x34 **发送格式: **[[File:SIngle ToF_寄存器4.png|600px]] **说明: ***读取数据高8位与距离低8位 *'''系统模式''' **寄存器地址:0x38 **发送格式: **[[File:SIngle ToF_寄存器5.png|600px]] **说明(0xXX): ***写入0x00,传感器进入串口打印模式,直接打印字符串。 ***写入0x01,传感器进入Modbus模式(默认)。 ***写入0x02,传感器进入校准模式,校准完成后自动恢复为Modbus模式。 === 上位机 === *'''硬件准备:'''Single ToF模块、USB转TTL模块、电脑 *'''硬件连接:''' **[[File:SIngle ToF_上位机1.png|600px]] *'''使用步骤''' **将Single ToF接入USB转TTL模块的接口,将接好线的USB转TTL模块插入电脑USB接口,打开[[:File:SIngle ToF_windows上位机.zip|上位机]]软件。 **点击上位机软件中的 ''刷新串口'' ,然后选择模块对应的端口号,选择好端口号都点击 ''连接'' 。此时右侧的对话框内会出现 ''串口打开成功'' 字样。 **[[File:SIngle ToF_上位机2.png|400px]][[File:SIngle ToF_上位机3.png|400px]] **点击左下角的 ''添加设备'' ,在出现的对话框内需要输入模块ID(默认ID为0x50),然后点击 ''OK''。 **[[File:SIngle ToF_上位机4.png|400px]][[File:SIngle ToF_上位机5.png|400px]] **设置ID成功后会弹出新的界面出来用来查看测量距离以及对模块进行设置,同时主界面的右侧会出现 ''添加设备成功 ID:0x50'' 字样。 **[[File:SIngle ToF_上位机6.png|600px]] *'''校准:''' **连接模组。 **将模组放在距离白纸10cm的位置,点击 ''校准'' 按钮,校准对应ID的模组。 **[[File:SIngle ToF_上位机7.png|300px]] *'''设置ID:''' **连接模组。 **点击 ''设置ID'' 按钮,填入新的ID,范围01~fe,十六进制。 **重启模组生效,生效后需要用新ID重新连接模组。 **[[File:SIngle ToF_上位机8.png|300px]] *'''恢复出厂:''' **连接模组。 **点击 ''恢复出厂'' 按钮。 **模组重启生效,生效后需要用默认ID(50)重新连接模组。 **恢复出厂后会清除校准参数,需重新校准。 **[[File:SIngle ToF_上位机9.png|300px]] *'''重启:''' **连接模组。 **点击 ''重启'' 按钮,对应ID的模组会重启。 **[[File:SIngle ToF_上位机10.png|300px]] === Arduino === *'''硬件准备:'''Single ToF模块、Arduino *'''硬件连接:''' **[[File:SIngle ToF_arduino1.png|600px]] *'''使用步骤:''' **将Single ToF接入Arduino的接口,将接好线的Arduino接入电脑。 **用Arduino IDE打开代码,并选择对应的板型和串口号。 **[[File:SIngle ToF_arduino2.png|400px]] **根据实际传感器与arduino的硬件连接修改传感器连接的串口的IO口编号。 **[[File:SIngle ToF_arduino3.png|600px]] **根据实际情况修改传感器数量和传感器ID **[[File:SIngle ToF_arduino4.png|800px]] **编译和上传 **打开串口监视器,波特率选择115200,观察结果。 **[[File:SIngle ToF_arduino5.png|600px]] === 树莓派 === *硬件准备:Single ToF模块、树莓派 *硬件连接: *[[File:SIngle ToF_树莓派1.png|600px]] *使用步骤 **给SD卡烧录好树莓派系统,并将例程拷贝到树莓派的系统文件内。 **将Single ToF接入树莓派的接口,将烧录好系统的SD卡插入树莓派。 **打开树莓派串口功能。 **根据实际硬件连接情况在PC端修改代码中的传感器数量和传感器ID。 **[[File:SIngle ToF_树莓派2.png|600px]] **跳转到例程所在文件的位置,使用gcc编译 <pre> sudo gcc vl53_tof.c -o vl53_tof </pre> :*[[File:SIngle ToF_树莓派3.png|800px]] :*执行编译生成的可执行文件,观察结果 <pre> sudo ./vl53_tof </pre> :*[[File:SIngle ToF_树莓派4.png|600px]] == 产品资料 == *[[:File:SIngle ToF_windows上位机.zip|上位机]] *[[:File:SIngle ToF_arduino例程.zip|Arduino例程]] *[[:File:SIngle ToF_树莓派例程.zip|树莓派例程]] == FAQ == {{Service00}}
该页面使用的模板:
模板:Category
(
查看源代码
)
模板:Product
(
查看源代码
)
模板:Service00
(
查看源代码
)
模板:Tag
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
返回至
SIngle ToF
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志