You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Rotary Encoder控制LED亮度:单灯正常多灯失效问题

旋转编码器控制LED亮度故障排查

问题现象

  • 单个LED时,旋转编码器可正常调节亮度;接入额外6个LED后,电路无法正常运行
  • 仅引脚9能实现PWM亮度控制,更换其他引脚后无法正常工作

电路背景

基础电路参考5引脚旋转编码器的接线逻辑(实际仅能获取到6引脚款编码器,接线遵循对应引脚定义),LED通过引脚9连接到控制器。

当前使用代码

int Brightness = 120;
int StepBrightness = 10;
unsigned long RealTime;
unsigned long CyclicTime;
const int pin_A = 2;  // pin 2 连接旋转编码器的CLK引脚
const int pin_B = 3;  // pin 3 连接旋转编码器的DT引脚
unsigned char encoder_A;
unsigned char encoder_B;
unsigned char encoder_A_vorige=0;

void setup()  {
  pinMode(9, OUTPUT); //只有pin9能正常工作,换其他引脚不行
  pinMode(pin_A, INPUT);
  pinMode(pin_B, INPUT);
  RealTime = millis();
  CyclicTime = RealTime; 
} 

void loop()  {
  RealTime = millis();
  if(RealTime >= (CyclicTime + 5)){
    encoder_A = digitalRead(pin_A);
    encoder_B = digitalRead(pin_B);   
    if((!encoder_A) && (encoder_A_vorige)){
      if(encoder_B) {
        if(Brightness + StepBrightness <= 255) Brightness += StepBrightness;               
      }   
      else {
        if(Brightness - StepBrightness >= 0) Brightness -= StepBrightness;               
      }   
    }   
    encoder_A_vorige = encoder_A;

    analogWrite(9, Brightness);   
   
    CyclicTime = RealTime;
  }
}

内容的提问来源于stack exchange,提问作者JohnDoe12

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 23:35:18