можно перенять расчёт ограничения по току из проекта для ламп, тогда яркостью мы сможем зафиксировать максимальное потребление. Голосуйте, если это нужная фишка - добавлю в 1.3200 Вт выше крыши, на деле она меньше ест.
можно перенять расчёт ограничения по току из проекта для ламп, тогда яркостью мы сможем зафиксировать максимальное потребление. Голосуйте, если это нужная фишка - добавлю в 1.3200 Вт выше крыши, на деле она меньше ест.
я давно ЗА это))можно перенять расчёт ограничения по току из проекта для ламп
Смотрим видос Алекса - microLED может и 750:Даже по 30 на метр - и то 720 диодов выходит, тоже может не влезть.
это зависит от остального кода, при 750 диодах память нано занята почти полностью даже при двух байтах на диодmicroLED может и 750:
Приветствую, дошли руки до своей подсветки, припаял датчик освещённости. Стало интересней, наконец ночью не слепит. А днём - ярко, но БП в защиту начал уходить. Значит, кушает больше, чем надо.добавлю в 1.3
void setup() {
Serial.begin(9600);
FastLED.setMaxPowerInVoltsAndMilliamps(5, CURRENT_LIMIT);
setBrightness(curBright); // яркость (0-255)
clear();
show();
/// Set the maximum power to be used, given in volts and milliamps.
/// @param volts - how many volts the leds are being driven at (usually 5)
/// @param milliamps - the maximum milliamps of power draw you want
inline void setMaxPowerInVoltsAndMilliamps(uint8_t volts, uint32_t milliamps) { setMaxPowerInMilliWatts(volts * milliamps); }
Нет.проще самому яркость поправить.
Разумеется, число в миллиамперах я пробовал разное. 1000 и 100 это очень разные величины. Не работает, яркость не меняется.попробуйте сделать #define CURRENT_LIMIT 10
Нет. Пробовал)будет компилироваться?
LEDdata stripLEDs[STRIP_LED_AMOUNT]; // буфер ленты ступенек
microLED strip(stripLEDs, STRIP_LED_AMOUNT, STRIP_PIN); // объект лента (НЕ МАТРИЦА) из-за разного количества диодов на ступеньку!
#if (RAILING == 1)
LEDdata railingLEDs[RAILING_LED_AMOUNT]; // буфер ленты перил
microLED railing(railingLEDs, RAILING_LED_AMOUNT, RAILING_PIN); // объект лента
#endif
void setup() {
strip.setBrightness(30); // яркость (0-255)
// яркость применяется при выводе .show() !
strip.setVoltage(4500); // установить напряжение питания в мв, по умолч. 5000 (для расчёта тока)
strip.setMaxCurrent(700); // установить максимальный ток (автокоррекция яркости). 0 - выключено
// при .show() яркость будет скорректирована, чтобы ток не превышал установленный
}
void handlePhotoResistor() {
#if (AUTO_BRIGHT == 1)
EVERY_MS(3000) { // каждые 3 сек
int photo = analogRead(PHOTO_PIN);
Serial.print("Photo resistor ");
Serial.println(photo);
systemOffState = photo > NIGHT_PHOTO_MAX;
curBright = systemOffState ? 0 : map(photo, 30, 800, 10, 200);
setBrightness(curBright);
}
#endif
}
остается подобрать правильное значение яркости вместо 200 в этой формуле и функция setcurrenrlimit станет не нужна, о чем я и писал пару сообщений выше.значения фоторезистора мапятся на диапазон [10..200], т.е. curBright в итоге всегда будет в этом диапазоне
т.е. по 20 раз перешивать ардуинку, наблюдая, как БП улетает или не улетает в защиту - это проще, чем сразу ввести одну цифру 5000 для БП 5А и один раз прошить?остается подобрать правильное значение яркости вместо 200 в этой формуле и функция setcurrenrlimit станет не нужна
// описание всех ступенек с возможностью подсветки ЛЮБЫХ ступенек в ночном режиме
Step steps[STEP_AMOUNT] = {
{ 16, 0b0100100100100100 }, // первая ступенька 16 чипов, 0b0100100100100100 - каждый третий чип активен в ночном режиме
{ 16, 0b0000000000000000 }, // вторая ступенька 16 чипов, 0b0000000000000000 - не активен в ночном режиме
{ 16, 0b0000000000000000 }, // 3
{ 16, 0b0000000000000000 }, // 4
{ 16, 0b0000000000000000 }, // 5
{ 16, 0b0000000000000000 }, // 6
{ 16, 0b0000000000000000 }, // 7
{ 16, 0b0000000000000000 }, // 8
{ 16, 0b0000000000000000 }, // 9
{ 16, 0b0000000000000000 }, // 10
{ 16, 0b0000000000000000 }, // 11
{ 16, 0b0000000000000000 }, // 12
{ 16, 0b0000000000000000 }, // 13
{ 16, 0b0000000000000000 }, // 14
{ 16, 0b0000000000000000 }, // 15
{ 16, 0b0100100100100100 } // 16
};
скорее всего в этом и дело. Не подключенный вход ардуино превращается в антенну и собирает на себя все наводки.датчики не подключены.
Вот оно и срабатывает хаотично, наблюдал такое не раз. Надо припаивать датчики.Хотя датчики не подключены.
И с подключёнными датчиками такая историяскорее всего в этом и дело. Не подключенный вход ардуино превращается в антенну и собирает на себя все наводки.