问题描述
我有一条带单个灯光控制器的 RGB LED 灯条。我用了大约一半的卷,剩下的卷没有另一个控制器。
我想看看我是否可以使用 Arduino 来循环显示颜色,只是为了好玩。经过进一步测试,他们控制 RGB 的方式不是通过改变正值,而是通过改变负值。有什么办法可以用 Arduino Mega 做到这一点吗?
我已经尝试将正反两面以正确和相反的方式连接起来,但它仍然无法按我需要的方式工作。
这是我使用的代码。我没有任何 RGB LED,但单独的红色、绿色和蓝色 LED 表明它仍然可以完美工作。
#define Rpin 3 // sets up
#define Gpin 5 // the pins
#define Bpin 7 // for easy writing
void setup() {
// initialize digital pins for output.
pinMode(Rpin,OUTPUT);
pinMode(Gpin,OUTPUT);
pinMode(Bpin,OUTPUT);
}
int phase = 0; // phase for loop
int Max = 127; // easier for
int i = 1; // changing a lot
int maxAll = Max - i; // of values
int red = 0; // sets up
int green = 0; // rgb colors
int blue = Max; // for loop
// the loop runs over and over to change the rgb values.
void loop() {
if (phase == 0) {
red += i;
blue -= i;
if (red >= maxAll) {
phase = 1;
red = Max;
blue = 0;
}
} else if (phase == 1) {
red -= i;
green += i;
if (green >= maxAll) {
phase = 2;
red = 0;
green = Max;
}
} else if (phase == 2) {
green -= i;
blue += i;
if (blue >= maxAll) {
phase = 0;
green = 0;
blue = Max;
}
}
analogWrite(Rpin,red); // write to each led for the ease of typing
analogWrite(Gpin,green); //
analogWrite(Bpin,blue); //
delay(10);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)