发作品签到
标准版

VL53L1激光测距

工程标签

5.9k
0
0
2

简介

已经打板验证,此模块是ST公司的长距离测距传感器模块,新一代长距离测距飞行时间激光传感器 基于 ST 的 FlightSense™ 技术,超小功率,工作电流微安级别。

简介:已经打板验证,此模块是ST公司的长距离测距传感器模块,新一代长距离测距飞行时间激光传感器 基于 ST 的 FlightSense™ 技术,超小功率,工作电流微安级别。

开源协议

GPL 3.0

创建时间:2021-07-10 15:31:55更新时间:2021-07-21 11:09:36

描述

VL53L1X不同于VL53L0X模块,此模块测算距离四米以内,可以给它加一个模子,增加它的性能,IIC接口,精度较好,但是比较难以焊接,对大家的焊接要求比较高。

 

 

模拟IIC写法如下:

uint8_t VL_IIC_Write_1Byte(uint8_t SlaveAddress, uint16_t REG_Address, uint8_t REG_data)
{
    IIC_start();
    IIC_Send_Byte(SlaveAddress );
    if (IIC_wait_ack())
    {
        IIC_stop(); //释放总线
        return 1;   //没应答则退出
    }
    IIC_Send_Byte(REG_Address >> 8);

    if (IIC_wait_ack()) //等待ACK
    {
        IIC_stop();
        return 1;
    }

    IIC_Send_Byte(REG_Address & 0x00ff);

    if (IIC_wait_ack()) //等待ACK
    {
        IIC_stop();
        return 1;
    }

    delay_ms(1);
    IIC_Send_Byte(REG_data);

    if (IIC_wait_ack()) //等待ACK
    {
        IIC_stop();
        return 1;
    }

    IIC_stop();
    return 0;
}
 
 
 
 
 

uint8_t VL_IIC_Read_1Byte(uint8_t SlaveAddress, uint16_t REG_Address, uint8_t *REG_data)
{
    IIC_start();
    IIC_Send_Byte(SlaveAddress ); //发写命令

    if (IIC_wait_ack())
    {
        IIC_stop(); //释放总线
        return 1;   //没应答则退出
    }

    IIC_Send_Byte(REG_Address >> 8);

    if (IIC_wait_ack())
    {
        IIC_stop(); //释放总线
        return 1;   //没应答则退出
    }

    IIC_Send_Byte(REG_Address & 0x00ff);

    if (IIC_wait_ack())
    {
        IIC_stop(); //释放总线
        return 1;   //没应答则退出
    }

    delay_ms(1);
    IIC_start();

    IIC_Send_Byte(SlaveAddress | 0x01); //发读命令

    if (IIC_wait_ack())
    {
        IIC_stop(); //释放总线
        return 1;   //没应答则退出
    }

    *REG_data = IIC_Read_Byte(0);
    IIC_stop();

    return 0;
}
 
 
测试代码:
 
uint8_t VL_Init(void)
{
    uint8_t res;
    IIC_Init();

    VL_IIC_Read_1Byte(VL_ADDR, module_type, &res);
    if (res == 0xCC) //器件ID正确
    {
        UART_printf(UART0_BASE, "SUCCESS!\n");
          return 1;
    }
    else
    {

        UART_printf(UART0_BASE, "failed!\n");
        
    }
      return 0;
}

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航