1
我想做一个循环,触发我声明的数组列表。但目前似乎没有任何工作。如何在Arduino上循环变量名?
目标是让循环在Neopixels上创建动画。数组是该动画的关键帧,我知道,可能有更好和更有效的方法来做到这一点。但这可能会符合我的要求。
所以,我已经尝试过这样既:
const int startSwipe0[][4] = {whole list of numbers};
const int startSwipe1[][4] = {whole list of numbers};
const int startSwipe2[][4] = {whole list of numbers};
const int startSwipe3[][4] = {whole list of numbers};
const int startSwipe4[][4] = {whole list of numbers};
const int startSwipe5[][4] = {whole list of numbers};
void setup() {
strip.begin();
strip.setBrightness(100); // 0-255 brightness
strip.show(); // Initialize all pixels to 'off'
}
void loop() {
currentTime = millis();
animation_a();
strip.show();
}
void animation_a() {
for (int j=0; j<6; j++) {
for (int i=0; i<NUM_LEDS; i++) {
String swipeInt = String(j);
String swipeName = "startSwipe"+swipeInt;
Serial.println(swipeName);
strip.setPixelColor(i, swipeName[i][1], swipeName[i][2], swipeName[i][3]);
}
}
}
但这给出了这样的错误“无效类型‘的char [INT]’数组下标”,但它并打印相同的名字作为我的数组名称。
请帮忙!谢谢!
这种方法是一种适合一些脚本语言,但Arduino是*编译*。一旦程序运行,诸如变量名称之类的东西就绝对没有意义,这样的名字就在你和编译器之间。 – unwind