Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Проблема с установкой цвета на версии 3.6.0 при использовании нескольких лент #3

Open
IlyaB-git opened this issue Jul 23, 2023 · 2 comments

Comments

@IlyaB-git
Copy link

К Arduino nano подключено 6 лент, я задаю цвет светодиода при помощи

leds1.set(currentIndex, mRGB(red, green, blue));

Не устанавливаются никакие цвета кроме синего.
При установке синего цвета в 98 он уже на максимальной яркости, на 99 уже включается... ЗЕЛЕНЫЙ, далее при увеличении яркости синего, синий снова начинает набирать яркость от черного к синему и так несколько раз.
Использую: светодиодную ленту WS2812, Arduino Nano ATMega328P (Old bootloader).
Если будет необходимость, могу предоставить полный код

Перешел на версию 3.5.0, с ней такой проблемы нет

@Mike-Flagin
Copy link

Столкнулся с такой же проблемой. Проявляется если заданая глубина цвета не равна 3

@RadioPizza
Copy link

RadioPizza commented Mar 26, 2024

Подтверждаю наличие проблемы, удалось повторить баг

  • При глубине цвета 3 всё работает, при 2 или 1 ломается.
  • Экспериментально подбирая разные аргументы метода set(), пришёл к выводу, что синий цвет выводится нормально во всём диапазоне от 0 до 255.
  • Красный и зеленый отдельно, а также составные цвета либо отображаются верно, либо вообще не отображаются.
  • Закономерности не выявил.
  • Также НЕ удалось получить в результате неверный вывод цвета (отличного от заданного), либо правильный, либо ничего.

Arduino IDE 1.8.19
microLED 3.6
Arduino Nano, Atmega328P (Old bootloader)
Резистор около 400 Ом, питание от USB 3.1

// Тестовая прошивка
#define COLOR_DEBTH 2
#include <microLED.h>
microLED<1, 10, -1, LED_WS2812, ORDER_GRB> strip;

void setup() {
    strip.setBrightness(100);
    strip.clear();
    strip.show();
    delay(1);
}

void loop() {
    strip.set(1, mRGB(34, 150, 0));
    strip.show();
    delay(1000);
}

Upd:

Изменив глубину цвета на 1 и попробовав strip.set(1, mRGB(0, 0, 255));, удалось получить неправильный цвет (белый вместо синего)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants