一、开发原理
1. 硬件原理
-
LED 电路设计:
状态指示灯通常采用 RGB 三色 LED,通过 PWM 控制亮度实现多种颜色显示。- 共阳极接法:LED 阳极接 VCC,阴极通过限流电阻(如 220Ω)接 STM32 引脚。
- 共阴极接法:LED 阴极接 GND,阳极通过限流电阻接 STM32 引脚(需输出高电平点亮)。
-
STM32H7 GPIO 特性:
- 支持推挽输出(Push-Pull)和开漏输出(Open-Drain)模式。
- 输出速度可配置(低 / 中 / 高 / 非常高),LED 控制建议选择中速(25MHz)。
- 部分引脚支持复用功能(如 TIMx_CHx),可用于 PWM 输出。
-
PWM 调光原理:
通过调整 PWM 信号的占空比控制 LED 亮度,实现颜色混合。- 频率范围:200Hz-2kHz(低于 200Hz 可能引起闪烁,高于 2kHz 可能产生音频噪声)。
- 分辨率:8 位(0-255)或更高,决定颜色精度。
2. 软件原理
-
状态编码:
将无人机状态(如待机、起飞、降落、故障)映射为特定颜色和闪烁模式。状态 RGB 值 闪烁频率 含义 待机 蓝色 (0,0,255) 常亮 系统就绪 起飞 绿色 (0,255,0) 常亮 正常飞行 降落 黄色 (255,255,0) 1Hz 降落过程 低电量 红色 (255,0,0) 2Hz 电池电量不足 GPS 定位中 紫色 (128,0,128) 0.5Hz 等待 GPS 锁定 故障 白色 (255,255,255) 快速闪烁 系统错误,需降落