Без подсветки перил примерно на 800 чиповСколько светодиодов со всеми улучшениями теперь поддерживается ?
З.Ы. Моё персональное мнение - на Arduino Nano надо использовать ленту WS2811 с тремя светодиодами на 1 чип.
Изменено:
Без подсветки перил примерно на 800 чиповСколько светодиодов со всеми улучшениями теперь поддерживается ?
@strongest, если Вы внимательно посмотрите в код, то увидите что переменная для маски имеет размерность uint16 - соотвенно в ней не может быть больше 16 битступень = 47 чипов, маска для нее 0b01001001001001001001001001001001001001001001001
что не так может быть?
Для того и задаю вопросы если что то не понимаю, а если б понимал то не задавал такие вопросы, логично?@strongest, если Вы внимательно посмотрите в код, то увидите что переменная для маски имеет размерность uint16 - соотвенно в ней не может быть больше 16 бит
А в вашей "колбасе" 0b01001001001001001001001001001001001001001001001 - сколько? 47 ?
Ребята - касается всех новичков!
Не понимаете код - не лезте менять!
Поменяли без понятия - не плачьте что не работает!
текущий код такого не поддерживает. Хотя написать можно, пробуйтея хотел кроме первых т.е остальные ступеньки по краям слева и справа в дежурном режиме подсвечивать каждую ступень по одном диоду с каждой стороны.
Там же на каждую ступень отдельная маска, разве не так?текущий код такого не поддерживает. Хотя написать можно, пробуйте
Step steps[STEP_AMOUNT] = {
{ 47, 0b0100100100100100 },
{ 47, 0b0000000000000000 },
...
};
что-нибудь меняли в коде, кроме числа ступеней и битмасок?в моем случае 47 диодов на ступень ws2815.
глючит примерно после 4-й смены, диоды начинают не смещаться а сливаться в всю длину ступени с каждым разом смены в дежурном режиме увеличиваясь в количестве активных диодов... Через некоторое время вся ступенька светится в дежурном режиме полностю
такое же - у автора проекта.Моё персональное мнение - на Arduino Nano надо использовать ленту WS2811 с тремя светодиодами на 1 чип.
Сам код я не трогал, только входные параметры: количество ступеней, общее количество чипов, и значение количества каждой ступени в массиве возле масок, маску я оставил оригинальную как есть от автора дабы не создавать своими действиями дополнительных вопросов и проблем.что-нибудь меняли в коде, кроме числа ступеней и битмасок?
Просмотрел последний код Геннадия - не вижу ошибок, которые могли бы обьяснить такое поведение
#define STRIP_LED_AMOUNT 674 // кол-во светодиодов на всех ступеньках
#define STEP_AMOUNT 14 // количество ступенек
// описание всех ступенек с возможностью подсветки ЛЮБЫХ ступенек в ночном режиме
Step steps[STEP_AMOUNT] = {
{ 47, 0b0100100100100100 }, // первая ступенька 16 чипов, 0b0100100100100100 - каждый третий чип активен в ночном режиме
{ 47, 0b0000000000000000 }, // вторая ступенька 16 чипов, 0b0000000000000000 - не активен в ночном режиме
{ 47, 0b0000000000000000 }, // 3
{ 47, 0b0000000000000000 }, // 4
{ 56, 0b0000000000000000 }, // 5
{ 54, 0b0000000000000000 }, // 6
{ 47, 0b0000000000000000 }, // 7
{ 47, 0b0000000000000000 }, // 8
{ 47, 0b0000000000000000 }, // 9
{ 47, 0b0000000000000000 }, // 10
{ 47, 0b0000000000000000 }, // 11
{ 47, 0b0000000000000000 }, // 12
{ 47, 0b0000000000000000 }, // 13
{ 47, 0b0100100100100100 } // 14
};
#define AUTO_BRIGHT 0 // автояркость вкл(1)/выкл(0) (с фоторезистором)
#define CUSTOM_BRIGHT 100 // ручная яркость
...
#define TIMEOUT 5 // секунд, таймаут выключения ступенек после срабатывания одного из датчиков движения
...
#define STRIP_PIN 41 // пин ленты ступенек
...
#define ORDER_RGB // порядок цветов ORDER_GRB / ORDER_RGB / ORDER_BRG
....
Такая же ситуация. Лента WS2811, кроме количества ступенек и чипов больше ничего не менял.Сам код я не трогал, только входные параметры: количество ступеней, общее количество чипов, и значение количества каждой ступени в массиве возле масок, маску я оставил оригинальную как есть от автора дабы не создавать своими действиями дополнительных вопросов и проблем.
привожу листинг изменений которые я затронул:
C++:#define STRIP_LED_AMOUNT 674 // кол-во светодиодов на всех ступеньках #define STEP_AMOUNT 14 // количество ступенек // описание всех ступенек с возможностью подсветки ЛЮБЫХ ступенек в ночном режиме Step steps[STEP_AMOUNT] = { { 47, 0b0100100100100100 }, // первая ступенька 16 чипов, 0b0100100100100100 - каждый третий чип активен в ночном режиме { 47, 0b0000000000000000 }, // вторая ступенька 16 чипов, 0b0000000000000000 - не активен в ночном режиме { 47, 0b0000000000000000 }, // 3 { 47, 0b0000000000000000 }, // 4 { 56, 0b0000000000000000 }, // 5 { 54, 0b0000000000000000 }, // 6 { 47, 0b0000000000000000 }, // 7 { 47, 0b0000000000000000 }, // 8 { 47, 0b0000000000000000 }, // 9 { 47, 0b0000000000000000 }, // 10 { 47, 0b0000000000000000 }, // 11 { 47, 0b0000000000000000 }, // 12 { 47, 0b0000000000000000 }, // 13 { 47, 0b0100100100100100 } // 14 }; #define AUTO_BRIGHT 0 // автояркость вкл(1)/выкл(0) (с фоторезистором) #define CUSTOM_BRIGHT 100 // ручная яркость ... #define TIMEOUT 5 // секунд, таймаут выключения ступенек после срабатывания одного из датчиков движения ... #define STRIP_PIN 41 // пин ленты ступенек ... #define ORDER_RGB // порядок цветов ORDER_GRB / ORDER_RGB / ORDER_BRG ....
Похоже, нашел ошибку в версии 1.2, которая обьясняет этот эффектглючит примерно после 4-й смены, диоды начинают не смещаться а сливаться в всю длину ступени с каждым разом смены в дежурном режиме увеличиваясь в количестве активных диодов... Через некоторое время вся ступенька светится в дежурном режиме полностю всеми диодами одновременно белым цветом, но только та ступень которая задействована в маске.
struct Step {
int8_t led_amount;
uint16_t night_mode_bitmask;
};
Проверил - теперь работает как задумано!Похоже, нашел ошибку в версии 1.2, которая обьясняет этот эффект
В описании структуры для ступенек опечатка, тип переменной маски должен быть uint16_t:
C++:struct Step { int8_t led_amount; uint16_t night_mode_bitmask; };
// циклически сдвигаем маску, чтобы диоды не выгорали
if (steps[i].night_mode_bitmask) {
steps[i].night_mode_bitmask = steps[i].night_mode_bitmask >> 1 | steps[i].night_mode_bitmask << 15;
fillStepWithBitMask(i, NIGHT_LIGHT_COLOR, steps[i].night_mode_bitmask);
}
}
animatedSwitchOn(NIGHT_LIGHT_BRIGHT);
setBrightness(CUSTOM_BRIGHT);
}
Спасибо, исправил - работает. Из программирования у меня только лабораторки по бейсику в институте были ))). В этом месте?@Vancouver, полагаю эту строчку лучше добавить не в процедуру ночного режима, а в процедуру Fader(), которая отвечает за включение подсветки после срабатывания датчика.
место правильное, но параметр яркости не тотСпасибо, исправил - работает. Из программирования у меня только лабораторки по бейсику в институте были ))). В этом месте?
setBrightness(CUSTOM_BRIGHT);
stepFader(effectDirection == 1 ? 0 : 1, 0);
Точно - посмотрел и понял, что с моим параметром не будет работать автояркость.место правильное, но параметр яркости не тот
Вот так будет лучше
setBrightness(curBright);
Проиграли в одном месте, зато выиграли в другом.А у меня созрел вопрос! Битовая маска хорошо! При использовании меги с ее памятью вообще не проблема. А вот с нано уже сложнее. А теперь сам вопрос. Сколько светодиодов со всеми улучшениями теперь поддерживается ?
#if (RAILING == 1)
LEDdata railingLEDs[RAILING_LED_AMOUNT]; // буфер ленты перил
microLED railing(railingLEDs, RAILING_LED_AMOUNT, RAILING_PIN); // объект лента
#endif
При спайке кусков, вероятно, спутал полярность - выгорает на раз чипРебят помогите плиз. Начал собирать это все дело и паять, а она на 5 куске ленты (14 чипов на ленту, всего ступеней 8.) Выгорает чип управления и дальше не светят ленты. Когда была целый кусок ленты, все в целости работало.
И какого сечения проводом соединять ленту? Я взял 0.75мм2 для аудио, а для управления взял из витой пары(rg45). Позднее ступеней будет 17 штук. То есть 17 кусков ленты с 14 чипами ws218i вроде так было название
в какой версии?Подскажите, что за параметр STEP_LENGTH? Он не декларирован, но в файле effects он используется.
Основное отличие этой версии в том. что мы попытались сделать срабатывание датчиков движения действительно интерактивным. Дело в том, что в исходном коде Алекса во время разгорания и затухания подсветки датчики движения не работают. Если подсветка начала гаснуть по таймауту - то даже если в этот момент кто-то входит на лестницу. подсветка не зажгется.если я что то упустил, уважаемый @bort707 дополните мой пост.
здравствуйте! А как то можно увеличить количество светодиодов для нано? Или может другую плату взять? Мегу не хотелось бы брать из-за ее размеров.Основное отличие этой версии в том. что мы попытались сделать срабатывание датчиков движения действительно интерактивным. Дело в том, что в исходном коде Алекса во время разгорания и затухания подсветки датчики движения не работают. Если подсветка начала гаснуть по таймауту - то даже если в этот момент кто-то входит на лестницу. подсветка не зажгется.
В нашей версии это исправлено., правда для этого пришлось кардинально поменять логику кода