ESP8266 + WS2812

artem.barovik

✩✩✩✩✩✩✩
21 Окт 2022
20
1
@IamNikolay, Не большая часть. Пин поменял, так же мерцают первые два светодиода
E:\���������\Arduino\libraries\FastLED\fastspi_bitbang.h:333:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
333 | register data_t datalo = FastPin<DATA_PIN>::loval();
| ^~~~~~
E:\���������\Arduino\libraries\FastLED\fastspi_bitbang.h:334:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
334 | register clock_t clockhi = FastPin<CLOCK_PIN>::hival();
| ^~~~~~~
E:\���������\Arduino\libraries\FastLED\fastspi_bitbang.h:335:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
335 | register clock_t clocklo = FastPin<CLOCK_PIN>::loval();
| ^~~~~~~
E:\���������\Arduino\libraries\FastLED\fastspi_bitbang.h:350:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
350 | register data_t datahi_clockhi = FastPin<DATA_PIN>::hival() | FastPin<CLOCK_PIN>::mask();
| ^~~~~~~~~~~~~~
E:\���������\Arduino\libraries\FastLED\fastspi_bitbang.h:351:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
351 | register data_t datalo_clockhi = FastPin<DATA_PIN>::loval() | FastPin<CLOCK_PIN>::mask();
| ^~~~~~~~~~~~~~
E:\���������\Arduino\libraries\FastLED\fastspi_bitbang.h:352:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
352 | register data_t datahi_clocklo = FastPin<DATA_PIN>::hival() & ~FastPin<CLOCK_PIN>::mask();
| ^~~~~~~~~~~~~~
E:\���������\Arduino\libraries\FastLED\fastspi_bitbang.h:353:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
353 | register data_t datalo_clocklo = FastPin<DATA_PIN>::loval() & ~FastPin<CLOCK_PIN>::mask();
| ^~~~~~~~~~~~~~
In file included from E:\���������\Arduino\libraries\FastLED\FastLED.h:66,
from E:\���������\Arduino\libraries\FastLED\wiring.cpp:2:
E:\���������\Arduino\libraries\FastLED\chipsets.h: At global scope:
E:\���������\Arduino\libraries\FastLED\chipsets.h:87:80: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
87 | attribute((always_inline)) inline static uint8_t adjust(register uint8_t data) { return ((data>>1) | 0x80) + ((data && (data<254)) & 0x01); }
| ^~~~
E:\���������\Arduino\libraries\FastLED\chipsets.h: In member function 'virtual void LPD6803Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED>::showPixels(PixelController<RGB_ORDER>&)':
E:\���������\Arduino\libraries\FastLED\chipsets.h:175:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
175 | register uint16_t command;
| ^~~~~~~
E:\���������\Arduino\libraries\FastLED\chipsets.h: In member function 'void P9813Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED>::writeLed(uint8_t, uint8_t, uint8_t)':
E:\���������\Arduino\libraries\FastLED\chipsets.h:351:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
351 | register uint8_t top = 0xC0 | ((~b & 0xC0) >> 2) | ((~g & 0xC0) >> 4) | ((~r & 0xC0) >> 6);
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@artem.barovik, согласно коду, должны первые 8 светодиодов должны менять цвет, а не 2 мерцать.
После компиляции, при загрузке есть ошибки?
 

artem.barovik

✩✩✩✩✩✩✩
21 Окт 2022
20
1
@IamNikolay, Ошибок нет. Есть сообщения которые выше. Да должны гореть все 8, но этого я не добился при подключении напрямую от ESP к ленте
@artem.barovik, согласно коду, должны первые 8 светодиодов должны менять цвет, а не 2 мерцать.
После компиляции, при загрузке есть ошибки?
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@artem.barovik, возможно компилятор неправильно собирает прошивку, переустановите ардкино иде в папку без кириллицы
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
543
Saint-Petersburg, Russia
пару лет назад стоял похожий хай про "логические уровни", "вольтодобавки" и втыкание диода между минусом и gnd пином контроллера в теме про лампу. Вой стоял такой что я чуть было не поверил в эту херомантию. Плюнул, взял ЛБП и сел тестировать. Вышло все очень просто - сами светодиоды питаются от внутреннего линейного стабилизатора тока, т.е. вся разница в напряжении между падением на светодиоде тупо переводится в тепло. Лента нормально работает при напряжении от 3.7 вольта без потери яркости на синем свете (3.7в на чип, а не на 30 метров ленты с одного конца). Ток, проходящий через матрицу, не меняется при зменении входного напряжения в диапазоне от 3.7 до 5 вольт при неизменной яркости, разница лишь в количестве "холостого" тепла.
Сам контроллер внутри чипа, который управляет цветами, вообще нормально работает при напряжении 2.8 вольта чтоли (если правильно помню). Нормально в смысле что данные принимаются и передаются далее по цепочке без искажений. Т.е. внутри конроллер похоже также живет от стаба на 3.3 вольта. Все разговоры о несовпадении логических уровней между есп и вс2812 это не более чем гомеопатия.
 
  • Лойс +1
Реакции: Wan-Derer

artem.barovik

✩✩✩✩✩✩✩
21 Окт 2022
20
1
@vortigont, Добрый день, хорошо, этот разговор допустим бессмыслен и тогда лента должна стабильно работать. Тогда можете дать совет, к какую сторону копать. От ESP на прямую лента не работает корректно, мигает первый или второй диод и все. Код 100% рабочий, используется правильный пин. На фотографиях выше видно что без преобразователя не работает.
 

artem.barovik

✩✩✩✩✩✩✩
21 Окт 2022
20
1
@poty, Приобрел конвертер на плате, все припаял, чтобы исключить макетную плату. Работает стабильно, только при выводе не статичных эффектов, первый светодиод подмигивает.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
543
Saint-Petersburg, Russia
С фотогравиями я не очень понял что они демонстрируют кроме того что "не работает".
В вашем первом посте написано
Сделал пример из библиотеки FastLed нормально заработал. Но то же самое не работает в моем коде.
т.е. если у вас пример из фастлед работает, то к чему все последующие разговоры о преобразователей уровней то?
 

artem.barovik

✩✩✩✩✩✩✩
21 Окт 2022
20
1
@vortigont,Не совсем корректно написал, ни один пример не работает без конвектора, с конвектором начала лента работать корректно
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,975
635
45
ни один пример не работает без конвектора, с конвектором начала лента работать корректно
Что и требовалось доказать.
Как уже писал, у меня есть теория почему без конвертера срабатывает, но для опытов нужно найти некоторые детали.
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
Все разговоры о несовпадении логических уровней между есп и вс2812 это не более чем гомеопатия.
Именно! Но сейчас снова могут появиться "любители конвертеров"

@artem.barovik, припаяйте без конвертора - будет тот же результат
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
Работает стабильно, только при выводе не статичных эффектов
Это доказывает что где то был плохой контакт, т.к. при динамических эффектах данные идут постоянно и в момент контакта - лента обновлялась, а в статическом режиме данные отсылаются 1 раз и, если, в этот раз, был плохой контакт, то чип ws2812 сигнал не получал и последующие "шевеления" проводов ни к чему не приводило.
 

poty

★★★★★★✩
19 Фев 2020
3,270
950
@IamNikolay, это ничего не доказывает, сменили версию ядра и всё заработало на любых эффектах.
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@poty, кто то снова не внимательно читает, есть даже фото с предыдущим ядром где видно что лента включалась с разными цветами - значит работала, а версия ядра изменила только мерцание 1 светодиода...
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,975
635
45
@IamNikolay, Цитируйте полностью предложение чтобы исключить вырывание из контекста.
Работает стабильно, только при выводе не статичных эффектов, первый светодиод подмигивает.
И далее уточнение:
Не совсем корректно написал, ни один пример не работает без конвектора, с конвектором начала лента работать корректно
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@poty, у вас сомнения по поводу 0,2 В, а 1,5 В - у вас сомнения не вызывают, так что ориентироваться на вашу логику явно не стоит. Да и сами себе противоречите....
 

poty

★★★★★★✩
19 Фев 2020
3,270
950
@IamNikolay, ну если сравнивать козу с баяном, то да - Ваша логика железна! Только в данном случае она не сработала.
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@poty, еще как сработала - после припаивания, а не использования макетки, у автора все заработало.
А вот вы со своими просчетами оказались в пролете.
И на будущее - читайте даташит прежде чем на него ссылаться!
правильное техническое решение подключения 5В логики к логике 3,3В, подтверждённый данными datasheet.
в даташите указано 0,7 Vdd - это 3,5 Вольтовая логика, а не 5 В. (для питания 5 Вольт)
 
Изменено: