您的LED是共阳极,因此它与共阴极相反。试试这个:
int PWM_value = xxx; analogWrite(red, 255 - PWM_value);
AS A.H.指出,Pin 12不是a PWM引脚 。 尝试更改您的代码以使用引脚9,10,11而不是10,11,12并给它另一个镜头。
这是文档示例的修改版本,用于说明该想法:
int rPin = 9; int gPin = 10; int bPin = 11; int analogPin = 0; // potentiometer connected to analog pin 0 int val = 0; // variable to store the read value void setup() { pinMode(rPin, OUTPUT); // sets the pin as output pinMode(gPin, OUTPUT); // sets the pin as output pinMode(bPin, OUTPUT); // sets the pin as output } void loop() { val = analogRead(analogPin); // read the input pin analogWrite(rPin, val / 4); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255 analogWrite(gPin, val / 4); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255 analogWrite(bPin, val / 4); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255 }
请注意,您需要一个连接到模拟引脚0的传感器来更改LED值。
[http://arduino.cc/en/Reference/analogWrite][1]
在这里你没有改变任何东西。只是更新PWM引脚