WiFi лампа-будильник. Обсуждение прошивки от vvip-68

Александр_Ава

✩✩✩✩✩✩✩
23 Фев 2025
14
0
Уважаемые разработчики, у меня такой вопрос: Матрица имеет размер 20х40 и в одном из режимов идёт не полное заполнение.
 

Вложения

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Александр_Ава,
видимо, поэтому:
1765979528313.png

А вот почему такие ограничения - вопрос к автору эффекта. Я не помню.
Да и не нужно было в этом разбираться.
 

AnCore

★★★✩✩✩✩
27 Янв 2020
406
177

Вложения

VadZher

★✩✩✩✩✩✩
4 Ноя 2021
142
39
Омск
@Anatolii123,
Настройки («галочки») я не менял, всегда оставлял те, что были по-умолчанию, загружал все четыре файла за раз, порядок - по возрастанию адресов ячеек памяти.
При подключении к точке доступа Вы с какого устройства пытались зайти на адрес 192.168.4.1? Не на базе iOS, случайно? А очистку кэша браузера после неудачных попыток выполняли?
 

Юрий Мариуполь

✩✩✩✩✩✩✩
25 Дек 2025
4
0
Здравствуйте. Я новичок в этом деле. Собрал матрицу 23х30 на WS2812В с вертикальным зигзагом (точка снизу слева) с версией v 1.13 потом с v 1.14. и всё работает. Решил сделать панель на улицу с ленты светодиодов WS2811 L=50 (получилась матрица 40х25 горизонтальные зигзаг с точкой с право низ) и вот возникла такая проблема. Не корректно отображается текст (часы, погода и т.д.). Вторая строчка пикселей сверху и вторая строчка пикселей снизу смещается на один пиксель в сторону. Что это такое и как это устранить? Прошивки менял с 1.13 на 1.14 глюк тот же. Матрицу проверял - везде по 40 светодиодов в строчке.
 

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Юрий Мариуполь, так дело на в объявлении чипа в скетче, а в самой ленте. Вам бы прорстеньким скетчем зажигая по одному светодиоду проверить - при включении одного диода на ленте горит один или все же сразу три. Что происходит при включении следующего по адресу? У самого лент 2811 не было, но мне поминится, что кто-то писал, что они адресуются по три диода на ленте. То есть, если натягивать как обычную WS2812 - матрица не получится. Проверьте. Там хоть и написано 1 LED / Pixel, но...
 

Юрий Мариуполь

✩✩✩✩✩✩✩
25 Дек 2025
4
0
@vvip, Вот китаец описывает так HarrisonTek Номер модели WS2811 IC:
Технические характеристики:
Рабочее входное напряжение: 5 В постоянного тока.
Протокол: WS2811
Заказ цвета: G R B (не RGB)
SMD: SMD3240
Выходная мощность: 0,1 Вт/шт. светодиод.
Цвет излучения: WS2811/WS2812 RGBIC.
Выходной ток R/G/B: 5,5 мА
Провод:#26AWG, 3-контактный провод (VCC+,DATA,GND)
 

Юрий Мариуполь

✩✩✩✩✩✩✩
25 Дек 2025
4
0
@vvip, Ну я сам только месяц как в это дело вникать начал. Хотел внукам праздник сделать. Коада стартует матрица, то как и на первой по середине зелёные в ряд диоды означающие подключение сети, потом эффекты, которые вроде не отличаются по рисунку с другой матрицей а вот когда появляется текст и он портит вид своими нечитаемыми символами.
 

Divin

★★★★✩✩✩
30 Янв 2021
463
207
@Юрий Мариуполь,самое простое действие - загрузить прошивку wled, заливается прямо из браузера. По дефолту там загорается 30 пикселей, вот и увидите сразу сколько диодов на пиксель.
 
  • Лойс +1
Реакции: Юрий Мариуполь

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Юрий Мариуполь, чего его искать то? Спросите у любого ИИ он вам за 5 минут напишет. Хоть у того же GigaChat - не сочтите за рекламу. Я вот спросил - он мне вот что написал. С первого взгляда не вижу причин, чтобы это не работало
Тестовый скетч:
#include <FastLED.h>

#define DATA_PIN 2       // Используем GPIO2 (D4 на плате Wemos D1 Mini)
#define NUM_LEDS 100     // Количество светодиодов

CRGB leds[NUM_LEDS];     // Массив светодиодов

unsigned long previousMillis = 0; // Хранит отметку последнего обновления состояния
byte currentLedIndex = 0;         // Текущий индекс активного светодиода

void setup() {
  Serial.begin(115200);           // Опционально, для дебага
  FastLED.addLeds<WS2811, DATA_PIN, GRB>(leds, NUM_LEDS); // Инициализация ленты
}

void loop() {
  unsigned long currentMillis = millis(); // Получаем текущее время в миллисекундах

  if(currentMillis - previousMillis >= 1000) { // Проверяем, прошло ли больше одной секунды
    previousMillis = currentMillis;           // Сохраняем текущее время

    fill_solid(leds, NUM_LEDS, CRGB::Black); // Гасим весь массив светодиодов
    leds[currentLedIndex++] = CRGB::White;   // Активируем следующий светодиод белым цветом
    if(currentLedIndex >= NUM_LEDS) {        // Проверяем выход за пределы массива
      currentLedIndex = 0;                   // Возвращаемся к первому светодиоду
    }
    FastLED.show();                          // Отображаем новое состояние ленты
  }
}
 
  • Лойс +1
Реакции: Юрий Мариуполь

Юрий Мариуполь

✩✩✩✩✩✩✩
25 Дек 2025
4
0
@vvip, Спасибо за помощь!!!! С помощью этих программ, сначала по очереди всю ленту 1000 один (1000-й - это я так думал не загорался, потому что после сборки было 3 лишних!!!). Запустил другой скетч, где по очереди должно загораться 5 светодиодов! А загорается всего 4и тут осенило! Размотал изоленту а там первый светодиод оказался а в сборке получился второй стартовый!!! Что значит не внимательность!
 

Александр_Ава

✩✩✩✩✩✩✩
23 Фев 2025
14
0
Всех с наступающим Новым Годом. Собрал я большую панель 40х40 светодиодов из такой же ленты, что и @Юрий Мариуполь. Но оказалось, что у меня цветовая последовательность RGB. Прошивку в контроллер я заливал бинарником, а там по умолчанию GRB. Когда я пытаюсь поменять её на RGB, мало того, что ничего не меняется, так ещё и количество светодиодов в матрице уменьшается на 1 и становиться 1599. Помогите, пожалуйста, решить проблему.
 

Вложения

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Александр_Ава,
никаких несоответствий нет. Если у вас нумерация начинается с 0 - далее идет 1600 светодиодов в цепочке. Если вы ставите вывод не с 0, а с 1 диода - далее в цепочке остается 1599 диодов, т.к самый первый с индексом 0 - пропускается.. Так что - у вас нет проблемы.

Кстати, а почему вывод с 1, а не с 0? На конфигурацию матрицы это никак не повлияет. Если вы наклеили ее со смещением - всё так и будет выводиться со смещением, хоть с 1, хоть с 10. Мотому что конфигурация матрицы задается ФИЗИЧЕСКОЙ ее наклейкой, а тут задается просто начало вывода на матрицу, а не логические смещения. Если наклеили матрицу так же как и Юрий Мариуполь с промахом на один диод, то и решение то же самое - физически отрезать первый скрытый светодиод.
 
Изменено:

Александр_Ава

✩✩✩✩✩✩✩
23 Фев 2025
14
0
@vvip,
проблема в том, что не я выставляю выводы не с 0 и заканчиваю 1599, это контроллер (ну или прошивка) делает сама. Я пытаюсь поменять последовательность цветов, а в результате получается, что последовательность не меняется, а меняются только эти цифры. Изначально всё нормально с 0 до 1600. Может я что-то делаю не так?
 

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Александр_Ава,не знаю, ничего сказать тут не могу. Я с таким не сталкивался. У меня (по крайней мере на матрице 56x10 и на матрицах других стандартных размерах 16х16 и 32x8) со сменой порядка цвета никаких проблем нет. Жди, может кто тут еще сталкивался с такой проблемой и чего дельного подсказать сможет. Я - нет.
 

Александр_Ава

✩✩✩✩✩✩✩
23 Фев 2025
14
0
@vvip, я конечно вышел из положения и прошил заново с нужной последовательностью, но так и не смог прошить web-ку. Может есть возможность собрать бинарник под меня, что бы RGB было по умолчанию?
 

Александр_Ава

✩✩✩✩✩✩✩
23 Фев 2025
14
0
@vvip, дело в том, что у меня esp32-s3 n16r8. Я не могу понять с какими параметрами прошивать web-интерфейст. Если IDE сказать, что у меня стандартная s3 c 4Мб, то web-интерфейс не работает, а если сказать, что памяти больше, то прошиваться не хочет.
 

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Александр_Ава, Web-данные прошиваются точно с теми же параметрами, с которыми заливается сама прошивка. А что значит "не хочет прошиваться"?
 

vvip

★★★★✩✩✩
18 Дек 2018
587
254
@Александр_Ава, подробностей не помню. Я прошивал с теми параметрами, что в комплекте проекта указаны на скриншоте для esp32-S3.

Возможно у меня была плата N8R2. Не помню.
Экспериментируйте.
 

Вложения