Управление Neopixel на Arduino с помощью Bluetooth приводит к мерцанию - PullRequest
0 голосов
/ 15 октября 2018

В настоящее время я создаю приложение, в котором мой телефон 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();
}

1 Ответ

0 голосов
/ 17 октября 2018

Ваш neopixel работает правильно, когда вы загружаете тестовый код, который, как известно, работает?если это произойдет, я попытаюсь изменить часть, в которой вы передаете значения цвета bluetooth неопикселю, или даже удалить его и добавить его по частям, чтобы увидеть, откуда возникла проблема.я полагаю, что вы уже пытались просмотреть значения, полученные arduino на последовательном мониторе, чтобы убедиться, что мерцание на самом деле не со стороны Android.

...