我对编程很新,并且已经为练习购买了一个arduino uno。我想制作一个RGB-led灯照亮彩虹的颜色(青色 - 蓝色 - 洋红色等......) 我的代码存在某种逻辑问题。第一个圆圈很好,它可以很好地穿过颜色。在第二个圆圈中,红色开始起作用并且当它不应该在“蓝色圆圈”中时闪烁9次。
我的整个代码是这样的:
int BLUEARR[] = {1,1,1,0,0,0};
int GREENARR[] = {1, 0, 0, 0, 1, 1};
int REDARR[] = {0, 0, 1, 1, 1, 0};
int red, green, blue;
int RedPin = 9;
int GreenPin = 10;
int BluePin = 11;
void setup() {
}
void loop() {
for (int i=0; i<7; i++) {
int k = (i+1)%6;
for (int j=0; j<256; j++) {
blue = BLUEARR[i]*255+(BLUEARR[k] - BLUEARR[i])*j;
red = REDARR[i]*255+(REDARR[k] - REDARR[i])*j;
green = GREENARR[i]*255+(GREENARR[k] - GREENARR[i])*j;
analogWrite (RedPin, red);
analogWrite (GreenPin, green);
analogWrite (BluePin, blue);
delay(20);
}
}
}
有人知道吗?亲切的问候。