1,说明

MB1242是原版超声波模块

GYUS42是淘宝国产模块,使用同上。

默认I2C地址是0xE0

如果要使用多个超声波,要设置不一样的地址。模块说明手册要求最低位只能为0。

PX4源码里面,超声波代码部分是从0xE0开始递减的遍历所有I2C地址。

https://github.com/PX4/PX4-Autopilot/blob/55563eba49f87624d7b73356ea3d421fee7ec081/src/drivers/distance_sensor/mb12xx/mb12xx.cpp

我第一次设置了比0xE0大的地址,所以只能识别到0xE0.

所以后来修改为0xE0,0xDE,0xDC,0xDA

模块标的地址要除以2,才能填写到MP当中,因为模块地址是8bit,但是MP的地址是7bit
所以:E0=0x70=112,DE=0x6F=111,DC=0x6E=110,DA=0x6D=109

RNGFND1_ADDR=112
RNGFND1_TYPE=2 MaxbotixI2C
RNGFND1_MIN_CM=20
RNGFND1_MAX_CM=700 (最大7.2M)(单位厘米)
RNGFND1_POS_X(单位米)
RNGFND1_POS_Y(单位米)
RNGFND1_POS_Z(单位米)
RNGFND1_ORIENT 测距仪方向
RNGFND1_GNDCLEAR 测距仪到地面的距离(以厘米为单位)