Benewake(北醒) TF-LC02(TTL)雷达在Python上的运用

前言

本例程仅用作参考,目前仅在win10 64位上测试,使用的Python版本为
3.8.6 32bit

Benewake(北醒) TF-LC02产品简要说明

性能参数
在这里插入图片描述
产品图片及尺寸
在这里插入图片描述

Arduino开发板介绍

参考链接:常用Arduino板介绍

Benewake(北醒) TF-LC02 接口及通讯协议说明

接口定义

在这里插入图片描述

串口协议说明

在这里插入图片描述在这里插入图片描述

通讯协议说明

在这里插入图片描述

功能码说明

在这里插入图片描述
在这里插入图片描述

接线示意图

在这里插入图片描述
:线路颜色仅供参考,具体参照实际线路颜色定义

例程说明

Python库需求说明

  • numpy
  • pyserial
    :以下例程因为是自动扫描COM口,建议在使用的时候关闭其它无关的COM口
# -*- coding: utf-8 -*-
# 添加自动扫描COM口的程序 @1
import serial.tools.list_ports #@1 获取COM口列表库
import time
import numpy as np


# @1 start 获取现有COM口程序
ports = serial.tools.list_ports.comports()
for p in ports:
    print(p.device)  #一般会查找最后一个COM口,建议关闭其它无关的COM口后进行测试
print(len(ports), 'ports found')

ser = serial.Serial()
ser.port = p.device  #设置端口
ser.baudrate = 115200 #设置雷达的波特率
cmd = bytes.fromhex('55 AA 81 00 FA') 

def getLidarData():
    while True:
        ser.write(cmd)
        count = ser.in_waiting #获取接收到的数据长度

        if count > 7:
            recv = ser.read(8) #读取数据并将数据存入recv
	    #print('get data from serial port:', recv)
            ser.reset_input_buffer()   #清除输入缓冲区
            if recv[0] == 0x55 and recv[1] == 0xAA and recv[7] == 0xFA:  # python3
                distance = np.int16(recv[5] + np.int16(recv[4] << 8))
                print('distance = %5d mm' % (distance))
                ser.reset_input_buffer()
                time.sleep(0.005) #50ms
        else:
            time.sleep(0.005) #50ms

if __name__ == '__main__':
 	try:
		if ser.is_open == False:
			try:
				ser.open()
			except:
				print('Open COM failed!')
		getLidarData()
	except KeyboardInterrupt:  # Ctrl+C
		if ser != None:
			ser.close()

运行结果显示

在这里插入图片描述

附录

已生成EXE文件,可直接打开测试
在这里插入图片描述
按上面介绍的接线方式接好后直接双击:
链接: https://pan.baidu.com/s/1g2juQx42QmY71aFwGK6YKA 提取码: cpju

测试结果
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值