> For the complete documentation index, see [llms.txt](https://pitronic.gitbook.io/betaflight/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pitronic.gitbook.io/betaflight/configuration/led-strip-setup.md).

# LED灯带

Betaflight支持使用可寻址LED灯带。可寻址LED灯带允许灯带中的每个LED被独立编程为互不相同的颜色。这比普通的RGB灯带要先进得多，因为普通RGB灯带中的每个LED都将显示相同的颜色。

## LED灯带模式

LED灯带具有三个子模式：STATUS，RACE和BEACON。分别使用三个独立的与名称对应的LED配置文件来配置。可以从CLI、OSD的LED菜单或拨杆辅助通道（遥控器）更改所选的配置文件。请注意，使用遥控器的辅助通道做出的更改会覆盖其他方式所选择的LED配置文件。

### STATUS模式

该模式用于显示以下所有信息，即警告、指示、左右扫描等。

可寻址的LED的LED灯条可用于显示来自飞控的信息，当前支持以下功能：

* 最高支持32个LED。（可以支持更多的LED，只是需要进一步开发）
* 灯光指示当前Pitch/Roll摇杆位置
* 方向/指向灯
* 某一飞行模式下使用特定的灯光配色方案
* 电池低电压警告
* 辅助通道控制LED开/关
* GPS状态信息
* RSSI强度显示
* 电池电量显示

### RACE模式

该模式将会把所有LED灯带都调成相同颜色，以用于竞赛。例如，根据灯带颜色来辨认飞机。LED灯带所有灯珠颜色都将保持相同且不再变化，不会显示其他信息。

### BEACON模式

该模式用于搜寻坠机的飞机，它每秒使所有LED变白一次。同样，在此模式下，LED灯带上不会显示其他信息。

### LED配置文件设置

#### 选项1：设置一个调整通道，从遥控器来改变LED灯带配置文件

1. 开启专家模式 - 点击配置程序右上方“启用专家模式”按钮。
2. 在“调整”页面内设置一个调整通道，以供切换LED灯带配置文件使用
   * 启用“调整”。（“如果激活”）
   * 选择用于更改LED配置文件的AUX通道。（“当通道”）
   * 设置范围以覆盖所选AUX通道的整个范围。（“在指定范围时”）
   * 对于该操作，选择“RC Rate 调整”。（“执行”）\
     这样操作意味着余下的设置将在CLI中进行配置，因为配置程序10.4.0及更早版本不支持在图形页面内开启LED配置文件选择。仅选择“ RC Rate 调整”是为了使接下来在CLI中的配置更容易一些。
   * 选择“通过通道”以匹配上面选择的AUX通道。（“当通道”）。
   * 保存
3. 打开CLI并键入`adjrange`然后回车。
4. 复制上面步骤2中配置的adjrange，并将其粘贴到命令窗口中。然后将通道范围后的“1”改为“30”，然后回车。键入save，并再次回车。现在将保存已配置的adjrange，并且飞控将重启。
5. 在您的遥控器上配置对应的AUX通道。更改此通道之后，所选的LED灯带配置文件将在STATUS、RACE和BEACON之间切换，这样做时您应该会看到LED功能发生了变化。

#### 选项2：使用CLI来选择LED配置文件（即不通过遥控器来选择LED配置文件）

1. 打开CLI。
2. 键入`get ledstrip_profile`并回车，以显示当前选择的LED配置文件。
3. 键入`set ledstrip_profile = x`，其中x是配置文件的名称，可以是STATUS，RACE或BEACON，然后按回车键。
4. 键入`save`并回车，以保存所选的LED配置文件。

#### 选项3：使用OSD

1. 在遥控器上以偏航向左、俯仰向上的杆位来激活OSD菜单。
2. 使用俯仰杆移动至LED Strip菜单，然后横滚向右以进入菜单。
3. 横滚向左可以用来返回上一页来配置STATUS和RACE配置文件，俯仰向上/向下可以用来更改颜色值。
4. 横滚向左退到顶层菜单，然后选择“Save & Reboot”以完成切换。

#### RACE模式的颜色：可以使用CLI来配置RACE模式的颜色

1. 打开CLI。
2. 键入`get ledstrip_race_color`并回车，以显示当前RACE模式的颜色编号。
3. 键入`set ledstrip_race_color = x`，其中X是颜色编号。
4. 键入`save`并回车，以保存RACE模式的颜色。

## 支持的硬件

当前仅支持有32个WS2811/WS2812灯珠的LED灯带。若灯珠数量超过32个，则仅会使用前32个LED灯珠。

需要使用800KHz信号和精准的时序才能控制WS2812灯珠，因此需要为LED焊盘配置专用的硬件计时器。

注意：并非所有WS2812芯片都使用相同的时序，有些批次使用的时序并不一样。

如果确实有需要的话，可由用户自定义所需的时序。

### WS2811和WS2812

WS2811是一个连接到RGB灯珠上的LED驱动芯片。可以向其输入红-绿-蓝各8位的数据信号。（红、绿、蓝各8位）

WS2812则是5050（或3535）灯珠中集成LED驱动芯片，而不是两者各自作为独立设备。可以向其输入绿-红-蓝各8位的数据信号。

因此，根据LED灯带使用的芯片不同，需要使用红-绿-蓝或绿-红-蓝数据编码。可以通过下列CLI来修改颜色数据编码序列

```
set ledstrip_grb_rgb = RGB
```

或

```
set ledstrip_grb_rgb = GRB
```

然后只需将LED设置为绿色，即可确认设置是否正确。如果LED呈红色，则设置错误。

## 连线

WS2812灯带通常需要一根数据线、5V供电线和GND地线。

WS2812 LED处于全亮状态会消耗大量电流。建议检查电流消耗情况，以确保您的电源足以拖动负载。若多旋翼飞行器的电调均具有BEC，可以尝试用不同的BEC分别为飞控板和LED灯带供电。例如，ESC1/BEC1->FC，ESC2/BEC2->LED灯带。也可以一侧灯带使用一个BEC供电，另一侧使用另一个BEC供电。只需要确保所有的BEC与LED均接有效地即可。

如果您的LED有的亮有的不亮、闪烁或显示错误的颜色，那么可以尝试将输入电压降至4.7v以下。例如，可以在5v供电线上串联二极管。这些问题都是由于数据信号与电源信号之间的电压差而引起的。WS2811要求数据信号（Din）高低电平分别0.7xVin以上，0.3xVin以下，才能完成高低信号的辨识。飞控板上的LED焊盘输出电平为0-3.3V，所以供电电压应该为4.7V（3.3V/0.7 = 4.71V）。部分输入信号容受区间较宽的LED则可忽略此要求。

## 配置

可以在配置程序内的图形界面内配置LED灯带的功能。

使用“LED灯带”选项卡来配置LED。首先设置LED的布局，以告知飞控有多少个LED可用，也便于稍后对LED进行可视化配置。

有关如何使用配置程序来逐步配置LED的功能，请参阅[这里](http://blog.oscarliang.net/setup-rgb-led-cleanflight/)。该指南由Oscar Liang于2015年初发布，在您阅读本文时部分内容可能已不再具有实用意义。

通过CLI命令启用LED灯带功能：

```
feature LED_STRIP
```

如果您启用该功能，但在重启之后该功能仍被关闭，那么您需要检查您的配置是否有与LED灯带功能冲突的其他功能，如上文所示。

您可以使用CLI命令`led`来配置LED。

`led`命令有两个参数：从0开始的LED编号、一个控制序列。该控制序列包含一个坐标、方向标志、模式标志和一种颜色。

每个LED的控制序列可以使用如下模板进行配置：

```
x,y:ddd:mmm:cc
```

`x`和`y`是16x16的网格坐标，从零计数，左上角为0,0，右下角为15,15。

`ddd`用于指定朝向。假定网格为上北下南左西右东，飞机头部在北，尾部在南。因为LED可以面向任何方向，因此有多种方向可供选择：

* `N`-北&#x20;
* `E`-东&#x20;
* `S`-南&#x20;
* `W`-西&#x20;
* `U`-上&#x20;
* `D`-下

例如，向下45°面向东南方向的LED可以配置为`SED`。

注意：可以将LED配置为全向，但`NESWUD`可能没有任何意义。

`mmm`用于设定LED的模式。

每一个LED都可以设置一个基本功能：

* `C`-颜色**C**olor
* `F`-模式和方向**F**light mode & Orientation
* `A`-锁定状态**A**rmed state
* `R`-推力环**R**ing thrust state
* `G`-**G**PS
* `S`-RSSI强度R**S**SI level
* `L`-电池电量Battery **L**ever

并且每个LED都可以有叠加功能：

* `W`-警告**W**arnings
* `I`-指示灯**I**ndicator
* `T`-油门状态**T**hrust state
* `B`-闪烁（两次）模式**B**link mode
* `O`-左右扫描Lars**o**n Scanner
* `N`-降落指示灯（油门低于50%闪烁）Blink on la**n**ding

`cc`用于设置LED颜色编号（编号从0计数）。

例如：

```
led 0 0,15:SD:AWI:0
led 1 15,0:ND:AWI:0
led 2 0,0:ND:AWI:0
led 3 0,15:SD:AWI:0
led 4 7,7::c:1
led 5 8,8::C:2
led 6 8,9::B:1
```

要擦除LED并标记LED灯带尾端，请将第二个参数设置为`0,0:::`，如下所示：

```
led 4 0,0:::
```

最好擦除所有未使用的LED。

### 模式

#### 警告模式

当触发警告时，此模式仅会闪烁LED。

| 警告       | LED闪烁模式   | 注释                            |
| -------- | --------- | ----------------------------- |
| 处于无法解锁状态 | 绿灯闪烁      | 在校准期间或当飞行器因倾角过大而无法解锁时出现       |
| 低电量      | 红灯闪烁      | 必须启用电池监视功能。可能会在高油门下因电压下降而暂时触发 |
| 失控保护     | 浅蓝与黄色交替闪烁 | 必须已设置并启用失控保护                  |

各种模式将按顺序逐次闪烁显示，因此很容易得知到底启用了哪些警告。

#### GPS状态

此模式显示GPS状态和已经搜到的卫星数量。

* 定位未成功/失败=闪烁红色
* 3D定位成功=闪烁绿色

LED的闪烁次数指示当前已搜到的卫星数量。闪烁x次后将暂停闪烁，并重新开始（闪烁）。

#### RSSI级别

此模式将使用LED颜色指示RSSI级别。

| 颜色   | RSSI |
| ---- | ---- |
| 绿色   | 100％ |
| 柠檬绿  | 80％  |
| 黄色   | 60％  |
| 橙子   | 40％  |
| 红    | 20％  |
| 深粉红色 | 0％   |

当RSSI低于50%时，LED将缓慢闪烁；低于20%时，LED将快速闪烁。

#### 电池电量

此模式将使用LED颜色指示电池剩余电量。

| 颜色   | 剩余电量 |
| ---- | ---- |
| 绿色   | 100％ |
| 柠檬绿  | 80％  |
| 黄色   | 60％  |
| 橙子   | 40％  |
| 红    | 20％  |
| 深粉红色 | 0％   |

当达到警告电压或临界电压时，LED将缓慢或快速闪烁。注意：此模式需要启用电流传感器。如果您并没有此设备，则可以设置并使用虚拟电流计（请参阅电池章节）。

#### 纯闪烁（Blink）

此模式将使选定的LED闪烁，或从黑色闪烁到当前的设定颜色下。

#### 着陆时闪烁

当油门低于50%且已解锁时，此模式将使选定的LED闪烁，或从黑色闪烁到当前设定颜色下。

左右闪烁（拉森扫描仪，Cylon特效，来自《霹雳游侠》）

该模式复刻了霹雳游侠中机械Cylons和Kitt的“眼睛”特效。此覆盖层动画会使所有激活此功能的LED在某些时刻变暗，并在某些时刻变亮。不论解锁状态如何，动画都不会静止。

#### 模式和方向

此模式显示飞行模式和方向。

当此功能激活时，LED会根据模式、自身所处的网络位置和方向，显示不同的颜色。

LED的优先级：

* 标记为朝上或者朝下的LED
* 标记为面向西或东且在网格的西或东
* 标记为面向北或南且在网格的北或南

也就是说，朝南的LED优先权最低。

目前，LED模式和颜色之间的映射是固定的，无法更改。

#### 指示符

此模式将使与Pitch和Roll摇杆位置相对应的LED闪烁。即，它们指示飞行器的转向。

| 模式    | 方向 | LED颜色 |
| ----- | -- | ----- |
| 方向    | 北  | 白色    |
| 方向    | 东  | 暗紫    |
| 方向    | 南  | 红     |
| 方向    | 西  | 深粉红色  |
| 方向    | 上  | 蓝色    |
| 方向    | 下  | 橙子    |
|       |    |       |
| 无头模式  | 北  | 柠檬绿   |
| 无头模式  | 东  | 暗紫    |
| 无头模式  | 南  | 橙子    |
| 无头模式  | 西  | 深粉红色  |
| 无头模式  | 上  | 蓝色    |
| 无头模式  | 下  | 橙子    |
|       |    |       |
| 半自稳模式 | 北  | 蓝色    |
| 半自稳模式 | 东  | 暗紫    |
| 半自稳模式 | 南  | 黄色    |
| 半自稳模式 | 西  | 深粉红色  |
| 半自稳模式 | 上  | 蓝色    |
| 半自稳模式 | 下  | 橙子    |
|       |    |       |
| 自稳模式  | 北  | 青色    |
| 自稳模式  | 东  | 暗紫    |
| 自稳模式  | 南  | 黄色    |
| 自稳模式  | 西  | 深粉红色  |
| 自稳模式  | 上  | 蓝色    |
| 自稳模式  | 下  | 橙子    |
|       |    |       |
| 磁力计   | 北  | 薄荷绿   |
| 磁力计   | 东  | 暗紫    |
| 磁力计   | 南  | 橙子    |
| 磁力计   | 西  | 深粉红色  |
| 磁力计   | 上  | 蓝色    |
| 磁力计   | 下  | 橙子    |
|       |    |       |
| 气压计   | 北  | 浅蓝    |
| 气压计   | 东  | 暗紫    |
| 气压计   | 南  | 红     |
| 气压计   | 西  | 深粉红色  |
| 气压计   | 上  | 蓝色    |
| 气压计   | 下  | 橙子    |

#### 解锁状态

此模式将在解锁和上锁时，使LED颜色在绿色和蓝色之间切换。

注意：解锁状态不能与飞行模式一起使用。

#### 推力状态

此模式将会根据油门杆的位置将当前LED逐渐淡入HSB色彩空间的上一个/下一个颜色。当位于中油门时，颜色将不受影响，因此可以将其与方向混合使用用来指示方向和油门。通常来说，推力模式应该与“颜色”或“模式/方向”结合使用。

#### 推力环状态

此模式允许您使用一个或多个LED环（例如NeoPixel灯板）来实现跑马/彩虹灯特效。开启此模式的LED将以指定颜色重复发光。将黑色分配给开启推力环状态模式的LED可以防止LED点亮。

当LED仅仅设置推力环状态而未开启/设置其他功能时，效果最好。

LED方向/XY位置与LED的推力环状态无关。LED的顺序决定了LED的闪烁/跑马方式，而油门值则决定了动画速率的快慢。该动画仅在解锁后播放。

环上的每一个LED的颜色都可以互不相同，可以设置为最多16种颜色。例如，下列设置将使LED0设置为推力环状态，颜色为13。

```
led 0 2,2::R:13
```

LED灯带模式和推力环可以组合使用。

#### 纯色模式

该模式将允许你为LED指定特定颜色并永久亮起。

使用此模式时，X/Y的位置和方向将会被忽略。

其他模式将覆盖此模式或与此模式结合。

例如，要将LED0设置为永久亮起，颜色设置为10号，则请使用如下命令：

```
led 0 0,0::C:10
```

### 颜色

可以使用CLI命令`color`来配置颜色。

`color`命令具有零或两个参数 - 从零开始的色号和指示色相（Hue）、饱和度（Saturation）及色值（Value）。

另请参阅：<http://en.wikipedia.org/wiki/HSL_and_HSV>

如果调用此命令而不使用任何参数，它将打印出颜色配置，可以将其复制保存以供参考。

默认颜色配置如下：

| 编号 | 颜色   |
| -- | ---- |
| 0  | 黑色   |
| 1  | 白色   |
| 2  | 红色   |
| 3  | 橘色   |
| 4  | 黄色   |
| 5  | 柠檬绿  |
| 6  | 绿色   |
| 7  | 薄荷绿  |
| 8  | 青色   |
| 9  | 浅蓝   |
| 10 | 蓝色   |
| 11 | 深紫色  |
| 12 | 品红   |
| 13 | 深粉红色 |
| 14 | 黑色   |
| 15 | 黑色   |

```
color 0 0,0,0
color 1 0,255,255
color 2 0,0,255
color 3 30,0,255
color 4 60,0,255
color 5 90,0,255
color 6 120,0,255
color 7 150,0,255
color 8 180,0,255
color 9 210,0,255
color 10 240,0,255
color 11 270,0,255
color 12 300,0,255
color 13 330,0,255
color 14 0,0,0
color 15 0,0,0
```

### 模式颜色分配

可以使用CLI命令`mode_color`来配置模式的颜色。

* 无参调用时：列出所有模式的颜色
* 参数：`mode`，`function`，`color`

前7组模式（`mode`）序号为：

| 模式 | 名称    |
| -- | ----- |
| 0  | 方向    |
| 1  | 无头    |
| 2  | 半自稳   |
| 3  | 自稳    |
| 4  | 磁力计   |
| 5  | 气压计定高 |
| 6  | 特殊模式  |

其中前6个模式的`function`参数表如下：

| 功能 | 名称 |
| -- | -- |
| 0  | 北  |
| 1  | 东  |
| 2  | 南  |
| 3  | 西  |
| 4  | 向上 |
| 5  | 向下 |

特殊模式（Mode 6）的`function`参数表如下：

| 功能 | 名称         |
| -- | ---------- |
| 0  | 上锁         |
| 1  | 解锁         |
| 2  | 动画         |
| 3  | 背景色        |
| 4  | 闪烁背景色      |
| 5  | GPS：无卫星    |
| 6  | GPS：尚未定位   |
| 7  | GPS：3D定位成功 |

`color`形参的参数可从颜色数组（“调色板”或GUI中的）中选取。

示例（使用默认颜色）：

* 将解锁状态设置为红色：`mode_color 6 1 2`
* 将上锁状态设置为黄色：`mode_color 6 0 4`
* 将无头模式的南设置为青色：`modoe_color 1 2 8`

## LED灯珠定位问题

按照下图将LED切成小段。切割LED灯带之后，请使用电线将下一灯带的输入与上一灯带的输出相连。例如，5V输出接入到5V输入，GND与GND相连接，数据输出连接到数据输入。

默认朝向是飞机的头部（摄像头）背对着您，并且您正在从上方观察。

### 12 LED 配置示例

```
led 0 15,15:SD:IA:0
led 1 8,8:E:FW:0
led 2 8,7:E:FW:0
led 3 15,0:ND:IA:0
led 4 7,7:N:FW:0
led 5 8,7:N:FW:0
led 6 0,0:ND:IA:0
led 7 7,7:W:FW:0
led 8 7,8:W:FW:0
led 9 0,15:SD:IA:0
led 10 7,8:S:FW:0
led 11 8,8:S:FW:0
led 12 7,7:D:FW:0
led 13 8,7:D:FW:0
led 14 7,7:U:FW:0
led 15 8,7:U:FW:0
```

转换为实际位置：

```
     6             3
      \           /
       \   5-4   /
        \ FRONT /
    7,8 | 12-15 | 1,2
        /  BACK \
       /  10,11  \
      /           \
     9             0
       RING 16-27
```

LED0、3、6、9应该朝下放置在飞机下方。\
LED1-2、4-5、7-8和10-11应分别朝向东/北/西/南。\
LED12-13应朝下放置，LED14-15应该朝上放置，均放置在中部。\
尾部的LED环16-27应该朝南放置。

这是默认设置，因此如果您不想将LED上下放置在中间，只需要连接前12个LED。

### 16 LED 配置示例

```
led 0 15,15:SD:IA:0
led 1 8,8:E:FW:0
led 2 8,7:E:FW:0
led 3 15,0:ND:IA:0
led 4 7,7:N:FW:0
led 5 8,7:N:FW:0
led 6 0,0:ND:IA:0
led 7 7,7:W:FW:0
led 8 7,8:W:FW:0
led 9 0,15:SD:IA:0
led 10 7,8:S:FW:0
led 11 8,8:S:FW:0
led 12 7,7:D:FW:0
led 13 8,7:D:FW:0
led 14 7,7:U:FW:0
led 15 8,7:U:FW:0
```

转换为实际位置：

```
     6             3
      \           / 
       \   5-4   / 
      7 \ FRONT / 2
        | 12-15 | 
      8 /  BACK \ 1
       /  10-11  \
      /           \ 
     9             0
```

LED0、3、6、9应该朝下放置在飞机下方。\
LED1-2、4-5、7-8和10-11应分别朝向东/北/西/南。\
LED12-13应朝下放置，LED14-15应该朝上放置，均放置在中部。

### 28 LED 配置示例

```
#right rear cluster
led 0 9,9:S:FWT:0
led 1 10,10:S:FWT:0
led 2 11,11:S:IA:0
led 3 11,11:E:IA:0
led 4 10,10:E:AT:0
led 5 9,9:E:AT:0
# right front cluster
led 6 10,5:S:F:0
led 7 11,4:S:F:0
led 8 12,3:S:IA:0
led 9 12,2:N:IA:0
led 10 11,1:N:F:0
led 11 10,0:N:F:0
# center front cluster
led 12 7,0:N:FW:0
led 13 6,0:N:FW:0
led 14 5,0:N:FW:0
led 15 4,0:N:FW:0
# left front cluster
led 16 2,0:N:F:0
led 17 1,1:N:F:0
led 18 0,2:N:IA:0
led 19 0,3:W:IA:0
led 20 1,4:S:F:0
led 21 2,5:S:F:0
# left rear cluster
led 22 2,9:W:AT:0
led 23 1,10:W:AT:0
led 24 0,11:W:IA:0
led 25 0,11:S:IA:0
led 26 1,10:S:FWT:0
led 27 2,9:S:FWT:0
```

```
       16-18  9-11
19-21 \           / 6-8
       \  12-15  / 
        \ FRONT /
        /  BACK \
       /         \
22-24 /           \ 3-5
       25-27   0-2  
```

在这种情况下，所有LED应该朝外放置。

注意：此配置是专门为[Alien Spider AQ50D PRO 250mm机架](http://www.goodluckbuy.com/alien-spider-aq50d-pro-250mm-mini-quadcopter-carbon-fiber-micro-multicopter-frame.html)设计的。

## 故障排除

初次通电时，灯条上的所有LED灯珠都将被设置为白色。这意味着如果您的测量设备反应速度足够快的话，则可以检测电流消耗情况。大多数5050封装的LED灯珠的功耗为0.3W。这也意味着您可以确保灯条上每个LED的灯珠中的R、G、B都可以正常工作。经过短暂的延迟之后，LED将显示上锁时的颜色序列/电池电量不足警告序列。

您还应检查`LED_STRIP`功能是否已正确启用，并且与其他功能没有冲突
