В настоящее время я создаю приложение, в котором мой телефон Android непрерывно отправляет Color-Integer на Arduino.После этого отдельные RGB-каналы анализируются и отправляются в Neopixel.Я получаю ужасный эффект мерцания.Таким образом, я получаю некоторые "?"в моем последовательном мониторе.Без подключения Neopixel, кажется, все работает нормально (в том, что касается получения и анализа цвета).Есть ли способ исправить эту проблему Bluetooth-Neopixel?
Мой код на сайте Arduino следующий:
void loop() {
if (bluetooth.available()){
current = bluetooth.read();
if(current == endChar) {
if(msg[0] = 'C') { // The first Character is the "key" to be received on Arduino
colorChange(msg);
} else if(msg[0] == 'S') {
fadeMode = true;
}
msg = "";
} else {
msg+=current;
}
}
}
void colorChange(String msg) {
//fadeMode = false;
msg.remove(0,1);
currentColor = atol(msg.c_str());
red = (currentColor >> 16) & 0xFF;
green = (currentColor >> 8) & 0xFF;
blue = currentColor & 0xFF;
for(int i = 0; i < NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(red, green, blue));
}
pixels.show();
}