HC-SR04 声纳测距仪

HC-SR04 声纳是一种价格低廉但射程很短(最远只有 2 米)的测距仪,主要设计用于室内,但也成功地在室外的 Copter 上使用过。极短的测距范围使其用途有限。

../_images/hcsr04.jpg

警告

RNGFNDx_MAX_CM 必须设置为经过测试的适当值。如果 RNGFNDx_MAX_CM 如果设置为大于 2 米,(飞行)控制器将无法正确响应所提供的数据。

与(飞行)控制器连接

两个 GPIO 触发器引脚(启动声纳脉冲)和回声引脚(表示接收到回声)都需要 PWM 输出。这些引脚可以是 PWM 输出,如果 BRD_PWM_COUNT 或(飞行)控制器有专用 GPIO 输出(请参阅(飞行)控制器的 描述 或数据表)。

备注

在固件 4.2 及更高版本中,将 PWM/SERVO/MOTOR 输出设置为 GPIO 功能的方法有所改变。而不是 BRD_PWM_COUNT 个人 SERVOx_FUNCTION 参数仅设置为"-1"。如果设置为 "0",则仍为 PWM 输出,未指定功能,并在电路板安全未激活时输出该输出的微调值。如果舵机功能被 "镜像 "到远程设备(如 DroneCAN 或 KDECAN ESC),那么要将自动驾驶板的相应输出引脚改为 GPIO,但允许 SERVOx_FUNCTION 仍分配给远程设备,则 servo_gpio_mask 参数可用于将电路板引脚指定为 GPIO,而不影响 SERVOx_FUNCTION 远程设备的分配。

设置为第一个测距仪。设置参数后重新启动:

  • RNGFND1_MAX_CM = "200"(即最大范围 2 米)

  • RNGFND1_MIN_CM = "20"(即最小量程为 20 厘米)

  • rngfnd1_stop_pin = 输入连接到 HC-SRO4 "触发器 "引脚的 GPIO 编号。例如,在 PixHawk 上使用 BRD_PWM_COUNT = 4,这里可以使用 AUX6(GPIO 55),下面可以使用 AUX5(GPIO54)。

  • RNGFND1_PIN = 输入连接到 HC-SRO4 "回声 "引脚的 GPIO 引脚编号。

  • RNGFND1_TYPE = "30" (HC-SR04 声纳)

  • RNGFND1_ORIENT 如果用于高度控制,则 ="25"(向下)。