文章目录
6.1 使用有源蜂鸣器而不是无源蜂鸣器
6.2 安装蜂鸣器
6.3 使蜂鸣器安静
蜂鸣器(或音调报警器)可用于以声音指示飞行器的状态变化。根据电路板的能力,它可以是一个有源设备(只需要施加电压来产生一个单一频率的音调),如下图所示,或者是一个由 PWM 驱动的无源压电设备,能够产生可变的音乐音调,如上图。有些板子可以使用这两种类型。
如果将能够产生 PWM 的输出端与无源压电体一起使用,它可以播放各种声音(sounds),包括解锁声音、模式改变声音和丢失飞行器警报(在本页(this page)搜索"丢失旋翼飞机警报",在 RCx_OPTION 中搜索"丢失固定翼",例如 RC5_OPTION,或在辅助功能(Auxiliary Functions)中搜索"丢失无人车")。
!Note
为了使用无源压电蜂鸣器来播放音乐通知音,自动驾驶仪固件必须在其构建定义中定义该功能到一个带有定时器的引脚。这不是用户可以通过参数设置添加的功能,不像使用有源单音蜂鸣器那样通过指定任何具有 GPIO 功能的引脚 NTF_BUZZ_PIN。
!Note
一些自动驾驶仪(大多数 1MB 闪存板)只提供了使用有源蜂鸣器的能力,并将提供一套有限的简单蜂鸣声,而不是音乐音来指示 ARM、DISARM 等。有关信息见下一节。然而,有可能创建一个自定义的电路板固件,其中包括音调报警功能。然后,电机输出,可以用来驱动 ArduPilot 全范围内的蜂鸣器,这对于只支持蜂鸣器的板子来说是很方便的。使用的输出必须配置为 SERVOx_FUNCTION = 138 或 = 139,取决于所需的信号极性。
蜂鸣器的选择必须谨慎,因为电机/伺服输出只能提供很小的电流,因此最好使用具有独立电源和放大功能的蜂鸣器,如 HGLRC Soter FPV 无人机蜂鸣器(HGLRC Soter FPV drone buzzer)。选择的蜂鸣器输出需要在一个单独的 PWM 组中,即不能与用于其他功能的输出在同一组中,如 ESC DSHOT。
6.1 使用有源蜂鸣器而不是无源蜂鸣器
有源蜂鸣器可以通过两种方式与无源蜂鸣器的电路板设置一起使用。
首先,有源蜂鸣器可以简单地取代设计用于播放音调警报的自动驾驶仪上的无源压电,注意蜂鸣器的极性(与无源压电蜂鸣器不同,有源蜂鸣器需要以正确的极性连接,才能正常工作)。不过,它将播放所有的声音,可能音量较小,而且没有无源蜂鸣器播放的精确音频。
另外,你可以把 NTF_BUZZ_PIN 设置为一个 GPIO 引脚,比如那些用于继电器控制(relay contro)的引脚,并把一个有源蜂鸣器的负极连接到该引脚,然后把电源(通常是 +5V)加到蜂鸣器的正极。这通常是一些自动驾驶飞机上的"BUZZ"或"BUZZ-"输出引脚的使用方法。
如果使用有源蜂鸣器,NTF_BUZZ_ON_LVL 参数决定了激活它所需的引脚电平。
如果使用一个有源蜂鸣器,它可以指示以下内容:
STATUS | Pattern |
解锁 | 3 sec long Beep |
解锁失败 | Single Beep |
加锁 | Single Beep |
电池失控保护 | Single Beep repeating every 3 sec |
EKF失败 | Beeeep-Beeep-Beep-Beep |
丢失无人机 | Beep-Beep repeating every 3 sec |
!Note
对于许多板子来说,GPIO 引脚号码被分配给 PWM 输出,用于交替使用只能通过查看该板子的 hwdef.dat 文件(here)来找到。
6.2 安装蜂鸣器
如果蜂鸣器放在离自动驾驶仪太近的地方,蜂鸣器发出的声音会影响加速度计,这可能导致蜂鸣器启动时高度保持性能不佳。蜂鸣器最好安装在离自动驾驶仪至少 5 厘米的地方,扬声器(即开孔)不应直接指向自动驾驶仪。
6.3 使蜂鸣器安静
一些自动驾驶仪(如 HobbyKing PixRacer)有内置的蜂鸣器。我们建议通过设置以下参数禁用这些蜂鸣器:
- NTF_BUZZ_TYPES 控制哪些类型的蜂鸣器被启用:引脚驱动的蜂鸣器(内置或外置),和/或基于 ESC 的 DShot;
- 在 4.1 之前的固件中,设置 NTF_BUZZ_ENABLE = 0 以禁用引脚驱动的蜂鸣器。
此外,NTF_BUZZ_VOLUME 可以用来控制音量。