Sparkfun出售的TFMini激光雷达驱动器
tfmini的Python项目详细描述
tfmini
使用量
读取传感器返回以米为单位的范围。
from__future__importdivision,print_functionimporttimefromtfminiimportTFmini# create the sensor and give it a port and (optional) operating modetf=TFmini('/dev/tty.usbserial-A506BOT5',mode=TFmini.STD_MODE)try:print('='*25)whileTrue:d=tf.read()ifd:print('Distance: {:5}'.format(d))else:print('No valid response')time.sleep(0.1)exceptKeyboardInterrupt:tf.close()print('bye!!')
- TFmini(port, mode=5, retry=25):构造函数接受多个输入
- port:串行端口传感器也已连接
- mode:标准(default)或十进制模式
- retry:驱动程序应该在串行端口中搜索数据包头多少次。这只适用于标准模式。
- read():在任何模式下,以米为单位返回距离
- TFmini.strength:在标准模式下,每个包都包含返回的ir强度级别。在十进制模式下,这是不存在的,并且总是设置为-1。
标准(包)模式
在此模式下,数据包从传感器发送:
packet = [0x59, 0x59, distL, distH, strL, strH, reserved, integration time, checksum]
其中前两个字节0x59, 0x59是头,每个包都有一个 校验和以确保数据包是有效的数据。
十进制(字符串)模式
在这种模式下,传感器有时会返回错误的值,因为 串行端口上的ascii字符串读取错误。没有错误检查 在这种模式下。
Distance: 2.96 Distance: 2.96 Distance: 96.0 <<< Error Distance: 2.95 Distance: 2.95 Distance: 2.96
麻省理工学院许可证
版权所有(c)2018 Kevin Walchko
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的拷贝或大部分。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件。