readme

# LED 控制库

这个库提供了一种简单且高效的方式来使用 ESP32 微控制器控制 LED。它支持基本的 LED 操作,如点亮和熄灭 LED、设置亮度以及创建呼吸效果。该库专为 ESP-IDF 框架设计。

## 功能

- **初始化**: 使用特定的 GPIO 引脚和 LEDC 通道初始化 LED。
- **开关控制**: 轻松地打开和关闭 LED。
- **亮度设置**: 设置 LED 的亮度。
- **呼吸效果**: 创建 LED 的呼吸效果。

## 安装

1. 将 `Led.h` 文件添加到你的 ESP-IDF 项目中。
2. 确保你的项目中包含了 ESP-IDF 框架,并且正确配置了 GPIO 和 LEDC 驱动。

## 使用方法

### 初始化 LED

首先,你需要创建一个 `Led` 类的实例,并调用 `init()` 方法来初始化 LED。

```cpp
#include "Led.h"

// 使用 GPIO 2 和 LEDC 通道 0 初始化 LED
Led myLed(GPIO_NUM_2, LEDC_CHANNEL_0);

void app_main() {
    myLed.init();
}
```

### 控制 LED

你可以使用 `on()` 和 `off()` 方法来打开和关闭 LED。

```cpp
void app_main() {
    myLed.init();

    while (1) {
        myLed.on();  // 打开 LED
        vTaskDelay(1000 / portTICK_PERIOD_MS);  // 延迟 1 秒
        myLed.off();  // 关闭 LED
        vTaskDelay(1000 / portTICK_PERIOD_MS);  // 延迟 1 秒
    }
}
```

### 设置亮度

使用 `setBrightness()` 方法来设置 LED 的亮度。亮度值的范围取决于 LEDC 的分辨率。

```cpp
void app_main() {
    myLed.init();

    while (1) {
        myLed.setBrightness(512);  // 设置亮度为 50%
        vTaskDelay(1000 / portTICK_PERIOD_MS);  // 延迟 1 秒
        myLed.setBrightness(1023);  // 设置亮度为 100%
        vTaskDelay(1000 / portTICK_PERIOD_MS);  // 延迟 1 秒
    }
}
```

### 呼吸效果

使用 `breath()` 方法来创建 LED 的呼吸效果。

```cpp
void app_main() {
    myLed.init();

    while (1) {
        myLed.breath();  // 开始呼吸效果
        vTaskDelay(5000 / portTICK_PERIOD_MS);  // 延迟 5 秒
    }
}
```

## 依赖

- ESP-IDF 框架
- `driver/gpio.h`
- `driver/ledc.h`

## 许可证

这个项目使用 MIT 许可证。有关更多信息,请参阅 `LICENSE` 文件。

Links

Supports all targets

License: MIT

To add this component to your project, run:

idf.py add-dependency "ningzixi/led^1.1.0"

or download archive

Stats

  • Archive size
    Archive size ~ 3.64 KB
  • Downloaded in total
    Downloaded in total 0 times
  • Downloaded this version
    This version: 0 times

Badge

ningzixi/led version: 1.1.0
|