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

Ветка обсуждения проекта Гирлянда.
Страница на сайте: https://alexgyver.ru/christmaslights/
Видео:

Делитесь своими вариантами изготовления, модификациями и улучшениями!
 

Комментарии

Vit_But

✩✩✩✩✩✩✩
26 Янв 2019
28
8
@Vit_But,

в commands.h
Нужно найти код команды отвечающей за фиолетовую кнопку и вписать его

к примеру.
C++:
#define IR_Key_Solid_Black                  0xFFA25D  // pp-Power                //  Установить цвет Черный  (Выключает гирлянду, Например перед тем как сказать елочка зажгись на детском утреннике)
#define IR_Key_Solid_Red                    0xFF30CF  // pp-Red                  //  Установить цвет Красный
#define IR_Key_Solid_Orange                 0xFF38C7  // pp-Orange               //  Установить цвет Оранжевый
#define IR_Key_Solid_Yellow                 0xFF10EF  // pp-Yellow               //  Установить цвет Желтый
#define IR_Key_Solid_Green                  0xFF18E7  // pp-Green                //  Установить цвет Зеленый
#define IR_Key_Solid_SkyBlue                0         //                         //  Установить цвет Голубой
#define IR_Key_Solid_Blue                   0xFF7A85  // pp-Blue                 //  Установить цвет Синий
#define IR_Key_Solid_Violet                 0xFF5AA5  // pp-Violet               //  Установить цвет Фиолетовый
#define IR_Key_Solid_White                  0xFF52AD  // pp-Up                   //  Установить цвет Белый
У разных пультов могут эти значения отличаться.
Да именно здесь стоят мои коды, все цвета работают правильно , а вот фиолетовый светит голубым....
 

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
@Vit_But,

Оттенки в лентах могут отличаться. В исполнительной части можно тогда поменять на тот оттенок, который понравится из этой, к примеру, таблицы https://htmlcolorcodes.com/color-names/

C++:
solid = CRGB::RebeccaPurple; // CRGB::Indigo, CRGB::DarkSlateBlue...
-----
solid = CRGB(#663399); // hex код
или
solid = (CRGB)CRGB(#663399);
-----
solid = CRGB(102, 51, 153); // rgb составляющие
или
solid = (CRGB)CRGB(102, 51, 153);
что подойдет...
 

Vit_But

✩✩✩✩✩✩✩
26 Янв 2019
28
8
Оттенки в лентах могут отличаться. В исполнительной части можно тогда поменять на тот оттенок, который понравится из этой, к примеру, таблицы https://htmlcolorcodes.com/color-names/

C++:
solid = CRGB::RebeccaPurple; // CRGB::Indigo, CRGB::DarkSlateBlue...
-----
solid = CRGB(#663399); // hex код
или
solid = (CRGB)CRGB(#663399);
-----
solid = CRGB(102, 51, 153); // rgb составляющие
или
solid = (CRGB)CRGB(102, 51, 153);
что подойдет...
[/QUOTE]
Спасибо, последний вариант подошел.
 

bnflfrbvffc

✩✩✩✩✩✩✩
11 Дек 2020
2
0
Добрый день. подскажите, как сделать цвет бенгальского огня желтее? сейчас огонь пробегает белым цветом
 

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
Добрый день. подскажите, как сделать цвет бенгальского огня желтее? сейчас огонь пробегает белым цветом
файл addings.h
C++:
{ uint8_t kol = 3;

  if ( KolLed < 10 ) kol = KolLed / 3;
  if (kol >= 2)
  { uint8_t nn = n;
    switch (nn) {
      case 1 :  for ( uint8_t x = 0; x < kol; x++) leds[ KolLed - random8(kol * 2) ] = CRGB::White; break;      //Бенгальский
      case 2 :  leds[KolLed - 1] = CRGB::White; break;                                                          //1 яркий
      case 3 :  leds[KolLed] = CRGB::White; leds[KolLed - 1] = CRGB::Red; leds[KolLed - 2] = CRGB::Violet; break; //Метеорит
    }
  }
}
в строке, где "//Бенгальский" попробуй поменять CRGB::White на (CRGB)0xF7DC6F
или попробуй на
C++:
 (CRGB)0xF7DC6F % random8()
- будут разноцветные искорки
 

Ingvarik

★✩✩✩✩✩✩
23 Дек 2019
5
13
Вариант корпуса под Arduino Nano с минимальными размерами. Кнопка впаивается прямо в плату ардуино и фиксируется сразу над микросхемой. Провода выводятся через боковое профилированное отверстие с поджимом их крышкой. Питание - через штатный разъем USB.
Штатный диод защиты на плате тянет 70 диодов с адресной ленты, правда с ограничением тока до 1500 мА. Светимость диодов меньше (очевидно), но это не лампа освещения, а для настроения эти изменения не заметны. При желании, на плате можно поставить и диод помощнее.

Корпус.JPGКрышка.JPG











Nano.JPGкорпус1.JPGКорпус2.JPG
 

Вложения

Изменено:

poty

★★★★★★✩
19 Фев 2020
2,958
887
А разве штатный разъём может питать гирлянду более-менее смотрибельного размера? 25 диодов уже дают 1,5А!
 

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
@Ingvarik, Хороший конструктив! Вот только если питать через штатный разъем, то, по идее он может выдержать 2А (32 светодиода на полной мощности), но не уверен, что защитный диод выдержит. Я в таких конструкциях менял на заведомо мощный. Работает!
Рекомендуется в прошивке проверить ограничитель тока
C++:
FastLED.setMaxPowerInVoltsAndMilliamps(5, CURRENT_LIMIT);
Где CURRENT_LIMIT = 2000мА - ток самой платы ( пусть будет 60мА) -> = 1940
Тогда лампы будет светить тусклее, но максимальный ток не будет превышен.
 
  • Лойс +1
Реакции: Ingvarik

Ingvarik

★✩✩✩✩✩✩
23 Дек 2019
5
13
А разве штатный разъём может питать гирлянду более-менее смотрибельного размера? 25 диодов уже дают 1,5А!
Обычная лента в 70 диодов вполне работает. Нужно больше - меняйте диод или подводите питание по другому. Меня вполне устраивает штатный разъем.

@Ingvarik, Хороший конструктив! Вот только если питать через штатный разъем, то, по идее он может выдержать 2А (32 светодиода на полной мощности), но не уверен, что защитный диод выдержит. Я в таких конструкциях менял на заведомо мощный. Работает!
Рекомендуется в прошивке проверить ограничитель тока
C++:
FastLED.setMaxPowerInVoltsAndMilliamps(5, CURRENT_LIMIT);
Где CURRENT_LIMIT = 2000мА - ток самой платы ( пусть будет 60мА) -> = 1940
Тогда лампы будет светить тусклее, но максимальный ток не будет превышен.
Да! Так и сделал - вполне рабочий вариант, не сказывающийся на потребительских свойствах.
 

leontr

✩✩✩✩✩✩✩
3 Мар 2020
4
0
Здравствуйте. Спаял, настроил под свою гирлянду (100 диодов ws2811), прошил. Заработало круто! Несколько вопросов:
1. клик кнопкой выключает гирлянду, а потом никак включить не получается. На кнопку не реагирует. Только через сброс питания можно снова запустить огни. При работающей гирлянде 2,3,4 нажатия отрабатывает штатно. Мелочь, но свербит внутри. Где я мог накосячить?
2. строка

#define CHANGE_ON 1 // Включить плавную смену эффектов

поставил 0, захотел выключить плавную смену - перестала компилироваться, выдаёт ошибку. Неудобств не вызывает, но если кто возьмётся править, как я, пусть имеет в виду. Лучше менять время смены режимов.
3. В большинстве режимов, кмк, преобладают холодные цвета: голубой, фиолетовый, синий, белый, розовый. А хочется больше красного, жёлтого и зелёного. Как подкрутить палитру? Например, как заставить режимы начинать с красного или жёлтого? Пробовал сменить настройку GRB на RGB, кардинального изменения не заметил.
 

leontr

✩✩✩✩✩✩✩
3 Мар 2020
4
0
Получилось! В модуле addings.h настройка палитры свечей таким образом:

DEFINE_GRADIENT_PALETTE( candle_Pal ) {
255, 255, 180, 0, //yellow
255, 255, 0, 0, //bright red
255, 255, 255, 0, //bright yellow
180, 255, 255, 0
}; //yellow

делает свечи более естественного желто-красного цвета.
А вот как подкручивать остальные режимы - пока не догоняю.
Готовимся к новому году!
 

poty

★★★★★★✩
19 Фев 2020
2,958
887
Диод на плате не является защитным и предназначен для обеспечения возможности питания от встроенного стабилизатора с сохранением возможности подключать USB-кабель. Рассчитан на 0,5А. Работать на 1,5А, конечно, будет, но сколько по времени - неизвестно. Не очень понятно, зачем Вы его меняете на более мощный, если его просто можно заменить перемычкой, ведь от встроенного стабилизатора питать никто ничего, как я понял, не собирается.
В зависимости от режима повышенный ток потребления по +5В может вызывать просадку напряжения и перезагрузку МК, так как байпас на плате минимальный. Но если работает, то, очевидно, до этого случая пока не доходит.
 

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
@poty,
вопрос именно в этом, чтобы не спалить плату при полной нагрузке. Перемычкой тоже вариант, даже лучше. Но тогда нужно быть осторожным и не включать в порт вместе со внешним питанием.
 

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
Получилось! В модуле addings.h настройка палитры свечей таким образом:

DEFINE_GRADIENT_PALETTE( candle_Pal ) {
255, 255, 180, 0, //yellow
255, 255, 0, 0, //bright red
255, 255, 255, 0, //bright yellow
180, 255, 255, 0
}; //yellow

делает свечи более естественного желто-красного цвета.
А вот как подкручивать остальные режимы - пока не догоняю.
Готовимся к новому году!
Посмотрит тут...
Много доработок делал в прошлом году, и пультик, и управление кнопкой расширенное...
 
  • Лойс +1
Реакции: Ingvarik

leontr

✩✩✩✩✩✩✩
3 Мар 2020
4
0
Посмотрит тут...
Много доработок делал в прошлом году, и пультик, и управление кнопкой расширенное...
Ага, спасибо. Много интересного...
 

omivan

✩✩✩✩✩✩✩
14 Дек 2020
1
0
день добрый! Подскажите 50 светодиодов работают, если пытаюсь подключить еще 50, то светят только 50)) простите за тавтологию . Это в прошивке нужно количество светодиодов менять?
 

Whitelivesmatter

✩✩✩✩✩✩✩
27 Июн 2020
17
0
Здравствуйте, собрал 2 варианта-первый на 50 диодов ws2811 работает, режимы переключаются, А на 300 ws2812 прогоняет какое то количество режимов, и постоянно зависает на одном и том же. Бп менял, конденсаторы по питанию паял-бесполезно. Где то проходила информация, что надо удалить режимы, на которых зависает, но как это сделать я не понимаю, в программировании не силен)). Подскажите пожалуйста, что нужно, что бы не зависала гирлянда.
И разница между 2812 и 2811 очень большая, прошивка одна и таже, на 2812 намного лучше смотрятся эффекты,
 

Whitelivesmatter

✩✩✩✩✩✩✩
27 Июн 2020
17
0
день добрый! Подскажите 50 светодиодов работают, если пытаюсь подключить еще 50, то светят только 50)) простите за тавтологию . Это в прошивке нужно количество светодиодов менять?
Да в прошивке, вот тут1607979314801.png
 

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
Здравствуйте, собрал 2 варианта-первый на 50 диодов ws2811 работает, режимы переключаются, А на 300 ws2812 прогоняет какое то количество режимов, и постоянно зависает на одном и том же. Бп менял, конденсаторы по питанию паял-бесполезно. Где то проходила информация, что надо удалить режимы, на которых зависает, но как это сделать я не понимаю, в программировании не силен)). Подскажите пожалуйста, что нужно, что бы не зависала гирлянда.
И разница между 2812 и 2811 очень большая, прошивка одна и таже, на 2812 намного лучше смотрятся эффекты,
попробуй погонять гирлянду на 250 лампочках
 

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
@Whitelivesmatter, Мне сложно смотреть в чем причина, вернее где она, но, скорее всего в определении типа переменной отвечающей за индексацию светодиода в массиве. Если число превышает 255 (256 физических), то происходит переполнение индекса с типом uint8_t, а должно быть uint16_t. Видимо в какой-то функции это правило не соблюдено.
 
  • Лойс +1
Реакции: Whitelivesmatter

top

✩✩✩✩✩✩✩
15 Дек 2020
2
2
Здравствуйте, собрал 2 варианта-первый на 50 диодов ws2811 работает, режимы переключаются, А на 300 ws2812 прогоняет какое то количество режимов, и постоянно зависает на одном и том же. Бп менял, конденсаторы по питанию паял-бесполезно. Где то проходила информация, что надо удалить режимы, на которых зависает, но как это сделать я не понимаю, в программировании не силен)). Подскажите пожалуйста, что нужно, что бы не зависала гирлянда.
И разница между 2812 и 2811 очень большая, прошивка одна и таже, на 2812 намного лучше смотрятся эффекты,
Была та же проблема с лентой на 300 светодиодов ws2812. Вычислил зависающие эффекты. Номера 22,37 и 39. Ставишь режим работы 3 или 4. В строке с номерами эффектов пишешь через запятую цифры от нуля до сорока, кроме вышеуказанных. У меня заработало без висяков.
 

Whitelivesmatter

✩✩✩✩✩✩✩
27 Июн 2020
17
0
Была та же проблема с лентой на 300 светодиодов ws2812. Вычислил зависающие эффекты. Номера 22,37 и 39. Ставишь режим работы 3 или 4. В строке с номерами эффектов пишешь через запятую цифры от нуля до сорока, кроме вышеуказанных. У меня заработало без висяков.
Спасибо большое, не очень понял, что значит ставишь режимы 3 или 4?
 

top

✩✩✩✩✩✩✩
15 Дек 2020
2
2
Спасибо большое, не очень понял, что значит ставишь режимы 3 или 4?
В скетче над строкой с номерами эффектов, есть выбор режимов. Все эффекты по порядку, все по случайному выбору и т.д. 3–й и 4–й работа с теми эффектами, номера которых ты сам написал. Там же в скетче все коменты подробно расписаны.

AG.JPG