我在粒子光子上玩NeoPixels。已经得到了一个示例代码,通过不同的颜色旋转neopixels。然而,对于如何扩展这个问题有点困惑,特别是它定义了neopixel颜色的方式。#定义,NeoPIxel的RGB颜色
草图的颜色定义为这样
#define BLUE 5,5,190
#define WHITE 150,150,150
#define GREEN 10,180,10
,并呼吁以这种方式下面的函数自旋
spin (BLUE);
void spin(int R, int G, int B) {
for(i=0; i < PIXEL_COUNT; i++) {
strip.setPixelColor(i, R,G,B);
strip.show();
delay(waitTime);
}
for(i=0; i < PIXEL_COUNT; i++) {
strip.setPixelColor(i, 0,0,0);
strip.show();
delay(waitTime);
}
}
我想发送的光子命令来改变颜色,所以需要设置一个变量等于所定义的颜色之一并传递给旋转函数。 然而,变量设置为INT失败即
int lightcolor = BLUE;
我还试图阵列
int lightcolor [] = BLUE;
失败以及。
我设法得到 int lightcolor [1,1,1] = BLUE
通过编译器,但它没有在功能呼叫
自旋(lightcolor)
或 自旋(lightcolor [1,1,1] }
只是不确定我在这里丢失了关于#define如何声明const以及如何在整个草图中使用它的问题
谢谢
'5,5,190'不是一个有效的int。你是否应该使用逗号分隔的数字作为参数传递给函数? – Carcigenicate
这确实是一种奇怪的定义颜色的方式,如果您想要对数据做大量工作,这非常无益。我建议看看不同的示例代码。 –