文章目录
前言
22.1 带有I2C连接的RGB LEDs/显示器
22.2 串行连接的设备
22.3 NTF LED的含义
前言
外部 LED 或 LED 显示屏可以通过连接到自动驾驶仪的 I2C 端口,或者在 4.0 及以后的版本中,如果是串行编程的设备,可以通过输出使用 SERVOx_FUNCTION 为该输出添加。CANBUS 上的 DroneCAN LED 也被支持(见 DroneCAN Setup)。
!Note
请注意,适用于将输出设置为不同的 PWM 速率和/或 DShot 的分组限制,也适用于 LED,因为与每组输出相关的定时器不能用于不同的速率。参见混合电调协议(Mixing ESC Protocols)。
22.1 带有I2C连接的RGB LEDs/显示器
支持两种类型的 I2C 设备:使用 LED 驱动芯片的 I2C 连接的 RGB LEDS 和 OLED 显示器。
支持的 RGB LEDs /驱动器是:
- Toshiba LEDs (不再生产)
- PCA9685 driver
- NCP5623 driver
支持的 OLED 显示器是 SSH1106 和 SSD1306,128x64 像素的显示器。更多信息见板载显示器(Onboard Display)。
因为大多数用户使用外部 GPS 和指南针模块(GPS and Compass module),所以建议使用 I2C 分流器,如下面所示。NTF_LED_TYPES 参数应设置为所用的控制器类型。
22.2 串行连接的设备
目前,ArduPilot 支持 Neopixel 和 ProfiLED RGB LED 串。它们可以像其他 RGB LED 一样,用于自动驾驶仪的状态和警告的 NTF 通知,或者使用自动驾驶仪 SD 卡上的 LUA 脚本进行无限编程。要使用脚本,必须将输出功能设置为脚本输出功能(94-109),然后脚本将此输出分配给 LED。更多使用 LUA 脚本的例子,请参见 Lua 脚本(Lua Scripts)。
串行 LED 需要一个完整的 PWM 组,关于你的自动驾驶仪的 PWM 组的更多信息可以在它的硬件页面(hardware page)找到。要检查所需的输出是否被正确设置,请在 GCS 的信息标签中寻找 PWM 类型信息。参见 GPIOs。
- NeoPixel
- ProfiLED
!Note
请确保输出被配置为正常的 PWM 而不是 GPIO 输出。带有 IOMCU 的飞行控制器只能使用 AUX 输出来连接串行 LED。要检查所需的输出是否被正确设置,请在 GCS 的信息标签中寻找 PWM 类型信息。参见 GPIOs。
22.3 NTF LED的含义
如果标准默认协议设置为 NTF_LED_OVERRIDE,则颜色和闪烁模式的含义显示在 LED 含义中(LEDs Meaning)。
可以通过修改 NTF_LED_BRIGHT 和 NTF_LED_LEN 来控制 LED 的亮度和数量。