esp32s3呼吸灯PWM控制
2026/6/26 15:26:48 网站建设 项目流程

#include <Arduino.h>

// 引脚与PWM配置

#define LED_PIN 5 // D5引脚

#define LEDC_CH 1 // PWM通道1

#define PWM_FREQ 5000 // 提高频率消除频闪

#define PWM_RES 8 // 8位分辨率 0~255

#define BREATHE_DELAY 30 // 亮度步进延时,数值越大呼吸越慢

void init_PWM() {

// 配置通道:频率、分辨率

ledcSetup(LEDC_CH, PWM_FREQ, PWM_RES);

// 绑定引脚

ledcAttachPin(LED_PIN, LEDC_CH);

}

void led_Breathing() {

// 渐亮 0 → 255

for(int i = 0; i <= 255; i++){

ledcWrite(LEDC_CH, i);

delay(BREATHE_DELAY);

}

// 渐暗 255 → 0(改写为倒序循环,逻辑更清晰)

for(int i = 255; i >= 0; i--){

ledcWrite(LEDC_CH, i);

delay(BREATHE_DELAY);

}

}

void setup() {

init_PWM();

}

void loop() {

led_Breathing();

}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询