ARDUINO Крутая гирлянда на ёлку. Обсуждение проекта

BOPOH

✩✩✩✩✩✩✩
19 Дек 2020
5
0
Народ, кто подскажет, почему не компилится при включении отдельного пина с Cloc-ом, для 4х проводных лент. в частности ws2813(2815)
Почему не компилируется - не подскажу. Но замечу, что WS2813 хотя и 4-х-проводная, но без CLOCK-а. 4й провод - это "запасной" сигнал, Этот вход на 1м диоде никуда не подключать (или лучше подключить к минусу/земле).
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@beast,

вначале скетча должно быть
#include <FastLED.h>

посмотри наличие этой библиотеки последней версии, удали старые и ненужные копии.

@BOPOH, у первого светодиода их нужно подать оба на выход контроллера
 

beast

★✩✩✩✩✩✩
28 Сен 2020
29
11
@BOPOH, у первого светодиода их нужно подать оба на выход контроллера
О первый раз слышу, спасибо. я думал что там просто тактовая несучка и всё. ок, попробую без него собрать.
150 диодов ардуина нано потянет ктонить вкурсе ?

а LP6803 ? старая микруха, нашёл у себя тут пару лент, хз даже поддерживается ли это дело фастледом.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@beast, нет, это просто резерв. просто если на основную линию не приходит сигнал, то считывается с резервной через один. Если погорит первый светодиод, то в таком случае гирлянда не погаснет. В противном случае вся гирлянда не будет работать. Это утверждение не подходит для матриц.
По поводу LP6803 ничего не скажу.
 

todey2

✩✩✩✩✩✩✩
27 Дек 2020
2
0
Привет всем, собрал (спаял) все пос схеме. блок питания 5 на 3 ампера.
Питание раздваивается на плату и на ленту.
Но возникла проблема.
Ардуино Нано. При подключении (гирлянды) ws2811 с колпачками все диоды горят белым светом. При подключении (гирлянды) ws2812 горит только первый светодиод. и все. На нажатие кнопки реакции нет.
Подскажите как победить ? или укажите, где я ошибся ? в какую сторону копать.
использовал разные 2 разные наны ...
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@todey2, переключить пин, может он работает на встроенный светодиод. Посмотреть куда смотрят другие пины в конфигурации. Поставь большой кондер на питание. Потом, если внутренняя микросхема питается от 3.3 (через стаб) то может быть несогласование логических уровней. Если БП регулируемый попробуй понизить напряжение до 4.8-4.9...
 
  • Лойс +1
Реакции: todey2

beast

★✩✩✩✩✩✩
28 Сен 2020
29
11
сколько не бился так и не получилось скомпилировать для LPD6803 диодов. даже с закоментированной строкой под клок. и на других диодах стоит раскоментировать строчку под Clk, нифига не компилится. фастлед переставлял 10 раз, толку нет.
6803 странная старая лента. китайские контроллеры работают но там ужасные эфекты.


In file included from C:\Arrr\ChristmasLights-master\ChristmasLights-master\firmware\notamesh4_gyver_v1.1\1main.ino:10:0:
C:\Users\beast\Documents\Arduino\libraries\FastLED\src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000
# pragma message "FastLED version 3.004.000"
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\beast\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,
from C:\Arrr\ChristmasLights-master\ChristmasLights-master\firmware\notamesh4_gyver_v1.1\1main.ino:10:
C:\Users\beast\Documents\Arduino\libraries\FastLED\src/fastpin.h: In instantiation of 'class FastPin<66>':
C:\Users\beast\Documents\Arduino\libraries\FastLED\src/fastspi_bitbang.h:23:50: required from 'class AVRSoftwareSPIOutput<2, 66, 1>'
C:\Users\beast\Documents\Arduino\libraries\FastLED\src/fastspi.h:34:7: required from 'class SPIOutput<2, 66, 1>'
C:\Users\beast\Documents\Arduino\libraries\FastLED\src/chipsets.h:158:6: required from 'class LPD6803Controller<2, 66, (EOrder)10, 1>'
C:\Users\beast\Documents\Arduino\libraries\FastLED\src/FastLED.h:239:66: required from 'static CLEDController& CFastLED::addLeds(CRGB*, int, int) [with ESPIChipsets LPD6803 = (ESPIChipsets)0; unsigned char DATA_PIN = 2; unsigned char CLOCK_PIN = 66]'
C:\Arrr\ChristmasLights-master\ChristmasLights-master\firmware\notamesh4_gyver_v1.1\1main.ino:203:61: required from here
C:\Users\beast\Documents\Arduino\libraries\FastLED\src/fastpin.h:210:2: error: static assertion failed: Invalid pin specified
static_assert(validpin(), "Invalid pin specified");
^~~~~~~~~~~~~
 
Изменено:

BOPOH

✩✩✩✩✩✩✩
19 Дек 2020
5
0
сколько не бился так и не получилось скомпилировать для LPD6803 диодов. даже с закоментированной строкой под клок. и на других диодах стоит раскоментировать строчку под Clk, нифига не компилится. фастлед переставлял 10 раз, толку нет.
6803 странная старая лента. китайские контроллеры работают но там ужасные эфекты.
А какие параметры вы ставите? Из интереса проверил - для esp32, версия с github-а и FastLED 3.4 параметрами

#define CHIPSET LPD6803 //Тип микросхемы светодиодов в гирлянде
#define LED_DT 4 // Номер пина куда подключена гирлянда
#define LED_CK 2 // Номер пина для подключения тактов, применяется для светодиодов WS2801 или APA102

собирается без проблем. Кстати, проверил - если поставить тип без CLOCK-а (например WS2813), но задать LED_CK - не собирается. То есть нельзя собрать с CLOCK-ом для чипа, который (по мнению FastLED-а) этого не умеет.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@beast, @BOPOH,

Разница, как говорится, в деталях:
FastLED.addLeds<WS2812, LED_DT, GRB>(leds, NUM_LEDS); // GRB ordering is typical
FastLED.addLeds<LPD6803, LED_DT, LED_CK , GRB>(leds, NUM_LEDS); // GRB ordering is typical
 
  • Лойс +1
Реакции: kostyamat

beast

★✩✩✩✩✩✩
28 Сен 2020
29
11
@beast, @BOPOH,

Разница, как говорится, в деталях:
FastLED.addLeds<WS2812, LED_DT, GRB>(leds, NUM_LEDS); // GRB ordering is typical
FastLED.addLeds<LPD6803, LED_DT, LED_CK , GRB>(leds, NUM_LEDS); // GRB ordering is typical
мерси. почему-то после перезагрузки компа начало собираться для 6803.
остался один вопрос, как определить корректность соответствия цветов R G B ?
 

ArtemVB

✩✩✩✩✩✩✩
30 Дек 2020
2
2
Всем привет!

Повторил проект на базе контроллера WEMOS D1 mini. Оказалось скетч под него не компилируется. По моему он вообще не компилируется не под какие варианты с ESP8266. Хотя я все не перебирал. Попробовал несколько.

После реверс инжиниринга кода проекта нашёл пару багов/недоделок которые решают проблему.

Для правильного мапинга пинов перед подключением библиотеки FastLED.h в код lmain нужно вставить объявление следующей константы.
#define FASTLED_ESP8266_D1_PIN_ORDER

Если у вас другой контроллер на базе ESP8266 вам нужно объявить другую константу. Смотрите документацию к модулю FastLED.

Вторая проблема состоит в библиотеке getirl.h
Для перезагрузки контроллера используется прямая машинная команда

asm volatile("jmp 0");

Это довольно грубый хак. Я бы так не делал. Тем более на некоторыхконтроллерах (например на ESP8266 он просто не работает). Чтобы это исправить нужно поменять эту строку на следующую:

ESP.reset();

Буду рад если кому-то поможет.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@ArtemVB, да, проблем много будет с перекидыванием на платформу ESP, включая замену несовместимых библиотек.
На этой странице веду свой проект гирлянды под ESP https://community.alexgyver.ru/thre...irenie-vozmozhnostej-fastled.4278/#post-68736 если интересно - посмотрите.
Думаю, на днях закончить с отладкой режимов включения, и потом проект можно будет обвешивать различным функционалом.
 

fusgerts

✩✩✩✩✩✩✩
8 Янв 2020
11
0
О крутяк, палпалыч, буду пристально следить за вашим детищем)
 

todey2

✩✩✩✩✩✩✩
27 Дек 2020
2
0
@todey2, переключить пин, может он работает на встроенный светодиод. Посмотреть куда смотрят другие пины в конфигурации. Поставь большой кондер на питание. Потом, если внутренняя микросхема питается от 3.3 (через стаб) то может быть несогласование логических уровней. Если БП регулируемый попробуй понизить напряжение до 4.8-4.9...
Убрал из цепи резистор. Гирлянда заработала. И на 2811 и на 2812
Подскажите пожалуйста.
На сколько критично будет работа гирлянды без резистора ?
 

pfff

✩✩✩✩✩✩✩
26 Дек 2020
5
1
Всем привет. В первый раз работаю с подобным. Подскажите, лента 12В 4-ех контактная, включил в розетку горит только зеленым, менял в скетче пин на кнопку не помогает, режимы не меняет, демо остановился на автоматическом. Помогите
 
  • Лойс +1
Реакции: 20Geo06

ForeigneRad

✩✩✩✩✩✩✩
9 Дек 2020
1
0
Я новичок в Ардуино. Имею опыт работы с микросхемами. Хочу повторить эту гирлянду. Скажите, а можно для начала не сразу всю ленту использовать , а отдельно штуки 3-4 светодиода? Посмотреть, будет ли работать. Надо ли вносить изменения в скетч?
В скече первая строка, какую цифру поставишь, столько и будет светиться, я так собирал гирлянду из кусков рабочих/нерабочих светодиодов
#define KOL_LED 85 // Сколько светодиодов в гирлянде при первом включении
 

Kruks

✩✩✩✩✩✩✩
11 Фев 2019
5
1
Можно поставить хоть 300 светодиодов в программе, работать она будет, светиться будет столько, сколько физически подключено, если их меньше.
 

Vik_80

✩✩✩✩✩✩✩
22 Фев 2021
1
0
Здравствуйте Всем! Возникла идея сделать подсветку беседки по периметру на основе этого проекта. Но возникли вопросы, прошу знатоков и просто решивших подобное о помощи. Итак, исходные данные: строить планирую на базе адресной ленты на 30 или 60 диодов на метр (в связи с этим будет первый вопрос), лента будет уложена в алюминиевый профиль с крышкой-рассеивателем, длина ленты 15 метров. Внимание, вопросы:
1) 30 диодов на метр - под крышкой будут видны отдельные пиксели или картинка сольется в плавные цвета, или все-таки нужно использовать 60 д/м (не хотелось бы брать с запасом, так как в данном случае запас карман тянет..);
2) в описании звучит, что данная схема поддерживает до 300 диодов, у меня же даже при 30 д/м будет 450 диодов (при 60д/м соответственно 900). Как решить эту проблему? Например, поставить другую Ардуино (например Мега), подойдет ли для нее этот скетч, что нужно будет поменять в скетче для работы такого количества диодов? Заранее благодарен всем неравнодушным!
 

Shuster

★✩✩✩✩✩✩
4 Сен 2021
50
11
Товарищи подскажите по скетчу.

Меняю скетч под свой проект (не ёлка).
Приблизительный план.
Выкидываю пульт.
Переделываю логику, чтобы легко можно было править в дальнейшем.
Затем оставлю только подходящие режимы, и добавлю новые.

Столкнулся со странностями.

Заметил, что все моргания режимов ускорились.
Не понял что я наделал, но факт остаётся фактом.

Загружаю вчерашние изменения работает как и раньше медленно, загружаю сегодняшние очень быстро моргает.
Изменений куча, и в основном ориентировался на то, что работает, значит идём дальше.

Что-то мне кажется что вопрос детский, но решения не могу найти.

Где можно изменить скорость мерцаний в этой прошивке?
Или может в настройках FastLED?
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,266
1,303
Москва
Убрал пульт. А там видимо есть опрос. Обновлять гирлянду надо не как попало , когда все готово, а по времени, с определенной частотой.
Ну т.к. код я не помню, хотя наверняка смотрел, то это предположение. Можно проверить тупо добавив delay в цикл loop и подобрав там нужную задержку