
#include Arduino.h// 硬件定义const uint8_t ledPins[] {5, 6, 7, 8}; // 4路LED引脚const uint8_t ledCh[] {1, 2, 3, 4}; // 对应4个LEDC通道const uint8_t ledNum sizeof(ledPins) / sizeof(ledPins[0]);// PWM参数#define PWM_FREQ 5000#define PWM_RES 8 // 0~255亮度#define STEP_DELAY 8 // 步进延时越小速度越快// PWM初始化void pwmInit(){for(uint8_t i 0; i ledNum; i){ledcSetup(ledCh[i], PWM_FREQ, PWM_RES);ledcAttachPin(ledPins[i], ledCh[i]);ledcWrite(ledCh[i], 0); // 初始全灭}}// 单路完整呼吸渐亮→渐暗void singleBreathe(uint8_t ch){// 渐亮for(int bri 0; bri 255; bri){ledcWrite(ch, bri);delay(STEP_DELAY);}// 渐暗for(int bri 255; bri 0; bri--){ledcWrite(ch, bri);delay(STEP_DELAY);}}// 跑马逻辑5→6→7→8依次完整呼吸一轮void horseRun(){for(uint8_t i 0; i ledNum; i){singleBreathe(ledCh[i]);}}void setup(){pwmInit();}void loop(){horseRun();}