说明
在ESP32里产生PWM有个叫LED PWM控制器的东西,它有16个通道,每个通道都能使用代码来配置
使用步骤
- 首先选择一个通道(0-15)
- 设置PWM的频率
- 设置占空比的分辨率,例如8位或者16位
- 将该通道绑定到具体的GPIO上 语句:ledcAttachPin(GPIO, channel)
- 设置通道号和占空比实现PWM 语句:ledcWrite(channel, dutycycle)
示例
使用PWM控制LED的亮度(呼吸灯效果),效果图片就不放上去了
#include <Arduino.h>
const int ledPin = 16; // 连接LED的GPIO 16
const int freq = 5000; // 设置PWM的频率
const int ledChannel = 0; // 设置PWM的通道
const int resolution = 8; // 设置PWM 占空比的分辨率 最大占空比为 2^8 = 256
void setup(){
// PWM初始化
ledcSetup(ledChannel, freq, resolution

本文介绍了如何在ESP32中使用LEDPWM控制器产生PWM信号来控制LED亮度,实现呼吸灯效果。通过选择通道、设置频率和分辨率,将通道绑定到GPIO,并改变占空比实现渐亮渐灭。示例代码展示了如何绑定一个或多个GPIO到同一通道,实现多LED同步控制。需要注意的是,GPIO34、35、36、39不支持PWM。
最低0.47元/天 解锁文章
2126

被折叠的 条评论
为什么被折叠?



