跳转至

gy53l1 - gy53l1激光测距传感器

示例

测量说明:
测量范围:5-4000mm(可选择短、中、长测量模式)
单次测量:测量一次后需要重新发送单次输出距离数据指令

--注意:因使用了sys.wait()所有api需要在协程中使用
-- 用法实例
gy53l1=require"gy53l1"
local uart2=2
sys.taskInit(function()

    sys.wait(2000)
    --初始化
    gy53l1.init(uart2)

    --设置模式,不设置为默认模式,设置模式要有一定的间隔时间
    sys.wait(1000)
    gy53l1.mode(uart2,gy53l1.measuring_short)
    sys.wait(1000)
    gy53l1.mode(uart2,gy53l1.measuring_time_1)

    local data,mode,time
    while true do
        sys.wait(100)
        --设置单次测量,设置一次返回一次值
        --gy53l1.mode(uart2,gy53l1.out_mode_query)

        data,mode,time=gy53l1.get()
        log.info('距离',data,'模式',mode,'时间',time)
    end
end)

gy53l1.init(id)

gy53l1初始化

参数

传入值类型 解释
number id 串口id

返回值

返回值类型 解释
bool 成功返回true失败返回false

例子

gy53l1.init(2) 

gy53l1.mode(id,mode)

gy53l1设置工作模式

参数

传入值类型 解释
number id 串口id
string mode 可选择配置模式

返回值

返回值类型 解释
bool 成功返回true失败返回false

例子

gy53l1.mode(2,gy53l1.save)--掉电保存当前配置
gy53l1.mode(2,gy53l1.measuring_time_3)--测量时间 300ms
gy53l1.mode(2,gy53l1.measuring_long)--测量距离选择

gy53l1.get()

gy53l1获取数据

参数

返回值

返回值类型 解释
number data 距离数据
number mode 当前测量模式
number time 当前测量时间

例子

local data,mode,timer=gy53l1.get()
log.info("距离",data,"模式",mode,"时间",timer)