问题描述
我需要使用 Arduino Nano 从 I2C 中的激光雷达读取距离数据。目前,这是我编写的代码。
unsigned int readdistance()
{
unsigned int dist = 0 ; // LiDAR actually measured distance value. static so we can return prevIoUs dist
// step 1: instruct sensor to read echoes
Wire.beginTransmission(0x10) ; // transmit to device 0x10
Wire.write(2) ; // sets distance data address (addr)
Wire.write(3) ; // sets distance data address (addr)
Wire.endTransmission() ; // stop transmitting
// step 2: wait for readings to happen
delay(100) ; // datasheet suggests at least 100ms
// step 3: request reading from sensor
Wire.requestFrom(0x10,2) ; // request 2 bytes (disT_L,disT_H) from slave device #0x10
dist = Wire.read() ; dist += Wire.read() << 8; // calculate distance value,bit shift high distance
return dist ; // return updated dist
}
但我感觉我从错误的数据地址请求',因为我没有得到我期望的结果(即变化的距离数据)。此外,我使用了一个 I2C 扫描仪,它 100% 确认激光雷达位于(默认地址)0x10 上。
(TF02 Pro)的数据表:https://www.unmannedtechshop.co.uk/wp-content/uploads/2020/01/TF02-Pro-Product-Manual-Alpha.pdf
问题:我是否从正确的数据地址读取 任何帮助将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)