71 lines
1.8 KiB
Markdown
71 lines
1.8 KiB
Markdown
# PetIO PWM 功能说明
|
||
|
||
## 新增功能
|
||
|
||
### PWM 模式支持
|
||
- 在手动控制中新增了 PWM 模式开关
|
||
- 可以通过滑块调节 PWM 输出强度 (0-100%)
|
||
- 在定时器中也支持设置 PWM 模式和强度
|
||
|
||
### 使用方法
|
||
|
||
#### 手动控制 PWM
|
||
1. 在"手动控制"标签页中
|
||
2. 选择要控制的引脚
|
||
3. 勾选"PWM 模式"复选框
|
||
4. 使用滑块调节 PWM 强度 (0-100%)
|
||
5. 设置持续时间(0表示切换状态)
|
||
6. 点击"执行控制"
|
||
|
||
#### 定时器 PWM
|
||
1. 在"定时器管理"标签页中
|
||
2. 填写引脚、时间、持续时间等基本信息
|
||
3. 勾选"PWM 模式"复选框
|
||
4. 使用滑块调节 PWM 强度
|
||
5. 设置是否每天重复
|
||
6. 点击"添加定时器"
|
||
|
||
### API 变化
|
||
|
||
#### 手动控制 API
|
||
- 端点: `POST /api/manual`
|
||
- 新增参数:
|
||
- `isPWM`: 布尔值,是否为PWM模式
|
||
- `pwmValue`: 整数 (0-1023),PWM强度值
|
||
|
||
#### 定时器 API
|
||
- 端点: `POST /api/timers` 和 `PUT /api/timers/{id}`
|
||
- 新增参数:
|
||
- `isPWM`: 布尔值,是否为PWM模式
|
||
- `pwmValue`: 整数 (0-1023),PWM强度值
|
||
|
||
#### PWM 配置 API
|
||
- 端点: `GET /api/pwm/config`
|
||
- 返回 PWM 配置信息:
|
||
- `frequency`: PWM频率
|
||
- `resolution`: PWM分辨率
|
||
- `maxValue`: PWM最大值
|
||
- `minValue`: PWM最小值
|
||
- `defaultValue`: PWM默认值
|
||
|
||
### 技术细节
|
||
|
||
#### PWM 配置
|
||
- 频率: 1 KHz
|
||
- 分辨率: 10位 (0-1023)
|
||
- ESP8266 的 `analogWrite()` 函数用于PWM输出
|
||
|
||
#### 数据存储
|
||
- PWM 设置会保存到 EEPROM
|
||
- 向后兼容旧的定时器配置
|
||
|
||
#### 显示功能
|
||
- 定时器列表会显示PWM模式和强度百分比
|
||
- 手动控制页面显示实时PWM强度百分比
|
||
|
||
### 注意事项
|
||
1. 并非所有引脚都支持PWM输出,请参考ESP8266文档
|
||
2. PWM值范围是0-1023,对应0%-100%的输出强度
|
||
3. 在数字模式下,PWM值被忽略
|
||
4. 旧的定时器配置会自动设置为数字模式
|