Новогодняя гирлянда на Arduino NANO с пультом, имеет более 1000 вариаций (122 эффекта и 33 палитры)


«Какой же новый год и без елочки?»

— Ваши игрушки бракованные! — Что, не блестят? — Нет, не радуют!

Наверное каждому уже надоели скучные гирлянды с однотипными эффектами. Хочется что-то по серьезнее, с минимумом вложением и использованием головы (она и так болит от новогодней кутерьмы).

Здесь рассмотрим гирлянду на 100 светодиодов, с 1000 вариациями и ценой за контроллер 150 руб

Интересно? Следуйте далее…


Мои хотелки:

Использовать ленту на WS2811, и чтоб управлялось пультом. На Arduino, как правило, это не выполнимо, слабовато, ресурсов не хватает, лишнего ничего не прикрутишь.
Я уже был готов собрать это на контроллерах ARM. (валяются у меня много платок контроллеров с LPC1754) но паять не охота, и переводить код с Arduino времени нет.
Да я знаю что можно делать на ESP8266, но не хочу… (желающие могут портировать скетч самостоятельно)
И вот мучительно рыская в интернете в поисках интересных эффектов под разные библиотеки, я случайно набрел на страничку FastLED-Demos, где Andrew Tuline выкладывает эффекты для библиотеки FastLED.
Меня заинтересовал раздел notamesh

Я сказал Вау… и понеслось…

Итак.

Для повторения схемы:
Покупается гирлянда на WS2811 или WS2812 или им подобных (куплена наверно уже давно на прошлых распродажах).
Покупается модуль Arduino UNO, NANO или подобным на контроллере ATMega328
Берется модуль ИК (такой или такой )
Пульт от старого телевизора или видеомагнитофона, или плеера.
Блок питания 5 вольт и 3 ампера. Ну любой

У меня были 100 штук WS2812B я каждый светодиод закатал в прозрачную термоусадку, это дало свечение на 360 градусов.
Картинки
Светодиод
Светодиод

В закромах валялась платка на схеме NANO, блок питания, приемник ИК, и корпус от роутера все это соединил воедино.
Картинки
Коробочка
Внутри

У меня получилось:
вход с ИК пин 8 (PB0, D8, физический пин 12),
выход на гирлянду пин 14 (PC0, A0, физический пин 23)
Вот схема:


Проверяйте распиновку (например, у ИК приемников ножки могут отличаться)

Вы можете выбрать другие ножки Arduino, я покажу, где менять в скетче.

Теперь о скетче

Автор использовал библиотеки FastLED (https://github.com/FastLED/FastLED) и IRLremote.
Первую я оставил, вторую заменил на IRremote (https://github.com/z3t0/Arduino-IRremote), теперь пульт работает с библиотекой FastLED.

Первый вариант скетча с этими библиотеками https://yadi.sk/d/4aKV_Ug6HcFdWQ
Оригинальный скетч старался не переделывать (нет времени).

Второй вариант скетча https://yadi.sk/d/6A_AqYV419a0hg
Подробности ниже в примечании

Третий вариант скетча https://yadi.sk/d/QA7cAOHN6V0wzw
Подробности ниже в примечании

Четвертый вариант скетча https://yadi.sk/d/effzA_UUCVSQAg
Подробности ниже в примечании

Продолжаем

Скачиваем библиотеки FastLED и IRremote и ставим.

Для установки библиотеки IRremote, по совету автора надо удалить Arduino / libraries / RobotIRremote

Берем пульт, загружаем пример из библиотеки IRremote с названием IRrecvDemo

В 11 строке int RECV_PIN = 11; 11 меняем на 8 (в моей схеме к этому пину подключен ИК приемник)
Загружаем скетч в Arduino.

Тыкаем на кнопки пульта и в режиме монитора порта будут появляться коды, запоминаем их.
Эти коды надо вставить в файлик commands.h,

Например:
для команды IR_A1 (увеличить яркость) у меня на пульте код клавиши 0xff4ab5
#define IR_A1 0xff4ab5 //N/P // Увеличение яркости A1
разберетесь я думаю.

Настройка моего скетча


У автора номера строк будут другими

В 75 строке выставляем пин приемника ИК int RECV_PIN = 8;
В 84 строке выставляем пин выхода на гирлянду #define LED_DT 14
Если у вас другие гирлянды то в строках 84- 87 выбирается ее тип.
И не забываем для 4 проводных гирлянд убрать комментарий в строке 208 и добавить в 209
// LEDS.addLeds<LED_TYPE, LED_DT, LED_CK, COLOR_ORDER >(leds, MAX_LEDS);
LEDS.addLeds<LED_TYPE, LED_DT, COLOR_ORDER >(leds, MAX_LEDS);
Если пины не напутали, то должно работать сразу

При первом запуске число светодиодов в гирлянде установлено в 20 шт
Поэтому, для тех кто не использует пульт надо в стоке 119 поставить нужное количество светодиодов,
#define INITLEN 20
а если вы уже запустили, то тогда меняем код в строке 225
NUM_LEDS = EEPROM.read(STRANDLEN);
На NUM_LEDS =100;
Где 100 это ваше количество светодиодов.

Для остальных, количество светодиодов можно настраивать с пульта

Я не ограничен в токе блока питания, если у вас блок питания слабее,
то в строке 211 меняем второе число на ваше
set_max_power_in_volts_and_milliamps(5, 3000);
где 3000 – максимальный ток блока питания в мА, его при необходимости меняем

Вроде все

Как будет время, добавлю эффектов и скетч сюда выложу.

Я записал видео эффекты (режим демонстрации)


И видео когда не меняя эффект, пультом переключал палитры.


Ну как то так….

С Наступающим Новым Годом!!



Примечание по мере поступления:


Контроллер может работать и без пульта, по умолчанию запускается демо режим

Единственно надо установить количество светодиодов в строке 225
строку NUM_LEDS = EEPROM.read(STRANDLEN);
заменить на строку NUM_LEDS =100;
Где 100 это ваше количество светодиодов.

Второй вариант скетча

За неделю появилось много комментариев, большинство просят сделать работу без пульта
Итак встречайте второй вариант
https://yadi.sk/d/6A_AqYV419a0hg
Что сделано:
1. Появились настройки
Посмотреть настройки

/////////////////////////////////////////////////////////////////////////////////
///                               Настройка
/////////////////////////////////////////////////////////////////////////////////

#define KOL_LED       100                                  // Сколько светодиодов в гирлянде при первом включении
#define IR_ON         1                                    // Если равен 1  используется пульт
                                                           // если не равен 1 пульт не используется, работает в демо режиме
                                                           
#define PIN_IR        8                                    // Номер пина, куда подключен датчик пульта, 

#define LED_DT        14                                   // Номер пина куда подключена гирлянда
#define LED_CK        11                                   // Номер пина для подключения тактов, используется светодиодов WS2801 или APA102

#define POWER_V       5                                    // напряжение блока питания в Вольтах
#define POWER_I       5000                                 // Ток блока питания в милиАмперах


#define GLITER_ON     1                                    // Включить мерцание при запуске
#define DEMO_MODE     3                                    // Режим при включении 
                                                           // 0 - последняя запущенная программа
                                                           // 1 - демо режим с последовательным перебором эффектов
                                                           // 2 - демо режим с случайным перебором эффектов

#define DEMO_TIME     60                                   // Время отображение эффекта в демо режиме в секундах

#define DIRECT_TIME   20                                   // Через сколько секунд менять направление если 0 - не меняем
#define PALETTE_TIME  30                                   // Через сколько секунд менять палитру если 0 - не меняем

#define LOG_ON        0                                    // Включить лог  1 - включить лог


Все что считаю важным, вынес в отдельное место. По комментариям разберетесь

2. Добавил три эффекта. (заменил 0 и 1 эффект, и добавил 39) Последний эффект огонь.

По зависанию

Заметил такую вещь, описанную в комментариях, что при нехватке памяти происходит зависание. Подтверждаю.
Что можно сделать:
Уменьшить количество светодиодов при работе с пультом (отвечает переменная MAX_LEDS)
Отключить лог (Отвечает переменная LOG_ON, сделать равным 0)

Третий вариант скетча

Решил оптимизировать память, вроде неплохо получилось,
Максимальное количество светодиодов не ограничено 255, можно делать больше
https://yadi.sk/d/QA7cAOHN6V0wzw
Проверяйте, пишите в комментариях

Четвертый вариант скетча

Переработал эффект огня
Добавил свечи
Добавил замена черного цвета фоном
Добавил плавное перетекание одного эффекта другим используя эффект бенгальского огня
как тут на видео
Добавлена обработка долгого нажатия кнопок пульта
Ну и много чего еще
https://yadi.sk/d/effzA_UUCVSQAg
Проверяйте, пишите в комментариях.
Что еще надо сделать: это вылизать временные задержки. Но на это надо время.

Четвертый ПЛЮС вариант скетча

По просьбам сделал бегущий огонь, теперь у разработки 122 эффектов, есть возможность добавлять эффекты.
https://yadi.sk/d/dL5-cMM_awGAAg

Может кому надо, скетч на базе 2 варианта под нану

ATMega168

https://yadi.sk/d/vfXTlhrgXgpZfQ

Следующая модификация уже будет с заданными координатами светодиодов.

Часто стали спрашивать как настраивать пульт, хочу выделить отдельно этапы настройки
Начнем по порядку
1) проверить удалена библиотека RobotIRremote (смотреть в меню Arduino / libraries / RobotIRremote) если нет, удаляем
2) проверяем работу пульта: загружаем пример из библиотеки IRremote с названием IRrecvDemo и смотрим в мониторе коды клавиш, главное чтобы они повторялись, если выводится не понятное, то проверяйте подключение датчика, если он в железном корпусе то необходимо на корпус посадить минус. У кого то был просто не исправный датчик, или не на ту частоту был рассчитан и отличался от частоты несущей пульта
Как вариант пробуйте пультом от телевизора потыкать для проверки датчика.
3)Теперь надо запомнить коды с пульта, запускаем еще раз IRrecvDemo, нажимаем желаемую кнопку пульта и запоминаем код,
Так делаем со всеми кнопками пульта, которые будут использоваться в программе
4) Заполняем команды в программе, открываем файл commands.h. там будут строчки вида
#define IR_Key_Previous_mode                0xff50af  // Down                   // Предыдущий эффект. Отключает демонстрационный режим
#define IR_Key_Next_mode                    0xff28d7  // Up                     // Следующий эффект. Отключает демонстрационный режим
Меняем числа на свои запомненные.
То есть если ваши желаемые коды пульта для этих команд 0xAA8C2FB8 и 0xBB8C2FB8 то эти строчки будут такими
#define IR_Key_Previous_mode                0xAA8C2FB8  // Down                   // Предыдущий эффект. Отключает демонстрационный режим
#define IR_Key_Next_mode                    0xBB8C2FB8  // Up                     // Следующий эффект. Отключает демонстрационный режим
по аналогии делаем и с остальными кодами
Не используемые команды в этом файле можно оставить как есть, либо числа заменить нулем
5) Ну и напоследок проверяем настройки программы должно быть так
Тут код программы
//////////////////////////////////////// Параметры пульта
////
//Настройка действия кнопке осуществляется в файле command.h

#define IR_ON         1           // Если равен 1  используется пульт
                                  // если не равен 1 пульт не используется, работает в демо режиме
                                                           
#define PIN_IR        8           // Номер пина, куда подключен датчик пульта,

#define IR_MAX_LEDS   231        // Максимальное количество светодиодов при работе с пультом должно быть больше
                                  // или равно KOL_LED
                                  // От размера этого числа зависит колличество используемой памяти  
 
 //Тип пульта на который будет реагировать устройство, ставим 1 у того который используется
 //это уменьшит используемую память 
 //Чтобы узнать имя пульта запустите в примерах IRremote / IRrecvDump
#define IR_RC5        0           // пульт RC5,
#define IR_RC6        0           // пульт RC6,          
#define IR_NEC        1           // пульт NEC,          
#define IR_SONY       0           // пульт SONY,          
#define IR_PANASONIC  0           // пульт PANASONIC,          
#define IR_JVC        0           // пульт JVC,
#define IR_SAMSUNG    0           // пульт SAMSUNG,
#define IR_WHYNTER    0           // пульт WHYNTER,
#define IR_AIWA       0           // пульт AIWA_RC_T501,
#define IR_LG         0           // пульт LG,
#define IR_SANYO      0           // пульт SANYO,
#define IR_MITSUBISHI 0           // пульт MITSUBISHI,
#define IR_DENON      0           // пульт DENON                     

#define IR_REPEAT     1           //Включить повтор, при долгом нажатии на кнопку пульта будет повтор клавиши
Номер пина, куда подключен датчик пульта должен быть правильным как в IRrecvDemo
Также надо поставить правильно 1 в типе пульта, опять же берется из IRrecvDemo
Максимальное количество светодиодов выставляете какое вам надо
Все, должно работать

Проблемы с Новой библиотекой Пульта
За два года разработчик IRremote внес изменения в свою библиотеку, теперь она стала не совместима
Как временное решение устанавливаем версии библиотек проверенные FastLED и IRremote
Планирую купить +202 Добавить в избранное +167 +310
+
avatar
  • ukkh10
  • 11 декабря 2018, 01:21
+15
Шикарно! Где ж вы раньше были…
+
avatar
+4
Неделю назад сам сделал. Скетч автора дотирован октябрем 2018 года
+
avatar
  • Soorin
  • 11 декабря 2018, 08:20
+45
Спонсор скетча — октябрь?
+
avatar
  • diaskzn
  • 11 декабря 2018, 08:56
+8
Тонко. Очень тонко.
+
avatar
  • abyrwalg
  • 12 декабря 2018, 01:21
+2
«.» — признак работы под контролем;)
+
avatar
  • ABATAPA
  • 11 декабря 2018, 08:33
+5
Да каждый год тут и в сотне мест подобное. Это Вы где были. :)
+
avatar
0
а чего, красиво
+
avatar
  • redcat07
  • 11 декабря 2018, 04:56
+1
Продайте, а… А то у меня руки-то есть, но не оттуда, чтоб паять и программировать ))
+
avatar
  • nochkin
  • 11 декабря 2018, 05:28
0
Там припаять надо три провода. Если совсем плохо, то можно найти знакомого, который поможет.
+
avatar
  • Kostja
  • 11 декабря 2018, 07:42
+3
Новогодние гирлянды на светодиодах ws2811 продают готовыми с контроллерами.Эффекты в них конечно не айс, зато 200 штук.В том году делал на 50 светодиодов, в этом году увеличил до 100.
youtu.be/a033JcsHJ8g
+
avatar
  • BTN
  • 11 декабря 2018, 14:48
+2
Я взял контроллер SP108E, три гирлянды по 50 шт. на WS2811 с зелеными проводами и питанием от 12V, блок питания 12V 3A(самый слабый что был в загашнике). Для управления контроллером скачал приложение, там около 200 готовых программ с возможностью как ручной смены режимов, так и автоматически. Кстати много однотипных, только разные цвета. Так же есть возможность загрузки разных картинок, почему я его и взял. Но с картинки «снимает» просто линию, а саму картинку перемещает бесконечно, если понравился эффект, можно записать в память. Управление идёт по WIFI. Можно задать длину и количество светодиодов в целой гирлянде(1×150, 3×50, 10×15 и т.п.), от этого эффекты могут выглядеть по другому. А можно и отключить часть гирлянды задав например 1×130. На концах гирлянд есть разьёмы для соединения в одну длинннуууююю, отвод пары проводов для доп.питания в случае нехватки. Одна гирлянда длиной около 4 метров, поэтому брал под свою ёлку + запас, цвет проводов есть ещё черный и цветные. 3 Амперный блок на средней яркости тянет без проблем и нет просадки на хвосте гирлянды, для чего и брал с 12V питанием, хотя есть ещё 5 вольтовые. Быстро и без пайки всё подключил, настроил и работает. Мои всё ободрили! Не, одобрили!
Контроллеры есть с управлением по BT(105-й вроде), но вроде там нет загрузки картинок, ещё есть с микрофоном от музыки(110-й). Управлять могут и другими гирляндами и лентами, не одновременно, а если у вас не WS2811, в приложении настраивается. С какими работает надо смотреть описание. Сам видео показать не могу, елку ещё не ставили, а про сами контролеры можно посмотреть в ютубе.
+
avatar
+3
тут вижу и ленты и простенький контроллер.
+
avatar
  • Onegin45
  • 12 декабря 2018, 21:00
0
Подскажите, знающие люди — как выгоднее купить пару таких с контроллером, или одну со 100 диодами? Планирую управлять ардуинкой.
+
avatar
  • AndyE
  • 13 декабря 2018, 20:16
0
100 диодная скорее всего будет 2х50 штук.
+
avatar
  • BTN
  • 11 декабря 2018, 15:45
0
Чуть не забыл. С картинок сканирует только одну линию бесконечно, но можно задать любой угол и направление. Я для картинок использовал самодельные в фотошопе. Задавал цвет фона, потом чертил всякие разноцветные линии, ромбики, овалы, точки и т.п., потом пробовал. Загружал в контролер, включал, если понравилось, то делал запись эффекта в память. При любом режиме можно управлять яркостью и скоростью.
+
avatar
  • e-sive
  • 11 декабря 2018, 16:32
0
а где и по чем брали?
+
avatar
  • BTN
  • 11 декабря 2018, 18:40
+2
На али. И контроллер и гирлянды брал разом и в одном магазине на распродаже осенью, пришло за три недели.
btf-lighting.aliexpress.com/store/1051119
Блок питания брал давно уже для других других разных целей, поэтому специально не покупал.
Кому срочно надо, то есть в России в наличии в некоторых магазинах, но обязательно надо уточнять, могут «надуть». И самое главное ценник сами понимаете что будет выше. У меня так живьём родня брала в Питере дабы не пролететь с гирляндой на этот НГ. Где конкретно не могу сказать, они сами бегали искали.
Это я их «соблазнил», когда они заезжали в гости, а я уже неделю как испытывал свои картинки на гирлянде намотанной на стремянку! :-)
+
avatar
+45
Алексгайвер неделю назад как раз
Картинка с собакой и надписью подозрительно)))
+
avatar
  • kayuda
  • 11 декабря 2018, 07:11
+1
я смотрел это видео. пока думаю о покупке.
+
avatar
  • AlexxM
  • 11 декабря 2018, 09:18
+5
я когда заголовок увидел, думал что это обзор от AlexGyver)) но нет) обзор именно на елочную гирлянду. у Алекса светодиодная матрица с очень крутыми эффектами
+
avatar
  • AndyE
  • 13 декабря 2018, 20:17
0
А вот нифига. Он ленту змейкой по окну пустил.
+
avatar
+2
А до этого подобные гирлянды делало еще куча народу. И что?
+
avatar
  • 2channel
  • 11 декабря 2018, 13:36
-1
Алексгайвер
Словно что-то хорошее.
+
avatar
  • Dimon_
  • 11 декабря 2018, 06:44
+17
Вот правда, сколько людей, столько и мнений. :)
Я о чём… Нет, за конструкцию плюс поставил.
Пожалуйста, прочтите правильно, тут нет критики. Но вот моя личная логика построения автоматизации заключается в том, чтобы свести к минимуму участие человека. Я считаю, что если я автоматизирую что-то, так это именно для того, чтобы человек в этом больше не принимал участие. Я про то, что сколько бы я ни делал «мигалок для ёлок», я пульт (или мобильниое управление) к ним никогда даже в мыслях не рассматривал :)
По мне, так лично мне в новогоднюю ночь есть чем заниматься за праздничным столом и помимо переключения режимов и палитры на ёлке :)
Но это дело, разумеется каждого, не смею навязывать своё мнение.
PS: Что касается меня, то, помимо опубликованных гирлянд в моих обзорах прошлых лет, в этом году повторяю конструкцию Стивена на ардуине-мега. Я писал об этом в одном комменте. Моё мнение не поменялось: его визуализация, для меня, на сегодня, — это эталонная отметка в художественности и эффектности на ёлке, на которую и надо равняться.
+
avatar
0
Согласен, сам подобное делал. Ведь если есть адресуемная лента, то есть смысл рисовать на елке эффекты, которые завязаны на фактической координате конкретного элемента на елке. Тогда там можно хоть картинки рисовать. Правда первоначальный сетах еще тот геморой — ручками прописать координаты сотен элементов на елке :)
+
avatar
  • Sam_DF
  • 11 декабря 2018, 08:38
0
Ждем обзор!)
+
avatar
  • Beer100
  • 11 декабря 2018, 10:57
0
А где бы по русски про конструкцию Стивена найти?
+
avatar
  • Miando
  • 11 декабря 2018, 12:58
0
И мне понравилась больше всего. Заказал 2 такий ленты по 50 диодов и ардуину. Можно повторить с таким комплектом?)
+
avatar
  • Onegin45
  • 12 декабря 2018, 21:12
0
Вот когда это заведется на esp32, будет просто эталон того, что можно сделать на адресных гирляндах, имхо.
+
avatar
+1
Четвертый вариант скетча, уже приближается к эталону (он и у меня тоже эталон как и у вас)
Пока не идеально, но стремимся…
+
avatar
  • kayuda
  • 11 декабря 2018, 07:12
+4
интересный вариант. но боюсь уже к нынешнему новому году заказывать комплектующие поздно.
+
avatar
  • Avacha
  • 11 декабря 2018, 08:31
+2
Закажи к следующему, а то опять в декабре вспомнишь, будет поздно)) Я три года собирался снежинку сделать по местным мотивам, в этом году на 11.11 заказал детали, завтра готова будет, надеюсь)))
+
avatar
  • kayuda
  • 11 декабря 2018, 08:48
0
Это правильный вариант. Так и сделаю. спасибо
+
avatar
  • van4uk
  • 11 декабря 2018, 09:01
0
Наверное да.
+
avatar
  • tbnk
  • 25 декабря 2018, 09:54
+1
Вы таки будете смеяться, но прочитал обзор только 17.12, тогда же и заказал гирлянду на 2811 на али.
Вчера она вышла с таможни во Внуково.
Есть шанс что таки дойдет до НГ :)

Тоже думал что в конце января придет
+
avatar
  • ABATAPA
  • 11 декабря 2018, 08:35
+14
По традиции размещу это здесь:
+
avatar
  • Berebes
  • 11 декабря 2018, 13:18
+2
Вот для чего продают белые елочки))
+
avatar
  • ALexus
  • 11 декабря 2018, 17:24
+1
… с белой елкой красивее!
+
avatar
  • randvell
  • 12 декабря 2018, 10:27
+3
На белкой елке даже гирлянда за $4 без всяких контроллеров смотрится отлично. Моя:
+
avatar
-1
обзор был?
+
avatar
  • ABATAPA
  • 12 декабря 2018, 13:40
0
Есть видео, исходники, все рассчёты, описание на github. Этого мало? Нужно обязательно 20 фоток распаковки?
+
avatar
0
нет, обзор и фотки необязательно. просто без ссылки сложно найти что это
+
avatar
  • ABATAPA
  • 12 декабря 2018, 15:06
0
Первая же строка в Гугле. И в комментарии под видео на youtube.
+
avatar
0
>>имеет 1000 вариаций (38 эффектов и 33 палитры)

Иисус Христос, ЗАЧЕМ СТОЛЬКО ???????!!!
+
avatar
+9
Все просто, даешь ребенку пульт, садишь перед елкой и… все новогодние праздники ребенок занят.
Лампочки притягивают.
+
avatar
  • StoSlov
  • 11 декабря 2018, 14:59
+2
Всё очень от ребёнка зависит, один да будет сидеть и клацать наблюдать, другой поклацает минут 30, путьт об пол на пол пошёл в другое играть.
+
avatar
  • manatu
  • 11 декабря 2018, 10:43
0
Большое спасибо за подробное описание Новогодней гирлянды и проделанную работу! Теперь точно соберусь с мыслями, силами, временем и начну её собирать!!!
+
avatar
  • AlekseyM
  • 11 декабря 2018, 11:21
0
Спасибо за ссылку с примерами.
Добавлю в свои гирлянды кое что.
+
avatar
  • knst
  • 11 декабря 2018, 12:03
0
прикручивать пульт к гирлянде бессмысленно. как представил что все уже пьяные, а я на кнопочки тыкаю, аж плохо стало. да и запомнить на какой кнопке каждая из 25-ти команд, нереально.
я думаю, достаточно пары кнопок для регулировки яркости, причём затолкать это в void loop, чтобы раз отрегулировать при запуске и забыть.
+
avatar
+3
Согласен, и телевизору пульт не нужен, включил и показывает.
Так и эта гирлянда раз настроил и… радует
+
avatar
  • vovka36
  • 11 декабря 2018, 12:17
0
Извините за нубский вопрос, но в чём разница между ws2811, 2812 и 2812b?
Как я понял, 2811 это отдельно RGB светик с платой, а на 2812 контроллер уже на самой пластине с кристаллом? А 2812b?
2811 это обычный светодиод и светит во все стороны, а 2812 — это SMD и светит только в одну сторону?
Кто юзал и те, и те, какой из них долговечнее в плане обрыва проводов?
+
avatar
+5
тут подробно с картинками

2811 — это микросхема, к ней можно прицепить нак SMD светодиод или «с ножками»
2812 — тут только SMD, с буковкой b просто ног меньше
ну по поводу долговечности китайских проводов… не тут порвется, дак там протрется.
Я покупал 2812b (как в этой теме) пока ни разу не оторвались
+
avatar
  • vovka36
  • 11 декабря 2018, 12:53
0
Премного благодарен!
+
avatar
+1
Почему 12В версии менее распространены, чем 5В? Ведь 12В БП меньшей мощности найти проще… и меньше требований к проводам.
+
avatar
0
при использовании версии 12 В не забываем ставить резистор.
а 12В и 5В определяется применяемыми микросхемами, есть на 12В есть на 5В
на 12В токи меньше
+
avatar
  • zaleks
  • 13 декабря 2018, 09:57
0
На 12 Вольт WS2811(2) не рассчитана. У нее по паспорту максимальное 6-7 Вольт. На 12 вольт можно подцепить ее, но только с гасящим резистором по входу микросхемы, а по выходам гасящий резистор рассчитывается исходя из параметров светодиодов. В документации есть типовые схемы включения для 12 и 5 Вольт.
А вот WS2812b на 12 вольт уже цеплять НИЗЯ!!! Причина проста — цепи питания контроллера и светодиода заведены на ОДИН пин. И если вы туда сунете 12 Вольт — хана вашей WSке.
2812 и 2812b отличаются количеством ног и, соответственно, разводкой внутри корпуса. И там и там корпус 5050. Но у 2812 6 ног (по сути это тот же контроллер но совмещен со светиком), а у 2812b только 4 — 2 по питанию и 2 адресных (вход и выход).
+
avatar
0
Не совсем так. Падение напряжения на синем светодиоде — 3.2 В (на остальных — меньше). То есть при питании от 5 В нам надо погасить на резисторе 1.8 В. Если мы хотим питать диод от 12 В, нам придется гасить на резисторе 8.8 В. То есть потери мощности станут в разы больше. Поэтому, для адресных лент не имеет смысла использовать питание 12 В.

В «традиционной» ленте светодиоды соединяют по 3 и уже потом подключают к цепи 12 В. То есть там надо погасить 12 — 3.2*3 = 2.4 В на три диода. Понятно, что результирующие потери получаются меньше, также меньше становится ток всей ленты, что требует проводов меньшего сечения. Но при этом эти три диода всегда будут гореть вместе. Для таких лент это не проблема, так как там вообще вся лента светится только одним цветом.

Я видел в продаже 12 В ленты с микросхемами (возможно, 2811), но там три рядом стоящие диоды всегда светят одинаковым цветом. Можно использовать их, но будет менее эффектно.

Поэтому, для адресных лент только 5 В.
+
avatar
  • uweroy
  • 11 декабря 2018, 12:43
+2
По надежности ± одинаково но если длинная лента лучше WS2812B в них ток не идет через диод…

WS2812 диоды с шестью ногами (+5v GND Din; +5v GND Dout)
WS2812B с четырьмя ногами (+5v GND Din Dout)
+
avatar
  • vovka36
  • 11 декабря 2018, 12:55
0
То есть разницы никакой, особенно если не отдельно smd брать, а на круглых платах с 3+3 контактами. Плюс в 2812В меньше потери напряжения, что в случае длинной цепочки важно.
Благодарю.
+
avatar
  • uweroy
  • 11 декабря 2018, 13:05
+2
Я такие брал они изначально светят во все стороны, да и на улице можно использовать.
+
avatar
  • vovka36
  • 11 декабря 2018, 14:10
0
Они прочно залиты силиконом? То есть риск отлома на плате небольшой? Как думаете, на ёлке будут смотреться нормально (если найти с тёмными проводами)?
+
avatar
  • t0t0shka
  • 11 декабря 2018, 16:47
0
Сссылочку подкитьте
+
avatar
  • vovka36
  • 11 декабря 2018, 17:52
0
+
avatar
+2
Делал на таких светиках новогоднюю подсветку на зеркале
+
avatar
  • SDimS
  • 11 декабря 2018, 12:40
0
Подскажите какой диаметр термоусадки нужен для таких модулей?
+
avatar
+2
10 мм в диаметре, вечером перепроверю
+
avatar
0
Проверил, точно диаметр 9,5мм, длинна 25мм
+
avatar
  • StoSlov
  • 11 декабря 2018, 15:07
0
А как прицепить к проекту двухстрочный дисплей+что нужно будет в код и прошивку? Что-бы название режимов выводил, так ведь проще и знаешь в каком режиме гирлянда работает.
+
avatar
+3
Конечно же можно, автор сделал вывод протокола в режиме диагностики на монитор порта (скорость 57600), в своем скетче я функционал оставил.

Скетч можно сделать под себя, добавить и индикацию, примеры есть.
Места где надо выводить информацию на дисплей в программе начинаются со строк Serial.println(

Моя цель не похвастаться проектом, а побудить людей что-то сделать самим.
Начните хотя бы с типа дисплея, я подскажу.
+
avatar
  • StoSlov
  • 12 декабря 2018, 10:25
0
Спасибо. Я думал обычный жёлтый двухстрочный дисплей + к нему прописать авто выключение подсветки по интервалу.
+
avatar
+1
Тогда все просто
Подсоединяем дисплей по схеме ну например такой

в Скетч добавляем следующее

Это где нибудь в начале допустим после строки
#include «commands.h» // The IR commands.

// include the library code:
#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

Где const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; это ваши пины, куда подключили дисплей

Далее
Этот код надо вставить внутрь функции void setup() {

  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);

Ну и теперь все должно работать
Вывод осуществляется командой

lcd.print("hello, world!");

Где hello, world! это текст, вам надо заменить на свой
+
avatar
  • abyrwalg
  • 12 декабря 2018, 01:04
0
прицепить
можно, но он у вас в нанé всю ram сожрёт(
+
avatar
+1
Если текст выводить, можно хранить и в памяти программ…
поесть в ROM
+
avatar
  • BTN
  • 11 декабря 2018, 18:44
0
Выражаясь современным языком: респект автору!
+
avatar
+8
В закромах валялась платка на схеме NANO, блок питания, приемник ИК, и корпус от роутера
+
avatar
+1
… и полсотни микросхем atmega328-mu. Не то, чтобы это всё было нужно в разработке, но раз начал изучать микроконтроллеры, то надо иди в своём увлечении до конца. Единственное, что меня беспокоило — это atmega328-mu. В мире нет никого более отчаявшегося и беспомощного, чем человека, который пытается припаять провода МГТФ к корпусу VQFN. И я знал, что довольно скоро мы до этого дойдем.
+
avatar
  • Deluks
  • 11 декабря 2018, 19:37
0
А на обычной ленточной светодиодке адресной заработает?
+
avatar
  • vovka36
  • 11 декабря 2018, 20:20
0
Так разницы то никакой…
+
avatar
  • Deluks
  • 11 декабря 2018, 20:32
+1
Я только сравнительно недавно начал интересоваться ардуинкой, поэтому решил переспросить =). Вдруг чего =D
+
avatar
  • sersad
  • 11 декабря 2018, 20:55
+5
Тоже делал гирлянду 100 диодов на зеленых проводах.
Контролер ардуина, всякие управления для него это дичь и излишество, сколько эффектов и палитр не знаю но за 10 минут не повторилось ни разу. Дальше не залипал, елка стоит, светится, дети рады.
+
avatar
  • vovka36
  • 11 декабря 2018, 21:44
0
У вас какое расстояние между «модулями»? По видео кажется, что ну очень уж плотненько они расположены…
+
avatar
  • sersad
  • 11 декабря 2018, 22:06
+1
aliexpress.com/item/12mm-black-Wire-WS2811-pixel-module-led-string-Chrismas-tree-50pcs-a-string-with-3pin-JST/32444382333.html
Эти две ленты брал на 5 вольт. Точное расстояние не скажу, это видео прошлого года, сейчас не ставили еще елку, если достану придется собирать и елку, так что только по ссылке оценивать. Блок питания вроде на 5 или на 7 А. Брал 5 вольтовую чтоб не городить питание для ардуино нано. Ну и промышленные БП в наличии в магазине под боком. И да ленты хорошо стыкуются, больше 100 шт на такую елку не влезет.
+
avatar
  • SeroS_22
  • 12 декабря 2018, 14:06
+2
а можно пожалуйста ссылку на скетч, что у вас залит
+
avatar
  • sersad
  • 12 декабря 2018, 23:44
0
Честно не помню уже что залил, найти не смог
+
avatar
  • LynXzp
  • 16 декабря 2018, 10:46
0
Считать бинарник можно так: avrdude -p m328p -P usb -c usbtiny/usbasp -U flash:r:flash.bin:r
Хотя ИМНО выше привели то же самое но лучше.
+
avatar
0
Красиво. Где-то есть этот скетч посмотреть?
+
avatar
  • sersad
  • 12 декабря 2018, 23:44
0
Честно не помню уже что залил, найти не смог
+
avatar
  • Andrey31
  • 18 декабря 2018, 11:25
0
очень похоже в конце обсуждений mySKU.me/blog/aliexpress/58913.html
+
avatar
  • st512
  • 11 декабря 2018, 22:27
0
Может и мне помогут здешние знатоки… до WS2812 я пока не добрался, но накупил я по здешним скидкам гирлянд по типу таких:
mySKU.me/blog/discounts/66817.html
есть у меня три цвета rgb и белые, хочу сделать моргалку на ардуине. Моргать научился через мосфет, с этим нормально, но вот как сделать плавное включение и затухание, уже три дня пытаюсь найти… может что другое вместо мосфета купить? или плавное моргание нереально на таком сделать?
+
avatar
  • sersad
  • 11 декабря 2018, 22:43
+1
шим использовать на каждый канал
+
avatar
  • st512
  • 11 декабря 2018, 22:57
0
а можно шим подавать на мосфет и через него питать гирлянду?
+
avatar
  • sersad
  • 11 декабря 2018, 23:01
+1
да именно так
+
avatar
  • st512
  • 11 декабря 2018, 23:39
0
да именно так
без доп оборуования? или что-то еще надо?
а то нагуглил в яндексе что надо некий TLC5940 шим контроллер надо брать
+
avatar
  • bevice
  • 12 декабря 2018, 11:36
+1
Аналоговые выходы адруины на самом деле вполне обычный шим, цепляйте затвор мосфета на них и рулите через analogwrite()
+
avatar
+1
yandex.ru/images/search?text=ардуино%20управление%20лентой%20rgb

тут схем много как подключать как правило один провод общий для всех
+
avatar
  • bevice
  • 12 декабря 2018, 11:40
0
Все собирался забабахать гирлянду подобную, а времени что-то нет с прошивкой возиться. А тут ваша почти готовая. Спасибо!
+
avatar
0
а какой максимальный ток потребляет сотня диодов? в плане выбора БП
+
avatar
  • knst
  • 12 декабря 2018, 16:04
+1
я поделал внукам по 50 диодов, реально потребляют до 400 ма, включают от зарядок для смартфонов.
яркость установлена до 50%
+
avatar
  • Hegy
  • 12 декабря 2018, 19:10
+1
Я подключал 300 штук через БП от телефона на 2А. Гонял два часа разные эффекты на 75% яркости. БП нагрелся не более, чем при заряде телефона.

Таблица потребления.
+
avatar
0
подскажите как пульт настроить — если из терминала копирую значение(оно без x0) — то не компилируется, а если дописать x0 то горит просто белым и на пульт не реагирует. Без пульта, работает.
+
avatar
+1
если вы использовали методику получения кодов как написано в теме, то надо добавлять 0x перед кодом либо

в цикле loop меняем строку
Serial.println(results.value, HEX);
на
Serial.println(results.value);
будет выводится десятичное число
это число надо вставить в настройках вместо 0xfffffff

будет выглядеть так
#define IR_A1   ‭16730805‬    //N/P     // Увеличение яркости A1
+
avatar
0
спасибо
+
avatar
  • Hegy
  • 13 декабря 2018, 20:03
0
Может кто подскажет, как найти на али или в оффлайне провода с прозрачной изоляцией в 3 жилы. На али смог найти только уже припаянные к LED.
Вот такие:



Самое похожее, что удалось найти — это бухта на 50м с доставкой федэксом за $50. Перебор.
aliexpress.com/item/50m-lot-3pin-20AWG-17pcs-0-14wires-transparent-cable-for-led-pixel-module-with-good-cold/1707323788.html
+
avatar
  • sly76ru
  • 17 декабря 2018, 14:38
0
Подпишусь пожалуй, тоже не смог найти
+
avatar
0
Раз уж тут шарящие в контроллерах)))

Есть проект на атмеге32, где я должен стыковаться с другим устройством на 2400 8N2.

Всю голову же сломал, не могу заставить слать 2 стоп-бита.

#define F_CPU 8000000UL
#define BAUD 2400L
#define UBRRL_value (F_CPU/(BAUD*16))-1

UBRRL = UBRRL_value;
UBRRH = (UBRRL_value >> 8);
UCSRB = (1<<TXEN)|(1<<RXEN);
UCSRC =(1<<URSEL)|(1<<USBS)|(1<<UCSZ1)|(1<<UCSZ0);
//UCSRC=0b10001110; — так тоже пробовал
//UCSRC = 0x8E; — и так пробовал

В итоге и в atmelstudio 7, и в протеусе 8.1 контроллер выставляет 2400, 8N1.

Как мне выставить 8N2?
+
avatar
+1
За стоп биты отвечает UCSRC бит USBS тоесть все правильно
и так правильно
UCSRC=0b10001110;
Значит, либо ктото переинициализирует еще в программе.
Либо попробуй передернуть
UCSRB=0x00;
UCSRB = (1<<TXEN)|(1<<RXEN);


Для страховки можно еще паузу между командами поставить в 1 милисек
+
avatar
  • paaevv
  • 14 декабря 2018, 04:23
+2
Люди, все замечательно. не у каждого есть пульт и заморока с IR.
Поделитесь хорошими скетчами с множеством эффектов для ардуино с WS2812., которые переключаются сами по себе без пульта. типа (бегущие огоньки, по одному, по два, вперед, назад, от средины и т, д.)
Очень нужно для утренников.
СПАСИБО.
[email protected]
+
avatar
+4
Вечером скину новую версию, там будет выбор
+
avatar
  • LynXzp
  • 16 декабря 2018, 10:51
0
В комментариях уже несколько таких вариантов указывали. Но Вы ждите.
+
avatar
  • sepryn
  • 14 декабря 2018, 13:52
+1
Присоединяюсь к просьбе paaevv.
+
avatar
+3
Вечером скину новую версию, там будет выбор
+
avatar
  • sepryn
  • 14 декабря 2018, 14:25
+1
Спасибо, буду ждать.
+
avatar
  • paaevv
  • 14 декабря 2018, 15:01
0
dmitrybik Спасибо, дружище.
+
avatar
  • Leptyn
  • 14 декабря 2018, 23:07
+1
Автор, помогите, пожалуйста!

Собрал схему на Arduino Nano один-в-один, пины те же. Скачал и подключил библиотеки. Запустил IRrecvDemo, записал коды кнопок пульта, прописал их в command.h (заменил своими кодами не все строки, т.к. у меня пульт маленький, кнопок немного).

Скетч notamesh1.uno вообще не правлю, все как в скачанном исходнике! Демо режим работает без вопросов, а как только нажимаю кнопку на пульте (любую — хоть прописанную в command.h, хоть нет) — всё, цикл встает. Вывод в ком-порт прекращается, диоды Rx и Tx не мигают, диоды на гирлянде замирают в одном состоянии. Прога зациклилась?

Предположил, что зацикливание идет в цикле
while (!irrecv.isIdle());
в строке 268, но почему?! Закомментировал его, скетч зависать перестал, но работать тоже не хочет. В порт вместо команд сыпется мусор…

Не пойму, в чем причина, что надо исправить? При компиляции IDE ругается:


In file included from C:\Users\Alex\Documents\Arduino\scetches\notamesh1\notamesh1.ino:63:0:

C:\Users\Alex\Documents\Arduino\libraries\FastLED-master/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.001

 #    pragma message "FastLED version 3.002.001"

                     ^

Скетч использует 23760 байт (77%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1929 байт (94%) динамической памяти, оставляя 119 байт для локальных переменных. Максимум: 2048 байт.
Недостаточно памяти, программа может работать нестабильно.


Это может быть причиной? Заранее благодарен за помощь!
+
avatar
  • R11
  • 15 декабря 2018, 00:13
0
Такая же ситуация, сперва у меня с пропиской команд не получалось, автор помог. Потом тоже гирлянда начала зависать при нажатии кнопки на пульте. Уже на знаю, что не так

Кстати, ругается ли IDE или просто информирует, не знаю, у меня с таким текстом часы работают, да и в других проектах вроде проблем не было.
+
avatar
  • Leptyn
  • 15 декабря 2018, 02:00
0
Проблема всё же была в нехватке памяти, как и предупреждала IDE… Решение было очевидным — в строке 88 поставил
#define MAX_LEDS 50

Скетч заработал как надо! Теперь думаю, и зачем тут пульт? ))
Теперь надо дорабатывать скетч, чтобы с пульта сделать перебор только нужных эффектов. А то, некоторые слишком уж навязчивые ;)
+
avatar
0
Стек переполняется. Ардуино ругается, если остается свободной меньше 512 байт оперативки.
+
avatar
+3
Вышла вторая версия скетча, подробности в коментариях
+
avatar
  • Leptyn
  • 15 декабря 2018, 10:15
0
Класс! Я тоже не удержался и ночью опробовал вторую версию. Отличная штука получилась)

Скажите, а 39-й эффект почему не доступен при включенном логе и управлении с пульта, — из-за нехватки памяти тоже?
+
avatar
0
да
+
avatar
  • paaevv
  • 15 декабря 2018, 07:35
+1
dmitrybik
Вторая версия скетча
Жена- «Божественно», я и сам пол ночи радуюсь как дитя.
Подскажите пожалуйста:
— как выбрать нужные эффекты,
— как уменьшить скорость эффектов,
и хочется побольше эффектов на темном фоне.
А в остальном все очень и очень (КРАСОТИЩА).
Автору от всех, большой Respect.
Завтра несу в школу, будем готовится к Новому Году.
+
avatar
0
Все управляется с пульта
Эффекты перебираются командами
IR_D2 — предыдущий и
IR_D3 — следующий
или без пульта то переменная INITMODE

Скорость выбирается командами
IR_C2 -замедление и
IR_C3 -ускорение
К сожалению при смене эффекта скорость теряется

Но есть лазейка в функции void strobe_mode(uint8_t newMode, bool mc)
Есть case номер после него указывает номер эффекта, а в этой строке переменная thisdelay отвечает за скорость этого эффекта, это так называемая задержка, чем число меньше, тем эффект быстрее и наоборот, чем выше число, тем эффект медленне.

Поздравьте с Новым Годом школьников как следует!!!
+
avatar
  • Frolv
  • 15 декабря 2018, 13:10
0
Огромное спасибо за вторую версию. У меня готовая гирлянда на 120 светодиодов (самопальная), можно ли задействовать все 120? Что можно закоментить в скетче? Пульт не буду использовать (и вайфай тоже)!
+
avatar
+1
Гирлянда должна быть с адресуемыми светодиодами, это главное условие
Для настройки меняем:
#define KOL_LED       120                                  // Сколько светодиодов в гирлянде при первом включении
#define IR_ON         0                                    // Если равен 1  используется пульт

здесь выставляем пины правильно, если собрана как на рисунке в теме то менять не надо
#define LED_DT        14                                   // Номер пина куда подключена гирлянда
#define LED_CK        11                                   // Номер пина для подключения тактов, используется светодиодов WS2801 или APA102

и здесь не забываем выбрать правильный тип светодиодов
Надо закоментировать не используемый и раскоментировать нужный
LEDS.addLeds<WS2812B, LED_DT, GRB >(leds, MAX_LEDS);                         //Для светодиодов WS2812B
  // LEDS.addLeds<TM1803, LED_DT, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<TM1804, LED_DT, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<TM1809, LED_DT, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<WS2811, LED_DT, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<WS2812, LED_DT, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<NEOPIXEL, LED_DT>(leds, MAX_LEDS);
  // LEDS.addLeds<APA104, LED_DT>(leds, MAX_LEDS);
  // LEDS.addLeds<WS2811_400, LED_DT, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<GW6205, LED_DT, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<GW6205_400, LED_DT, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<UCS1903, LED_DT, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<UCS1903B, LED_DT, RGB>(leds, MAX_LEDS);
  
  // LEDS.addLeds<WS2801, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<SM16716, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<LPD8806, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<P9813, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<APA102, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<DOTSTAR, RGB>(leds, MAX_LEDS);
  
  // LEDS.addLeds<WS2801, LED_DT, LED_CK, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<SM16716, LED_DT, LED_CK, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<LPD8806, LED_DT, LED_CK, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<P9813, LED_DT, LED_CK, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<APA102, LED_DT, LED_CK, RGB>(leds, MAX_LEDS);
  // LEDS.addLeds<DOTSTAR, LED_DT, LED_CK, RGB>(leds, MAX_LEDS);

С этими настройками Уже будет работать.
+
avatar
  • Frolv
  • 15 декабря 2018, 17:01
0
Спасибо, буду пробовать.
+
avatar
  • paaevv
  • 15 декабря 2018, 18:21
+1
У меня есть несколько интересных скетчей
Налетай 1
С новым Годом 2
Удачи Всем

Если есть у кого то что-то подобное -делитесь…
Давайте соберем здесь все интересные скетчи для 2812.
Ждем.
+
avatar
  • sepryn
  • 16 декабря 2018, 00:50
0
В первой у меня при компиляции в 207 строке ошибку показывает

exit status 1
'one_color_all' was not declared in this scope
+
avatar
  • Lagros
  • 15 декабря 2018, 19:07
0
#define DEMO_MODE     3                                    // Режим при включении
                                                           // 0 — последняя запущенная программа
                                                           // 1 — демо режим с последовательным перебором эффектов
                                                           // 2 — демо режим с случайнвым перебором эффектов
По умолчанию стоит 3 режим, а в описании его нет. Что такое 3 режим?
+
avatar
0
Спасибо, нашли у меня ошибку. Вот что значит сидеть до 2 ночи.
Подправил
+
avatar
  • Scalpel
  • 15 декабря 2018, 19:51
0
Прошил Ваш скетч, настроил количество и тип светодиодов, при использовании пульта в лог пишет SETTING UP по кругу и не запускается, а если пульт выключить то всё работает. В чём может быть проблема?
+
avatar
0
Нехватка ресурсов, отключите лог, должно работать
+
avatar
  • Scalpel
  • 15 декабря 2018, 21:25
0
До включения лога было то же самое, плата Arduino Nano, диоды 2811, 100 шт.
+
avatar
0
Тогда надо уменьшить максимальное количество светодиодов, во второй версии скетча строка 123
#define MAX_LEDS 200 // Maximum number of LED's defined (at compile time).

надо поставить число 150
#define MAX_LEDS 150 // Maximum number of LED's defined (at compile time).

по идее должно работать
Кстати, подскажите сколько ресурсов пишет после компиляции
+
avatar
  • Scalpel
  • 15 декабря 2018, 21:51
0
У меня стоит #define MAX_LEDS 100
Лог компиляции показывает:
DATA: [===== ] 52.4% (used 1073 bytes from 2048 bytes)
PROGRAM: [======== ] 76.1% (used 23380 bytes from 30720 bytes)
Это при выключенном логировании и при вкл:
DATA: [======= ] 72.9% (used 1492 bytes from 2048 bytes)
PROGRAM: [======== ] 80.0% (used 24582 bytes from 30720 bytes)
Лог пишет в цикле:
---SETTING UP---
Initial del␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀␀
+
avatar
0
Ну что сказать, У вас зависает в фунции Setup, потом идет как я понял перезагрузка, или зависание
Слова ---SETUP COMPLETE--- не выводятся
Судя по логу компиляции должно все работать.

Причины могут как аппаратные так и программные.
Аппаратные
1 проверяйте питание,
2 проверяйте замыкания на плате (продуйте, может токопроводящий волосок висит),
3 с usb может идти сброс, там ножка на ресет заведена
Программные
1.Обновите библиотеки
2 обновите среду Ардуино

Может и модуль Nano может быть бракованым, как вариант проблема с ЕЕПРОМ, можно его убрать.

скетч скачало более 200 человек, вашу проблему я не встречал.
+
avatar
  • Scalpel
  • 16 декабря 2018, 10:08
0
Спасибо, посмотрю!
+
avatar
0
Залей какие-нибудь примеры для проверки еепром и приемника пульта. Возможно еепром битый.
+
avatar
  • R11
  • 15 декабря 2018, 20:06
0
Наконец получилось с новым скетчем! Спасибо большое dmitrybik.
А нельзя никак сделать, чтоб был доступен с пульта 39 режим? Может, даже пожертвовав какими-то эффектами похожими что ли, чтоб памяти хватало?
+
avatar
+1
Это можно, но надо мне время для написания инструкции.
Если в кратце по почистив библиотеку пульта. можно высвободить ресурсы
+
avatar
  • R11
  • 15 декабря 2018, 21:25
0
Мне, не к спеху, если Вам не трудно будет до НГ, то хорошо)
И еще вопрос, пока играл с эффектами и палитрами, то не понял, можно ли как-то остановить изменение цвета, чтоб, например, светилась вся гирлянда одним цветом и только мерцание сопроваждало бы этот режим. Хотел получить примерно такой эффект youtu.be/3Io4OeBP2GQ?t=183, но пока только переливается все. Подумал, что Остановка вращения палитры F1 Остановить перебор Палитр это делает, но вроде все равно переливаются разными цветами.
+
avatar
+1
переливы отвечает в функции loop строка
EVERY_N_MILLISECONDS(50) {                                                  // Smooth palette transitioning runs continuously.
    uint8_t maxChanges = 24; 
      nblendPaletteTowardPalette(gCurrentPalette, gTargetPalette, maxChanges);  
  }

можно закоментировать
+
avatar
  • R11
  • 15 декабря 2018, 21:53
0
Тогда их вообще не будет? Пусть лучше переливаются режимы)
+
avatar
+1
Ну тогда эти строки закоментировать
EVERY_N_MILLISECONDS(50) {                                                  // Smooth palette transitioning runs continuously.
    uint8_t maxChanges = 24; 
      nblendPaletteTowardPalette(gCurrentPalette, gTargetPalette, maxChanges);  
  }

а в в конец функции void strobe_mode(uint8_t newMode, bool mc)
добавте строки в таком виде
if(mc) {
      nblendPaletteTowardPalette(gCurrentPalette, gTargetPalette, maxChanges);  
   }
+
avatar
  • R11
  • 15 декабря 2018, 22:52
0
Спасибо, будем пробовать)
+
avatar
+2
Внимание, кто скачивал 2 вариант скетча, до сегодняшнего момента, перечитайте заново. Там была ошибка в выборе режима при запуске, раньше выбирался только демо режим с последовательным перебором, теперь ошибка исправлена.
+
avatar
  • sepryn
  • 16 декабря 2018, 00:01
0
dmitrybik, большое спасибо! Человек слова — обещал — сделал. Тестирую сейчас. А как бы увеличить количество диодов до 300? А то в ленте 300 диодов, резать не хочется, а максимум только 250 получается. Что можно подправить в скетче?
+
avatar
0
Я вас понял. В третей версии сделаю, но… приходится ужиматся в ресурсах. Это добавит размер используемой памяти.
Придется жертвовать частью эфектов, но я постараюсь…
Ориентировочно выйдет через неделю или раньше.
+
avatar
0
Доброго времени суток, извините, я так понял этот комментарий от прошлого года.
Не подскажете, хотел детям на улице елку оформить, она высокая, насчитал где — то под 370-400 светодиодов, такое уже тестировал кто — то с данным сетапом.
Почитав разные темы понял, что похоже у нано памяти не хватит на такое количество, на сколько реально можно ориентироваться, исходя из элементов с топика?
Ну и писалось про вариант с координатами, там еще будет больше данных, значит что — то будет совершенствоваться, на эту зиму есть смысл расчитывать? :)
С Уважением Дмитрий
+
avatar
0
Если нано, то максимум это 300 светодиодов с отключенным пультом
Мега тянет более 500
На работе STM32 тянет более 2500 светодиодов

мой совет такой, если у вас нано. разбейте на 2 части и каждую часть подключите в паралель. То есть 1 светодиод и
например 201 подключите к контроллеру остальные цепочкой
+
avatar
0
Добрый, получилось сделать 2 на квартирные ёлки, скоро уже буду доставать и проверять работоспособность.
Пересчитал конус, оказывается 600+ светодиодов будет, не подскажете на stm32 что и как делали?

Или в ближайшее время можно ожидать новую версию?
С уважением
+
avatar
0
Если и будет под STM32 то коммерческая версия (для тех кому лень собирать самому) там легко 4000 светодиодов (в моем экземпляре нет больше памяти). Поймите меня правильно, FastLED нет адекватной с аппаратным передатчиком для разгрузки микроконтроллера, пришлось писать свою FastLED_SPI_STM32.

Не коммерческая будет уже точно на ESP32. Разработчик FastLED ввел в нее аппаратную поддержку передатчика. Я только-только приступил к изучению и писанию кода под ESP32, могут вылезти подводные камни.

В некоммерческом виде будет весь текущий функционал, плюс расчет конуса, на ESP32 пульт заменит беспроводный интерфейс, код будет в среде ардуино, сроки пока не знаю, делаю в свободное время.

Будет готовый контроллер для лентяев.(прошей сам) с минимальной стоимостью и будет коммерческая прошивка с 2D матрицами (без FastLED)
+
avatar
0
Если хотите успеть до Нового года ставьте на Меге, она по крайней мере отработана, STM32 там сложно, писалось все не на ардуино (в ней нет пошаговой отладки)
+
avatar
  • paaevv
  • 16 декабря 2018, 09:41
0
Библиотеки установлены
Ардуино Nano. 28 светодиодов без пульта работает все отлично. Как только
подключаю пульт (#define IR_ON 1)
ошибка в while (!irrecv.isIdle());

Ir коды в COMMANDS_H ввел
#define MAX_LEDS 50 // Maximum number of LED's defined (at compile time).
Помогите.
+
avatar
0
Эта команда, ждать, если идет прием с пульта. Такое впечатление, что у вас непрерывно чтото принимается.
Либо датчик приема с пульта сломан,
Либо наводки идут, для этого датчик закрывают в металический корпус и корпус подключают к общему проводу (в данном случае к минус питания)
Бывали случаи срабатывания, когда рядом с домом чтото светило (реально окна выходили на металлургический комбинат, а там зарево от выливания шлака на улицу) Решается задергиванием штор.

Совет:
Для начала закройте вход датчика ИК (если не заработает, то меняйте датчик, если заработает, то ищите кто излучает)
+
avatar
  • mitel
  • 16 декабря 2018, 21:16
0
Привет, как убрать не нужное ограничение в 255 диодов? Мега 2560 потянет больше!
+
avatar
0
В третьей версии будет снято ограничение, я проверю все места, где необходимо подправлю.
+
avatar
  • mitel
  • 16 декабря 2018, 21:38
0
Спасибо, посмотрел эффекты библиотека неопиксел будет гораздо лучше, здесь как то однотипно. А списка эффектов с описанием нет?
+
avatar
0
Проект это развитие разработки другого человка, он решил использовать такие, у него есть и описание.
Главная фишка: здесь эфекты наслоены друг на друга и занимают минимум ресурсов.
Чувствую надо видео новое снимать, во 2 версии все намного интереснее стало.
+
avatar
0
Третий вариант скетча
Решил оптимизировать память, вроде неплохо получилось
Максимальное количество светодиодов не ограничено 255, можно делать больше
https://yadi.sk/d/QA7cAOHN6V0wzw
Проверяйте (вечером сам проверю), пишите в комментариях

Ну раз ресурсов много стало, в четвертом варианте будут переработаны и добавлены эффекты
+
avatar
  • paaevv
  • 17 декабря 2018, 18:23
+1
Третий вариант скетча
Намного лучше. Все грузится.
На сигналы пульта реагирует быстрее.
Спасибо.
На всех пультах есть кнопки с цыфрами.
Как бы закрепить эффект за кнопочкой?
И с яркостью, мне кажется лучше было бы одним нажатим увеличить яркость, а не щелкать по кнопке…
Или это я уже слишком…

С нетерпением ждем 4.
+
avatar
+2
Комментируем здесь какие функции кнопок пульта нужно добавить
+
avatar
  • paaevv
  • 18 декабря 2018, 00:59
+2
кнопка 1-1ый эффект
кнопка 2-2ой эффект.

кнопки 34-34ый эффект

#define IR_A1 0xB78877 //N/P // Увеличить максимальную яркость
(было бы лучше чтобы просто при нажатии кнопки яркость плвно увеличивалась) а не тыкать
и соответственно при нажатии
#define IR_A2 0xB722DD //Repeat // Уменьшить максимальную яркость
+
avatar
  • R11
  • 18 декабря 2018, 20:18
0
Круто) Прошил 3-ю версию, отклик на пульт стал быстрее. Хотелось бы еще отдельным эффектом — мерцающих огоньков свечек, или, как еще называют, эффект пламени, чтоб выбрал эффект, а там только свечки своим оранжевым пламенем,
+
avatar
+1
Постараюсь.
+
avatar
  • Piatno
  • 18 декабря 2018, 13:59
0
Здравствуйте. При проверки ругается на библиотеку фастлед. В чем может быть причина? Спс.

In file included from C:\Users\Admin\Downloads\notamesh3\notamesh3\notamesh3.ino:102:0:

C:\Users\Admin\Documents\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.001

# pragma message «FastLED version 3.002.001»
+
avatar
+1
Это нормально, разработчики библиотеки вставили информационное сообщение о версии.
+
avatar
  • Kudryash
  • 19 декабря 2018, 14:22
0
Зажигается только 255 светодиодов, если поставить 300 — начинают гореть только первые 45.
+
avatar
+1
Понял, значит не все нашел, вечером перепроверю и скину исправленную версию.
+
avatar
  • sepryn
  • 19 декабря 2018, 21:46
0
Да, у меня тоже. И виснет сразу.
+
avatar
+1
Нашел ошибку, исправил и выложил заново, счетч №3
+
avatar
+1
На шел ошибку в 3 скетче, было зависание при количестве светодиодов больше 255 штук
Бонусом, добавил работу пульта при долгом нажатии клавиши

Кто скачивал 3 скетч, скачайте его снова
+
avatar
  • sepryn
  • 19 декабря 2018, 22:54
0
Загрузил сразу на 300 диодов. Загрузилась, хотя и показала нехватку памяти. Проработала один цикл и зависла. Буду искать причину. Автору большое спасибо что не оставляет проект.
+
avatar
+1
Я проверить, к сожалению не могу, нет у меня такой платы сейчас
попробуй закоментировать:
237 строку #include «fire.h»
и 443 строку case 39: if(mc) {thisdelay=10; palchg=0; thisdir=1;gCurrentPalette = CRGBPalette16( CRGB::Black, CRGB::Blue, CRGB::Aqua, CRGB::White);} fire(); break;
и в 179 строке поменять 39 на 38 uint8_t maxMode = 38;

Если зависать не будет, то виноваты ресурсы

И ждем новый скетч, там раширенная клавиатура и эфект пламени не требовательный к памяти
я почти его закончил
+
avatar
  • sepryn
  • 20 декабря 2018, 20:02
0
Сделал как ты написал. Зависание пропало. Тестирую. Спасибо.
+
avatar
  • tbnk
  • 20 декабря 2018, 08:21
+1
Пульт штука, конечно, крутая, но для новогодней гирлянды, имхо, излишняя.
За год может потеряться, батарейки нужны, произвольным пультом не заменишь (нужно перешивать)
Использовать пульт от телика — нужно прикрывать телик, чтобы на него не прошли команды которые хотел послать гирлянде.
У меня самсунг — на пульте задействованы все кнопки и высокая чувствительность — ловит из соседней комнаты на отраженке от стен.

Напрашиваются 3 механических кнопки (дополнительно, а не вместо пульта)

1 — старт/стоп демо режима (заморозка текущего эффекта)
2 — выбор следующего режима. Можно даже 2 кнопки (следующего / предыдущего), ибо пролистать 39 режимов по кругу достаточно утомительно.
3 — выбор яркости. 3-5 ступеней. Иначе в полной темноте может слепить / раздражать, а при включенном свете — плохо видно.

Кнопки можно не запаивать, но хорошо если бы это было реализовано в скетче.
Памяти это не много отъест, входов свободных достаточно, можно резисторным делителем через аналоговый вход.
+
avatar
+2
Понял, учту пожелания
+
avatar
  • Piatno
  • 21 декабря 2018, 10:41
0
Эти коды надо вставить в файлик commands.h,

Меняю код на свой выдает ошибку
Коды у меня правда не похожие на стоковые.
Пример: BD5DAC9D
Пуль от iptv приставки, может в нем дело?
Спасибо.
+
avatar
  • Piatno
  • 21 декабря 2018, 10:50
0
Я так понял что код должен начинаться с 0х? если я свой код меняю на этот BD5DAC9D выдает ошибку, а если 0хBD5DAC9D то ошибки нет, но и не работает )
Спасибо.
+
avatar
0
Я уже отвечал, если вы использовали методику получения кодов как написано в теме, то надо добавлять 0x перед кодом

То есть для вашего случая
0xBD5DAC9D

#define IR_A1 ‭0xBD5DAC9D‬ //N/P // Увеличение яркости A1
+
avatar
  • Piatno
  • 21 декабря 2018, 11:49
0
Спасибо, не увидел в коментах.
Еще вопросик. Когда нужно узнать имя пульта (IRrecvDump), то пульт который хочу прикрутить он определяется как Unknown encoding. А такого варианта нет. Нужно искать другой пульт? Спс.
+
avatar
0
Поставили в тупик. Думаю надо поступать так проверить в IRrecvDемо, пульт выдает код или нет (то есть он одинаковый при каждом нажатии кнопки пульта и у каждой кнопки пульта он различный)
если все нормально, то в настройках моего скетча можно выставить любой пульт, например NEC
Теоретически должно работать
+
avatar
  • Piatno
  • 21 декабря 2018, 13:02
0
Походу дело в том, что с каждым нажатием одной кнопки приходит разный код (.
и надо нажать очень много раз чтобы код который внес в файл проскочил и функция заработала, ну и бывает, что и на каждое нажатие приходит верный код.
Походу проще физические кнопки сделать…
+
avatar
+1
Поэтому мои рекомендации:
1. Проверьте может шумит приемник ИК (если он в металлическом корпусе то корпус надо подключить к минусу.
2, Может частота пульта не соответствует частоте приемника ИК (бывает 38 и 36 кГц) Попробуй те их подобрать.
3. Поменять пульт тоже можно

Да вы можете перейти на аппаратные кнопки, либо использовать демо режим.
Я постараюсь добавить аппаратные кнопки.

ПС: из 200 человек скачавших скетч только у двоих есть проблема с пультом.
+
avatar
  • Andrey31
  • 22 декабря 2018, 21:59
0
ну… не у двоих… тоже приходится жать раз по пять… пульт NEC 32 бит
+
avatar
  • paaevv
  • 23 декабря 2018, 04:53
0
Интересные эффекты…

impetus.obninsk.ru/electro/flash.html
+
avatar
  • Andrey31
  • 23 декабря 2018, 13:45
0
немного разный уровень: деревянные счёты против хорошего компьютера) вообщем даже не вчерашний а позавчерашний век
+
avatar
  • paaevv
  • 23 декабря 2018, 14:11
0
Понятно, но такие эффекты можно реализовать на 2812?
+
avatar
+3
Конечно же можно и даже больше. Нет ограничения на 8 каналов (можно больше и меньше), нет ограничения на цвет лампочки (16 мил оттенков) у любого элемента гирлянды, не надо паять схему, покупаются модулями, не надо программировать пзу (не нужен программатор). Единственно что надо, модуль ARDUINO, гирлянда ws2812, блок питания и компьютер.
+
avatar
  • Sosedus
  • 23 декабря 2018, 18:35
+1
Подтверждаю, получилось сделать за час с перекурами, эффекты просто потрясающие, правда все было в наличии, лента с адресуемыми светодиодами 2813 и ардуина мега.
+
avatar
  • paaevv
  • 23 декабря 2018, 19:59
0
Поделитесь нужно для 2812.
Спасибо
+
avatar
+2
почитайте статью, под которой эти коментарии, там все написано. как подключать и что заливать.
Будут проблемы спрашивайте, поможем
+
avatar
  • Sosedus
  • 24 декабря 2018, 11:11
0
так я по этому обзору делал. 2812 0т 2813 по подключению не отличаются.
по поводу вашего сообщения выше с интересными эффектами, такое тоже можно сделать на ардуинке.
+
avatar
  • paaevv
  • 24 декабря 2018, 11:09
0
Все класно, работает.
А когда примерно выйдет 4-я версия.
Спасибо большое за качественную сборку.
+
avatar
  • Sosedus
  • 24 декабря 2018, 11:12
+1
я рад что все получилось
+
avatar
+7
Я рад что работает.
Сейчас дописываю. Вечером тестирую.
Там будет много вкусностей…
+
avatar
  • paaevv
  • 24 декабря 2018, 11:39
0
Ждем с большим нетерпением.
Удачи Вам.
+
avatar
+1
Вышел четвертый вариант скетча

Проверяем…
+
avatar
  • ncat_hq
  • 25 декабря 2018, 02:38
0
*YES*…
мега 2560 + 200-2812b + пульт nec + лог 0 + версия 3.1 = вис на 85
сейчас проверю новую версию
PS спасибо за огромную работу
+
avatar
  • ncat_hq
  • 25 декабря 2018, 04:21
0
Четвертая версия.
KOL_LED 60
IR_ON 1
IR_MAX_LEDS 60
CHIPSET WS2812B

------[LOG ON]---------------------------
---SETTING UP---
20, 0, 0
Initial delay: 0ms delay.
Initial strand length: 0 LEDs
Mode: 85
1002
---SETUP COMPLETE---
Start SetMode
Start SetMode
Start SetMode
Start SetMode
------[LOG OFF]--------------------------

при IR_ON 0
------[LOG ON]--------------------------
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 60 LEDs
Mode: 0
1001
---SETUP COMPLETE---
Start SetMode
Mode: 23
30960
End SetMode
Start SetMode
Mode: 26
61040
End SetMode
------[LOG OFF]--------------------------

ЗЫ DEMO_MODE 2
+
avatar
+1
Как вы попали в 85 режим? Либо в еепром записано либо с пульта.
Подправил скетч, теперь не будет режимов которых нет.
Скачайте четверку заново
+
avatar
  • ncat_hq
  • 25 декабря 2018, 15:20
0
Мистика… Прошил обновленный четвертый… Тоже самое… Очистил eprom принудительно… Все заработало!
+
avatar
+1
вечером перепроверю
+
avatar
  • Sosedus
  • 25 декабря 2018, 15:44
0
у меня в четвертом варианте скетча постоянно мигают белым каждый 10 светодиод, в третьем варианте такого не было.
+
avatar
  • ncat_hq
  • 25 декабря 2018, 16:27
0
Поставь значение CANDLE_ON в 0
Это эффект свечи
+
avatar
  • paaevv
  • 25 декабря 2018, 22:50
0
Как убрать переход между эффектами (бенгальский огонь)
если поставить значение CANDLE_ON в 0
то
+
avatar
  • ncat_hq
  • 25 декабря 2018, 23:05
0
В 75 строке… крайнего скетча…
>>#define CANDLE_ON 1 // Включить Свечи при запуске
заменить 1 на 0
Все.
+
avatar
  • paaevv
  • 25 декабря 2018, 23:10
0
Я так и сделал, при кампиляции
ошибка см картинку выше

если define CANDLE_ON 1-то загружается номально
+
avatar
  • paaevv
  • 25 декабря 2018, 23:56
0
75 не отключает бенгальские огни при смене скетчей
+
avatar
  • ncat_hq
  • 26 декабря 2018, 00:42
0
Дефайн это глобальная переменная… Проверяйте версию ИДЕ и плугинов… имхо
+
avatar
+1
Исправил, скачайте скетч заново
+
avatar
+2
Исправлены ошибки в 4 скетче:
1. Ошибка компиляции для 2 проводных светодиодов
2. Проблема с ЕЕПРОМ Веедены дополнительные проверки
Остальное не затронуто.
Скетч 4 обновлен, можно скачать
+
avatar
  • sepryn
  • 25 декабря 2018, 22:15
0
Всё работает. Большое спасибо автору!
+
avatar
  • paaevv
  • 25 декабря 2018, 23:51
0
Не грузится скетч если #define CHANGE_ON 0 // Включить смену эффектов через бенгальский огонь
ошибка
а если
#define CHANGE_ON 1 // Включить смену эффектов через бенгальский огонь
то работает но надоедает
+
avatar
  • ncat_hq
  • 26 декабря 2018, 01:11
0
1.какая плата
2.как минимум версия IDE
+
avatar
+1
Исправил, скачайте скетч заново
+
avatar
0
Спасибо большое за проект.
При #define CHANGE_ON 0 не объявляется переменная KolLed
148 #if CHANGE_ON == 1
149 uint8_t KolLed;
150 #endif

И это приводит к ошибке, потому что в строке
377 KolLed = NUM_LEDS;
Используется эта переменная.
+
avatar
0
Исправил, скачайте скетч заново
+
avatar
+2
Исправлены ошибки в 4 скетче:
1. Исправил ошибку при отключении бенгальскго огня
2. Смену плавную смену режимов можно оставить, а эффект бенгальского огня убрать
Остальное не затронуто.
Скетч 4 обновлен, можно скачать
+
avatar
  • tbnk
  • 26 декабря 2018, 07:46
0
Стоит до НГ кнопки ожидать?
+
avatar
+2
Ожидайте.
Будут аналоговые кнопки. Схема может быть любая.
например любая из этих:



Это самый простой вариант…
+
avatar
  • paaevv
  • 26 декабря 2018, 08:49
0
СПАСИБО — все работает.
С Наступающим Новым Годом!
+
avatar
  • R11
  • 26 декабря 2018, 11:56
0
Доброго дня) Все круто, перепрошился. Спасибо большое автору за проект и его поддержку. Правда, я так и не понял как выставить свечки, кроме каждого 10 светодиода. Я тогда имел ввиду эффект пламени типа такого youtu.be/-2hk6rxlrGA?t=7 чтобы все светодиоды мерцали как свечки и там можно было включать или отключать только блеск, а палитра не менялась бы, только скорость и яркость с блеском ) Просто перебором эффектов вроде такого нет. Реально ли включить в скетч такой режим?
+
avatar
  • R11
  • 26 декабря 2018, 21:06
0
Что-то я делаю не так, илди… Подключаю WS2811 200 светодиодов, в скетче выставляю: KOL_LED 200 и IR_MAX_LEDS 250, но работают только 100. При этом я отключил первые 50 и подключил следующие 100, то есть, вся линия данных и питание в норме. На цветомузыке все 200 тоже работают, а тут почему-то только 100.
+
avatar
  • Sosedus
  • 26 декабря 2018, 23:39
+1
У меня была похожая проблема, работало только 30 светодиодов, я пробовал скетчи примеров из библиотеки FastLED-master, работали все. Провозился пол дня, потом заработало. В чем проблема была я так и не понял, переустановил библиотеку, залил скетч 3 из архива, поменял в нем только Номер пина куда подключена гирлянда и все, залил, работает. После стало работать нормально, поменял все под себя, работает отлично.
+
avatar
  • R11
  • 26 декабря 2018, 23:53
0
А сколько у Вас светодиодов в гирлянде? На другом скетче или другом контроллере у меня гирлянда вся горит, а вот на этом скетче только 100 светодиодов.
+
avatar
  • Sosedus
  • 27 декабря 2018, 00:21
+1
сейчас 150 работают WS2813, в установках стоят WS2812.
Проблема была аналогичная вашей только с 30 диодами, работали только 30, в другом скетче с примеров библиотеки FastLED-master загорались с точностью до штуки, все 150. Провозился пол дня потом заработало. Такой вопрос, а меньше 100 светодиодов нормально устанавливается?
+
avatar
  • R11
  • 27 декабря 2018, 00:35
0
Вот щас перепрошил на 90 светодиодов и все равно работают 100… реакция на команды пульта есть.
Я выявил это только когда повесил на елку всю гирлянду, до этого проверял все время скетчи на 100 светодиодах…
+
avatar
  • Sosedus
  • 27 декабря 2018, 01:13
+1
вот проблема 1:1 как у меня, тоже работало всегда 30 диодов. Я переустановил библиотеку FastLED-master поставил ее из архива, может в этом решение проблемы. Скачал заново скетч и ставил его с минимум изменений.
+
avatar
  • R11
  • 27 декабря 2018, 01:22
0
Спасибо, а из какого архива имеется ввиду? У меня пишет FastLED version 3.001.005
+
avatar
  • Sosedus
  • 27 декабря 2018, 01:34
+1
у меня стоит версия 3.1.0 скачал с github.com.
Я если честно не знаю в чем была проблема, может и не в этом, но она разрешилась.
+
avatar
  • Sosedus
  • 27 декабря 2018, 01:50
+1
ситуация 100 % как у меня, я тоже проверял все на 30 диодах, и проблему выявил перед установкой гирлянды на елку, как не тасовал ленты, работает всегда 30 шт. Ставишь 100 работает 30, ставишь 10 работает 30. Я не знаю, но где то это прописалось.

Попробуй еще примеры по запускать из библиотеки FastLED, я с ними пробовал, проверял в них работу всей гирлянды.

качал библиотеку отсюда
https://github.com/FastLED/FastLED
+
avatar
  • R11
  • 27 декабря 2018, 01:52
0
Спасибо, попробую.
+
avatar
+2
Ситуация такая:
Были проблемы пока не обновил библиотеку FastLED:
Скетч/Подключить библиотеку/Управление библиотеками, там выбрать тип Обновляемый и если в списке стоит FastLED обновить его нажав кнопку обновление.

Теперь по поводу сколько светодиодов работает.
Если включен пульт (IR_ON равен 1 ) то количество светодиодов берутся не из KOL_LED а из EEPROM
поменять можно будет командой с пульта IR_B2 и IR_B3 для 3 скетча или IR_Key_Length_Garland_plus и IR_Key_Length_Garland_minus для 4 скетча
+
avatar
  • R11
  • 27 декабря 2018, 15:08
0
Спасибо, получилось)
+
avatar
+1
Ситуация такая:
Были проблемы пока не обновил библиотеку FastLED:
Скетч/Подключить библиотеку/Управление библиотеками, там выбрать тип Обновляемый и если в списке стоит FastLED обновить его нажав кнопку обновление.

Теперь по поводу сколько светодиодов работает.
Если включен пульт (IR_ON равен 1 ) то количество светодиодов берутся не из KOL_LED а из EEPROM
поменять можно будет командой с пульта IR_B2 и IR_B3 для 3 скетча или IR_Key_Length_Garland_plus и IR_Key_Length_Garland_minus для 4 скетча
+
avatar
+1
добавил эффект, сегодня протестирую и выложу
+
avatar
  • R11
  • 27 декабря 2018, 18:51
0
Круто, ждем-с)
+
avatar
  • paaevv
  • 26 декабря 2018, 16:50
0
В некоторых эффектах, последний светодиод в ленте горит ярче других.
Так должно быть?
+
avatar
+1
Это не баг это Фича. Я у себя код проверил, не нашел почему. Значит это особенность такая.
Сказали бы конкретно на каком эффекте, я бы программно фофиксил.
+
avatar
  • paaevv
  • 27 декабря 2018, 18:11
+1
После обновления библиотеки FastLED все само устранилось.
Замечательные эффекты. и работа устройства.
Казалось бы больше нечего и не нужно, но кнопочки и резисторы потихоньку ищем…
Спасибо большое автору за проект и его поддержку.
+
avatar
  • Xayder
  • 27 декабря 2018, 15:17
+1
Подскажите как понять эту строчку
#define COLOR_ORDER RGB //Очередность цвета светодиодов RGB или GRB
На что она влияет, на какие светодиоды рассчитана?
у меня WS2811
+
avatar
+3
У изготовителя светодиодов есть такая особенность, цвета могут быть поменяны местами. Изготовитель библиотеки FastLED учел это, и ввел этот параметр для подстройки

Можно проверить, либо загрузив пример FastLED Blink (там должен мигать красный), либо в моем скетче с пульта включить красный ( команда IR_Key_Solid_Red)
Если это не так, то поменять параметр
+
avatar
  • R11
  • 27 декабря 2018, 19:04
0
Я у себя, кстати, менял, у меня красный вместо зеленого был) Просто переписал на RGB вместо GRB
+
avatar
+2
Добавление в 4 скетче:
1. Добавлен эффект 40 Свечки (но не так как на видео, похоже, того скетча что на видео не нашел, поделитесь добавлю)
2. Добавлены эффекты плавной смены и плюс режим случайного перебора
3. Добавлена аналоговая клавиатура
4. Добавлены выбор режима как в телевизоре два варианта (кнопки 0-9 и +10 или кнопки 0-9)
5. Изменен режим свеча, можно выбрать шаг отображения.
6. выполнена оптимизация
7. исправлены мелкие ошибки и добавлены новые :)
Скетч 4 обновлен, можно скачать
+
avatar
  • R11
  • 27 декабря 2018, 23:44
0
Большое спасибо) Такой эффект тоже сойдет, с блеском нормально) Разве что можно добавить еще слегка мерцания)
Собрал на Pro Mini и установил в корпус, где уже была цветомузыка с вариантом от ЧипДип (точно не знаю чья разработка Люмазойд) и часами на esp с синхронизацией по NTP. Попоробовал даже цветомузыку на елке, но там билиберда, когда лента под шторами сверху на карнизе, то лучше смотрится.
А сама гирлянда зачетная получилась, столько эффектов. Еще и поддержка и модернизация автором. Может, она щас дапже самая крутая, как мне кажется, из тех, что встречал.


+
avatar
0
По мне, так лучшая гирлянда — эта

Большое года ждал паблик релиз на ардуино, правда выложено без исходников.
Но зато куча настроек через дисплей, собрал себе на 300 диодов, питание через каждые 100, родные были в восторге!
+
avatar
  • R11
  • 11 января 2019, 00:28
0
Собирал ее летом или осенью навесом на ардуино мега попробовать, но потом как-то позабыл, да и на дисплее все на англ, надо было разбираться что к чему…
+
avatar
  • paaevv
  • 28 декабря 2018, 09:34
0
Было время на тм2 и ла3 делали програмируемые бегущие огни на светоодиодах.
Так там можно было задавать нажатием одной кнопки колличество бегущих светодиодов.
1 нажатие — 1 светодиод
2 нажатия — 2 светодиода
— ну скажем хотябы до 5.
Было бы класно реализовать и в Вашем проекте, если это возможно, лучше всего с пульта.
Спасибо.
+
avatar
+2
Это можно сделать, но люди не поймут. Это как на современном компьютере запустить игру 80 годов, в 16 цветах и звуком из спикера, удовольствие получат только те, кто в этих 80 играл. а остальные покрутят пальцем у виска.
Раньше сам делал схемы и на триггерах и сдвиговых регистрах но теперь возможности куда шире. Я в те времена не пог предположить, что заставлю лампочку зажжется любым из 16 миллионов цветов, Теперь применимы термины волны, синусоиды, палитры.
Давайте так, если народ поддержит, то я добавлю эффекты из 80-90 годов.
+
avatar
  • paaevv
  • 28 декабря 2018, 11:26
0
Люди поддержите. Поверьте очень класно будет.
Заранее благодарю всех.
+
avatar
0
С новым годом!!!
Сделал бегущий огонь, в 4 плюс…
+
avatar
  • warpm
  • 28 декабря 2018, 12:12
+1
поддерживаем… только ленту теперь увеличивать надо ))))
+
avatar
  • paaevv
  • 28 декабря 2018, 12:55
0
Подарок для радиолюбителей 70-80-90 к Новому Году. Поддержите.
Поностальгируем.
+
avatar
  • HacoH
  • 28 декабря 2018, 18:16
0
Было время на тм2 и ла3 делали
Да да… а ещё на 556РТ4 (4 канала), и на 155РЕ3 (8 каналов). Казалось- как круто по сравнению с гирляндой собранной со стартерами и конденсаторами…
+
avatar
  • sepryn
  • 28 декабря 2018, 19:56
+1
Автор, большое спасибо! Всё очень хорошо работает, только кнопки пока не могу попробовать. Красивые эффекты.
+
avatar
  • Sosedus
  • 29 декабря 2018, 00:22
0
а кнопки уже работают? у меня при выборе
KEY_ON 1

с выключенным пультом
вылетает с ошибкой
+
avatar
0
у себя проверял, работало, скинь сюда настройки кнопок, либо ошибку
+
avatar
0
Исправил, перезагрузите скетч 4
+
avatar
  • sepryn
  • 29 декабря 2018, 10:26
0
Гирлянда становится всё лучше и круче! Спасибо автору!
Относительно 96 строчки скетча
#define POWER_I 5000 // Ток блока питания в милиАмперах
У меня зарядка для мобильного 2-х амперная не тянула. Зависала на первом эффекте. Выставил 2000, всё-равно висла. Поставил 1000 и всё прекрасно заработало.
+
avatar
  • sepryn
  • 29 декабря 2018, 10:33
0
Виснет. С предыдущим скетчем при значении 2000 не висла. А вообще эта моя сборка (нано + лента 300 диодов + зарядник 2А Самсунг) с другими скетчами работает, не виснет.
+
avatar
0
300 светодиодов это предел
отключите лог (LOG_ON 0) и
свечки (CANDLE_KOL 0)
у меня получается
Скетч использует 25492 байт (82%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1599 байт (78%) динамической памяти, оставляя 449 байт для локальных переменных. Максимум: 2048 байт.

и то может зависать
Надо чтобы Глобальные переменные оставались около 500 или больше
Если не поможет придется чтото еще убирать
например пульт
+
avatar
  • Cucumber
  • 29 декабря 2018, 20:13
+1
Два раза пытался перейти на 4 версию и вернулся обратно на третью. Четвертая зависает и режимы очень похожи друг на друга. Все это на 100 ws2811 без пульта и кнопок в деморежиме 2.
+
avatar
  • Lagros
  • 29 декабря 2018, 20:46
0
Странно. Ни разу не зависла. 100 WS2812 на четвертой версии. Без пульта и кнопок. Деморежим 1. Пульт отключен.
+
avatar
+2
Даже не знаю как помоч. У меня нет ws2811. Попробуйте оставить лог в демо режиме. и пришлите сюда где зависает.
Кстати, библиотека FastLed обновлена?

Скетч/Подключить библиотеку/Управление библиотеками, там выбрать тип Обновляемый и если в списке стоит FastLED обновить его нажав кнопку обновление
+
avatar
  • Cucumber
  • 30 декабря 2018, 13:55
+1
Оболочка arduino последняя и все библиотеки скачаны по вашим ссылкам свежие. Вот сейчас опять зависла похоже на этапе смены режима. Половина гирлянды красная, половина синяя с каждым десятым белым огоньком.
# pragma message «FastLED version 3.002.001»
Скетч использует 18340 байт (56%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 937 байт (45%) динамической памяти, оставляя 1111 байт для локальных переменных. Максимум: 2048 байт.

CHANGE_ON 1
CHANGE_SPARK 4

Вот лог:
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 100 LEDs
Mode: 0
1005
---SETUP COMPLETE---
Start SetMode
Mode: 36
60656
End SetMode
Start SetMode
Mode: 30
120595
End SetMode
Start SetMode
Mode: 12
180657
End SetMode
Start SetMode
Mode: 19
240650
End SetMode
Start SetMode
Mode: 38
256613
End SetMode
Start SetMode
Mode: 39
316594
End SetMode
Start SetMode
+
avatar
0
Переписал демо режим, должно работать без зависаний, скачайте заново
+
avatar
  • Cucumber
  • 31 декабря 2018, 00:34
+1
Сапасибо большое. Тестирую.
+
avatar
  • R11
  • 30 декабря 2018, 01:27
0
У меня WS2811 200 светодиодов. Отключен Log, использую пульт. Сегодня с обеда работает норм, правда, оставил на одном переливающимся эффекте, блок питания от компа.
+
avatar
+2
Еще раз спасибо за проект. В таким виде как сейчас демо режим с интервалом 60 сек будет запускаться только до 4 режима. Нужно как минимум изменить тип переменной secondHand на uint16_t. у себя я изменил обработку DEMO
void demo_check(){

if(demorun) { // Is the demo flag set? If so, let's cycle through them.
if (millis() — lastSecond > DEMO_TIME * 1000) {
lastSecond = millis();
gCurrentPaletteNumber = random8(0,gGradientPaletteCount);
gTargetPalette = gGradientPalettes[gCurrentPaletteNumber];
#if CHANGE_ON == 1
if(demorun == 2) {
newMode = random8(0,maxMode);
}else{
newMode++;
if (newMode > maxMode) newMode = 0;
}
StepMode = 1;
#if LOG_ON == 1
Serial.println(F(«Start SetMode»));
#endif
#else
if(demorun == 2) {
ledMode = random8(0,maxMode);
}else{
ledMode++;
if (ledMode > maxMode) ledMode = 0;
}
strobe_mode(ledMode,1); // Does NOT reset to 0.
#if CANDLE_KOL >0
PolCandle = random8(CANDLE_KOL);
#endif
#endif
} // if lastSecond
} // if demorun
} // demo_check()
И long lastSecond; объявл в глобальный переменных.
И еще, не разобрался почему при mode 7 происходит стабильный перезапуск процессора.
+
avatar
0
Добавление в 4 скетче:
1. Переписан демо режим по нормальному, зависаний быть не должно
2. Добавлено: можно создавать списки режимов для работы в демо режиме, Появились демо 3 и демо 4 для работы с этими списками
Скетч 4 обновлен, можно скачать
+
avatar
0
А вас проблемы не было с программой juggle_pal() ( 7 и 31 режим). После их выбора либо в ручную либо в демо режиме происходит перезагрузка. В 3-й версии они работают нормально.
+
avatar
  • Cucumber
  • 31 декабря 2018, 00:32
+1
Так и есть. После 7 и 31 режима программа начинает список заново в любом деморежиме.
+
avatar
0
не заметил
скинте ваши настройки
Мой лог
---SETUP COMPLETE---
Start SetMode
Mode: 22
10619
End SetMode
Start SetMode
Mode: 6
20749
End SetMode
Start SetMode
Mode: 6
30619
End SetMode
Start SetMode
Mode: 7
40625
End SetMode
Start SetMode
Mode: 33
50618
End SetMode
Start SetMode
Mode: 23
60669
End SetMode
Start SetMode
Mode: 5
70649
End SetMode
Start SetMode
Mode: 27
80628
End SetMode
Start SetMode
Mode: 28
90688
End SetMode
Start SetMode
Mode: 31
100687
End SetMode
Start SetMode
Mode: 31
110694
End SetMode
Start SetMode
Mode: 14
120634
End SetMode
Start SetMode
Mode: 5
130697


Надеюсь скетч 4 перезагрузили, в демо ошибка была
+
avatar
  • Cucumber
  • 31 декабря 2018, 01:09
+1
DEMO_MODE 3
MY_MODE 2,7,9,8
Дополнительная информация
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 100 LEDs
Mode: 0
1001
DEMO MODE 3
---SETUP COMPLETE---
Start SetMode
Mode: 7
60630
End SetMode
Stt SetModeMo M-⸮

И в этот раз зависло после 7 режима. Повторил — тоже зависло.
Далее выставил
CHANGE_SPARK 0
Дополнительная информация
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 100 LEDs
Mode: 0
1001
DEMO MODE 3
---SETUP COMPLETE---
Start SetMode
Mode: 7
60653
End SetMode
⸮rt SetMode            ---SETTING UP---I 
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 100 LEDs
Mode: 0
1001
DEMO MODE 3
---SETUP COMPLETE--


Т.е. уже не зависает, а после 7 режима опять нулевой и так по кругу
+
avatar
  • AndySS
  • 31 декабря 2018, 01:46
+1
Замените в juggle_pal.h KolLed на KolLed-1
leds[beatsin16(thisbeat+i+numdots,0,KolLed-1)] 


Автору спасибо огромное!
+
avatar
0
В 3 скетче там не вычиталось, ну если поможет, то пусть так
+
avatar
  • AndySS
  • 31 декабря 2018, 02:56
0
Видно beatsin вешает камень, но не всегда.
Год назад я тоже на beatsin зависоны ловил, вот и решил глянуть из-за чего.

ПыСы пару часов уже без зависона две гирлянды по 75 светиков на Arduino pro mini
+
avatar
  • Cucumber
  • 31 декабря 2018, 16:18
0
Спасибо, заработало!
Всех с наступающим Новым Годом!
+
avatar
0
Очень странно.
скинте все настройки
у меня нет зависаний
Мой лог
---SETTING UP---
Initial delay: 1000ms delay.
Initial strand length: 100 LEDs
Mode: 21
1001
DEMO MODE 3
---SETUP COMPLETE---
Start SetMode
Mode: 7
10638
End SetMode
Start SetMode
Mode: 9
20661
End SetMode
Start SetMode
Mode: 8
30612
End SetMode
Start SetMode
Mode: 2
40665
End SetMode
Start SetMode
Mode: 7
50668
End SetMode
Start SetMode
Mode: 9
60676
End SetMode
Start SetMode
Mode: 8
70641
End SetMode
Start SetMode
Mode: 2
80615
End SetMode
Start SetMode
Mode: 7
90659
End SetMode
Start SetMode
Mode: 9
100666

FastLED обновлена?
сколько ресурсов после компиляции?
Мои данные
Скетч использует 28848 байт (93%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1338 байт (65%) динамической памяти, оставляя 710 байт для локальных переменных. Максимум: 2048 байт.
+
avatar
  • AndySS
  • 31 декабря 2018, 13:06
+1
После Mode 7 и 31 идет перезагрузка.
При KOL_LED=IR_MAX_LEDS
Если сделать так как выше написал — то все гуд!
+
avatar
+3
обавление в 4 скетче:
1. Исправлена ошибка. при CHANGE_SPARK 4 эффекты случайно не менялись. Исправлено
2. Списки режимов теперь не расходуют оперативную память, можно список делать до 255 элементов.
Скетч 4 обновлен, можно скачать

С наступающим Новым Годом!!!
+
avatar
  • tbnk
  • 31 декабря 2018, 10:35
0
Получил гирлянду на 50 2811 подаю питание 5 вольт / 2 ампера — она вся светится белым.
Я так понимаю, она должна светиться только при подаче управления?
Китаец прислал гирлянду с пробитыми чипами?

Как себя должна вести исправная лента?

ЗЫ С НГ!!! Это был тяжелый год © Слепаков
+
avatar
  • warpm
  • 31 декабря 2018, 11:05
+1
насколько я понял. ws2801 светится 1, ws2812 светится все
+
avatar
  • tbnk
  • 31 декабря 2018, 11:20
0
Тут заявлена 2811 5 вольт
Отзывы нормальные.
По идее ws2812b — это та же 2811 без корпуса, интегрированнвя прямо в сборку с диодами? Хотя пишут что тайминги отличаются немного.
Может я управление не с той стороны подаю?
Нигде не описано.
Есть 2 разъема, один мама, там еще 2 провода питания, другой — папа, для следующей гирлянды.
+
avatar
+1
на картинке видно как подключать
+
avatar
  • tbnk
  • 31 декабря 2018, 11:33
0
Так и подключаю.
Гирлянда без контроллера загорается белым (условно белым, светятся все кристаллы, цвет чуть розоватый), подаю управление — изменений нет.
Попробовал несколько библиотек — FastLed, Adafruit Neopixel
Компилировал их примеры
Похоже придется осциллограф доставать
+
avatar
0
как вариант
проткните тонкой иглой провод, сигнальный, идущей ко второму светодиоду, и подайте управление

Извиняюсь за тупые вопросы:
тип светододов выбран правильно?
и пин управления с ардуино тоже?
+
avatar
  • tbnk
  • 31 декабря 2018, 13:12
+1
Взлетело
Ардуина с несколькими битыми портами была, методом перебора нашел целый — демка пошла

Ща скомпилю Ваш проект и можно вешать на ёлку :)
+
avatar
  • tbnk
  • 31 декабря 2018, 14:08
0
Поскольку кнопки паять и пульт настраивать некогда, запустил в демо 2.
Похоже нашел ошибку — некоторые эффекты считают что диодов не 50, как указано в 2-х местах в настройках, а 49

Последний диод может зависнуть на выходе из эффекта. Например бегут сине-зеленые волны, а он ярко-розовый с предыдущего эффекта.
Потом опять нормально, потом опять не хватает шага.

Поставить в настройках 51 диод?
Или это последний чип зависает (провода очень тонкие)? Хотя, тогда бы не развисал при смене эффектов.

В любом случае Спасибо и с Новым Годом!!!
+
avatar
+1
Я тоже это заметил, но пока вычислять на каких эффектах он так ведет нет времени. Доступ к елке ограничен, пишу без проверки
+
avatar
  • tbnk
  • 31 декабря 2018, 17:07
0
Еще багрепорт — 4 версия с демо 2 режимом виснет примерно через час. Ушел собаку гулять, вернулся — елка черная. Перезапустил, опять повисло. Очень и очень не сразу.
Отладку не включал — шил со стационарного компа, а он в другой комнате
Старенький ноут не потянул новую IDE :(
Другие опции (отключение плавных переходов и прочие) не проверял по той же причине.
Питания с запасом — delta electronics 5v/2.5a на 50 диодов, в скетче выставлено 2000 ма.
Но когда работает — смотрится шикарно!
+
avatar
  • AndySS
  • 31 декабря 2018, 19:07
+1
Смотри выше мой пост.
+
avatar
  • tbnk
  • 31 декабря 2018, 20:52
0
У меня как-то странно себя ведет — застопорилась (погасла), лень было идти передергивать. Она еще минут 30 постояла, потом включила какой-то хаотичный эффект, потом опять умерла. Минут через пять опять тот же эффект и после него час не просыпалась. Надоело ждать, перезапустил по дороге к холодильнику :)

За совет спасибо. В следующем году попробую :)
+
avatar
+5
Добавление в 4 скетче:
1. Исправлена ошибка KOL_LED=IR_MAX_LEDS (зависание)
2. Исправлена ошибка в эффектах 2 5 9 12 14 18 26 ( последний светодиод теперь работает)
3. Исправлена ошибка перехода с 39 на 40 эффект (не всегда была)
4. исправлено еще чтото по мелочам
5. сделал список переливающихся эффектов (которые у меня оставлены по умолчанию)
Скетч 4 обновлен, можно скачать
+
avatar
  • warpm
  • 31 декабря 2018, 23:54
+1
Ура!!! С Новым годом!!! Здоровья, счастья, удачи!!!
+
avatar
  • sepryn
  • 02 января 2019, 13:36
0
С Новым годом! Спасибо большое автору за поддержку проекта. Пока испытать не могу, т.к. за сутки до праздника почему-то сдохла ардуинка. Позже протестирую как до новой доберусь.
+
avatar
  • warpm
  • 02 января 2019, 16:51
0
Последняя версия с включенным логом зависает
+
avatar
0
Скинте ваши настройки, с настроками по умолчанию (включеным логом) всю новогоднюю ночь до утра работало без зависания
+
avatar
  • warpm
  • 02 января 2019, 23:49
0
без лога работает вроде
+
avatar
0
У вас наверное много светодиодов, при работе не хватает памяти
Глобальные переменные должны оставлят больше 500 байт иначе могут быть зависания. чтобы уменьшить память можно поотключать не используемое. У вас отключение лога, как раз освободилонужную память
+
avatar
  • warpm
  • 03 января 2019, 09:43
0
всего 50 светодиодов, в планах 100-200
настройки не туда скинул, они где то ниже получились
+
avatar
0
поставте KOL_LED 50
и IR_MAX_LEDS 51
и должно все быть хорошо
Со временем переставите на 100 и 200
+
avatar
  • Hegy
  • 02 января 2019, 20:30
0
Во всех режимах рандомно мелькают (блестят) первые примерно 43 светодиода.
+
avatar
0
Скинте ваши настройки, с настроками по умолчанию (100 светодиодов) всю новогоднюю ночь до утра работало без нарекания, может у вас какойто режим был включен?
+
avatar
  • warpm
  • 02 января 2019, 23:31
0
как то так
Дополнительная информация
#define KOL_LED 49 // Сколько светодиодов в гирлянде при первом включении

//////////////////////////////////////// Параметры пульта////
//Настройка действия кнопке осуществляется в файле command.h

#define IR_ON 1 // Если равен 1 используется пульт
// если не равен 1 пульт не используется, работает в демо режиме

#define PIN_IR 8 // Номер пина, куда подключен датчик пульта,

#define IR_MAX_LEDS 50 // Максимальное количество светодиодов при работе с пультом должно быть больше
// или равно KOL_LED
// От размера этого числа зависит колличество используемой памяти

//Тип пульта на который будет реагировать устройство, ставим 1 у того который используется
//это уменьшит используемую память
//Чтобы узнать имя пульта запустите в примерах IRremote / IRrecvDump
#define IR_RC5 0 // пульт RC5,
#define IR_RC6 0 // пульт RC6,
#define IR_NEC 1 // пульт NEC,
#define IR_SONY 0 // пульт SONY,
#define IR_PANASONIC 0 // пульт PANASONIC,
#define IR_JVC 0 // пульт JVC,
#define IR_SAMSUNG 0 // пульт SAMSUNG,
#define IR_WHYNTER 0 // пульт WHYNTER,
#define IR_AIWA 0 // пульт AIWA_RC_T501,
#define IR_LG 0 // пульт LG,
#define IR_SANYO 0 // пульт SANYO,
#define IR_MITSUBISHI 0 // пульт MITSUBISHI,
#define IR_DENON 0 // пульт DENON

#define IR_REPEAT 1 //Включить повтор, при долгом нажании на кнопку пульта будет повтор клавиши

//////////////////////////////////////// Параметры кнопок
////
//Настройка действия кнопке осуществляется в файле command.h

#define KEY_ON 0 // Если равен 1 используются кнопки подключенные к аналоговому входу

#define PIN_KEY A3 // Номер пина, куда подключены кнопки

//Зачения смотреть в протоколе после строки Analog Key
#define KEY_0 10 // Значение соответствующее нажатой 0 кнопке
// если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_1 70 // Значение соответствующее нажатой 1 кнопке
// если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_2 140 // Значение соответствующее нажатой 2 кнопке
// если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_3 280 // Значение соответствующее нажатой 3 кнопке
// если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_4 360 // Значение соответствующее нажатой 4 кнопке
// если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_5 520 // Значение соответствующее нажатой 5 кнопке
// если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_6 700 // Значение соответствующее нажатой 6 кнопке
// если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_7 900 // Значение соответствующее нажатой 7 кнопке
// если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_DELTA 5 // погрешность значения кнопки, тоесть от -KEY_DELTA до +KEY_DELTA

//////////////////////////////////////// Параметры гирлянды
////
#define COLOR_ORDER RGB //Очередность цвета светодиодов RGB или GRB
#define CHIPSET WS2801 //Тип микросхемы светодиодов в гирлянде

#define LED_DT 14 // Номер пина куда подключена гирлянда
#define LED_CK 11 // Номер пина для подключения тактов, применяется для светодиодов WS2801 или APA102
//ЕСЛИ НЕ ИСПОЛЬЗУЕТСЯ ЗАКОМЕНТИРОВАТЬ

#define POWER_V 5 // напряжение блока питания в Вольтах
#define POWER_I 4000 // Ток блока питания в милиАмперах

//////////////////////////////////////// Параметры программы
////
#define GLITER_ON 0 // Включить блеск при запуске

#define CANDLE_KOL 0 // если больше 0 то будут включена эмитация свечей
// число задает через какое расстояние друг от друга располагать свечи
#define CANDLE_ON 0 // Если включена эмитация свечей то 1 = при запуске она будет включена
// 0 = при запуске она будет выключена

#define BACKGR_ON 1 // Включить заполнение черного цвета фоном

#define DEMO_MODE 2 // Режим при включении
// 0 — последняя запущенная программа
// 1 — демо режим с последовательным перебором эффектов
// 2 — демо режим с случайным перебором эффектов
// 3 — демо режим с последовательным перебором выбранных эффектов
// 4 — демо режим с случайным перебором выбранных эффектов

#define MY_MODE 0,1,2,4,5,9,10,11,14,16,17,18,19, \
21, 22, 28, 30, 32, 34, 36, 37, 38
//Выбранные эффекты пишутся номера через запятую,
// можно писать и одинаковые что актуально в демо 3
// Если закоментировать, то демо 3 и 4 отключаются

#define DEMO_TIME 40 // Время отображение эффекта в демо режиме в секундах

#define CHANGE_ON 1 // Включить плавную смену эффектов
#define CHANGE_SPARK 0 // Эффект смены 0 — без эффекта, 1 — искры (бенгальский огонь) 2 — яркий свет
// 3 — метеорит, 4 — случайный эффект (из 1-3)
#define CHANGE_TIME 7 // Время в секундах, за которое произойдет плавная смена эффектов

#define DIRECT_TIME 20 // Через сколько секунд менять направление если 0 — не меняем
#define PALETTE_TIME 30 // Через сколько секунд менять палитру если 0 — не меняем

#define LOG_ON 1 // Включить лог 1 — включить лог
+
avatar
0
Как я понял у вас блеск отключен, но он появляется.
Дело в том, что настройка GLITER_ON 0 не отключает эффект насовсем, а отключает его при запуске. Но с пульта командой
IR_Key_Glitter можно включать эффект заново
если вам надо его отключить окончательно то закоментируйте строку 487
if(glitter) addglitter(10);                                                 // If the glitter flag is set, let's add some.
+
avatar
  • Hegy
  • 03 января 2019, 10:09
+1
Оставил на ночь. Утром было зависшее. Но был включен лог. Может не хватило памяти.

#define GLITER_ON 1 // Включить блеск при запуске

Понял про мелькание. Блеск был включен. Но, почему только первые 43 светодиода.
Эффект мне нравится. Где его продлить на всю ленту? 300 светодиодов.

Спасибо!
+
avatar
  • Hegy
  • 03 января 2019, 11:20
0
P.S.: Включил 12й эффект: serendipitous_pal(). В начале этого эффекта несколько секунд бегает цветная волна от 1го до 43го светодиода.
+
avatar
0
Блеск ошибку нашел

У меня гирлянда меньше, вызуально ошибку пока не нашел.
Если раздражает установите CHANGE_ON 0

Обновил Скетч 4
+
avatar
  • Hegy
  • 03 января 2019, 16:41
0
Проверил. Блеск работает корректно. Спасибо!

По поводу цветной волны. Скорее всего, это своеобразная визуальная инициализация, т.к. она появляется только при старте ардуинки.
+
avatar
  • Hegy
  • 03 января 2019, 21:28
+1
UPD:

По поводу цветной волны. Это часть эффекта blendwave(), который глючит при количестве светодиодов более int8.

Изменил beatsin8 на beatsin16 в модуле blendwave.h и волна побежала по всей ленте.
+
avatar
+1
Спасибо. обновил скетч
+
avatar
  • Hegy
  • 05 января 2019, 21:31
0
После этого обновления начал работать список #define MY_MODE. До этого он игнорировался и перебор режимов был просто +1.

Но теперь зависает на 21м режиме. :(
+
avatar
0
21 эфект это функция fill_rainbow из библиотеки FastLED. либо там ошибка, либо нехватает памяти. Проверить не могу у меня только 100 светодиодов.
+
avatar
  • Hegy
  • 05 января 2019, 23:26
0
Прошу прощения. Ошибся. Проблемные 22 и 37.
+
avatar
0
это не меняет.
это функция fill_noise16 из библиотеки FastLED. либо там ошибка, либо нехватает памяти.
по ссылке
там есть состав функции
и в ней видно что идет выделение памяти
uint8_t V[num_leds];
uint8_t H[num_leds];

для 300 диодов это выделение 600 байт, у вас есть свободными после компиляции больше 600 байт?
Тут либо исключить эффекты 22 и 37, либо использовать ардуину с большим процессором например Arduino Mega 2560
+
avatar
  • Hegy
  • 06 января 2019, 00:28
0
Спасибо за объяснение!
+
avatar
0
Удалено
+
avatar
0
Я тут подумал
попробуйте в файле noise16_pal.h
Все стереть и вставить это:
noise16_pal.h
#ifndef NOISE16_PAL_H
#define NOISE16_PAL_H

// noise16 variables -----------------------------------------------------------------------

uint32_t  x,hue_time;                                         // x & hue_time values
uint8_t octaves=2;       //2                                  // how many octaves to use for the brightness
uint8_t hue_octaves=3;   //3                                  // how many octaves to use for the hue
int xscale=57771;        //57771                              // the 'distance' between points on the x axis
uint32_t hxy = 43213;    //43213                              // not sure about this
int hue_scale=20;        //1                                  // the 'distance' between points for the hue noise
int hue_speed = 1;       //31                                 // how fast we move through hue noise
uint8_t x_speed = 0;     //331                                // adjust this value to move along the x axis between frames
int8_t hxyinc = 3;       //3


void noise16_pal() {
  if (KolLed>=10) {
        if (KolLed<=200)      
          fill_noise16(leds, KolLed, octaves, x, xscale, hue_octaves, hxy, hue_scale, hue_time);
        else
        if (KolLed<=400)  {    
          fill_noise16(leds, 200, octaves, x, xscale, hue_octaves, hxy, hue_scale, hue_time);
          fill_noise16(&leds[200], KolLed, octaves, x, xscale, hue_octaves, hxy, hue_scale, hue_time);
        }
        else
          fill_noise16(leds, KolLed, octaves, x, xscale, hue_octaves, hxy, hue_scale, hue_time);

      hxy+=hxyinc*thisdir;
      x+=x_speed*thisdir;
      hue_time+=hue_speed*thisdir;
  }
} // noise16_pal()

#endif


Если заработет отпишитесь.
+
avatar
  • Hegy
  • 06 января 2019, 10:28
0
Отписываюсь. Не заработало.
+
avatar
0
печально.
если и после этого зависнет
заменить функцию
void noise16_pal() {
  if (KolLed>=10) {
        if (KolLed<=150)      
          fill_noise16(leds, KolLed, octaves, x, xscale, hue_octaves, hxy, hue_scale, hue_time);
        else
        if (KolLed<=300)  {    
          fill_noise16(leds, 150, octaves, x, xscale, hue_octaves, hxy, hue_scale, hue_time);
          fill_noise16(&leds[150], KolLed, octaves, x, xscale, hue_octaves, hxy, hue_scale, hue_time);
        }
        else
          fill_noise16(leds, KolLed, octaves, x, xscale, hue_octaves, hxy, hue_scale, hue_time);

      hxy+=hxyinc*thisdir;
      x+=x_speed*thisdir;
      hue_time+=hue_speed*thisdir;
  }

значит гдето еще сосет память.
Надо либо исключить эффекты 22 и 37, либо использовать ардуину с большим процессором например Arduino Mega 2560
+
avatar
  • Hegy
  • 06 января 2019, 12:10
0
Не запустилось.
Исключил эффекты до лучших времен. (Может после праздников поковыряю)
Спасибо.
+
avatar
  • Lagros
  • 02 января 2019, 22:17
+1
Два часа работает. Не зависает. Режим без пульта. Последовательно меняются режимы. 100 светодиодов ws2812.
+
avatar
  • Lagros
  • 02 января 2019, 23:07
+1
Из самого «страшного», что заметил — это при подсветке синим цветом (включено заполнение черного цвета фоном), последний светодиод не светит. Во всех других режимах работает нормально.
Дополнительная информация
+
avatar
+1
О спасибо, есть такое. Подправил 4 скетч.
+
avatar
  • Lagros
  • 03 января 2019, 00:44
0
И Вам спасибо! Работает!
+
avatar
  • Hegy
  • 03 января 2019, 11:13
0
Мне очень нравится одни эффект. Нашел его пару лет назад. ColorWavesWithPalettes by Mark Kriegsman.
Вижу, что Вы взяли палитры из этого эффекта. А сам эффект не использовали?
+
avatar
0
Ну начнем стогго что за основу взят скетч Andrew Tuline он использовал палитры и эффекты какие захотел. Я посмотрю можно ли прикрутить ColorWavesWithPalettes, но быстро не обещаю
+
avatar
  • Hegy
  • 06 января 2019, 09:38
+1
Потестировал. Работает хорошо.

#include «colorwave.h»

case 1: if(mc) {thisdelay=10;} colorwaves(leds, NUM_LEDS, gCurrentPalette); break;


#ifndef COLORWAVE_H
#define COLORWAVE_H

// ColorWavesWithPalettes
// Animated shifting color waves, with several cross-fading color palettes.
// by Mark Kriegsman, August 2015
//
// Color palettes courtesy of cpt-city and its contributors:
//   http://soliton.vm.bytemark.co.uk/pub/cpt-city/
//
// Color palettes converted for FastLED using "PaletteKnife" v1:
//   http://fastled.io/tools/paletteknife/
//


// This function draws color waves with an ever-changing,
// widely-varying set of parameters, using a color palette.


void colorwaves( CRGB* ledarray, uint16_t numleds, CRGBPalette16& palette) 
{
  static uint16_t sPseudotime = 0;
  static uint16_t sLastMillis = 0;
  static uint16_t sHue16 = 0;
 
  uint8_t sat8 = beatsin88( 87, 220, 250);
  uint8_t brightdepth = beatsin88( 341, 96, 224);
  uint16_t brightnessthetainc16 = beatsin88( 203, (25 * 256), (40 * 256));
  uint8_t msmultiplier = beatsin88(147, 23, 60);

  uint16_t hue16 = sHue16;//gHue * 256;
  uint16_t hueinc16 = beatsin88(113, 300, 1500);
  
  uint16_t ms = millis();
  uint16_t deltams = ms - sLastMillis ;
  sLastMillis  = ms;
  sPseudotime += deltams * msmultiplier;
  sHue16 += deltams * beatsin88( 400, 5,9);
  uint16_t brightnesstheta16 = sPseudotime;
  
  for( uint16_t i = 0 ; i < numleds; i++) {
    hue16 += hueinc16;
    uint8_t hue8 = hue16 / 256;
    uint16_t h16_128 = hue16 >> 7;
    if( h16_128 & 0x100) {
      hue8 = 255 - (h16_128 >> 1);
    } else {
      hue8 = h16_128 >> 1;
    }

    brightnesstheta16  += brightnessthetainc16;
    uint16_t b16 = sin16( brightnesstheta16  ) + 32768;

    uint16_t bri16 = (uint32_t)((uint32_t)b16 * (uint32_t)b16) / 65536;
    uint8_t bri8 = (uint32_t)(((uint32_t)bri16) * brightdepth) / 65536;
    bri8 += (255 - brightdepth);
    
    uint8_t index = hue8;
    //index = triwave8( index);
    index = scale8( index, 240);

    CRGB newcolor = ColorFromPalette( palette, index, bri8);

    uint16_t pixelnumber = i;
    pixelnumber = (numleds-1) - pixelnumber;
    
    nblend( ledarray[pixelnumber], newcolor, 128);
  }
}

#endif
+
avatar
+2
Спасибо, протестирую и добавлю как 41 эффект, если не против.
+
avatar
  • paaevv
  • 06 января 2019, 14:48
0
Поддерживаю, красотища.
С Рождеством!!!
+
avatar
  • irbis66
  • 06 января 2019, 22:07
0
В последнем варианте скетча вернулся баг с последним светодиодом.
+
avatar
0
Три раза перепроверил, ничего не нашел. Как это выражается?
+
avatar
  • irbis66
  • 07 января 2019, 16:58
0
Как описал tbnk 31.01, 14:08:

Последний диод может зависнуть на выходе из эффекта. Например бегут сине-зеленые волны, а он ярко-розовый с предыдущего эффекта.
Потом опять нормально, потом опять не хватает шага.
Это наблюдается если включен фон. На каких именно эффектах сейчас точно не могу сказать, готовимся принимать гостей. Как будет время, понесу ноут к елке, сниму лог.
+
avatar
0
Понял, проверяю
+
avatar
0
Два раза пролистал, не нашел такого.
Может у вас свежий скетч не установлен?
+
avatar
  • irbis66
  • 07 января 2019, 23:35
0
Наверное я был неправ. Заморочил вам голову. Бажек как у Lagros. Он фото выложил, где последний светодиод не горит. А у меня он может вообще не светиться, может быть розовым, может зеленым. Вот так:

Это только где он должен светиться синим фоном.
Лог нужен, в каких режимах происходит?
Если что, у меня 150 светодиодов. IR_MAX_LEDS пробовал 150 и 151. Все равно.
А скетч от 03.01. Только commands.h скопировал из предыдущего с моим экземпляром пульта.
+
avatar
0
Интересно. У меня 100 светодиодов, проверить не могу на 150.
Мне достяточно хотябы номер режима в котором этот глюк).
и также, если возможно, проверить с какого режима был переход (тоесть это всегда происходит в этом режиме или когда переход с конретного на конкретный)
+
avatar
  • irbis66
  • 08 января 2019, 02:58
+1
150-й светодиод не светит фоном в режимах 2-4,7,10,12,17,18,23-25,27-31,36,39. Светит розовым (или красным? цветопередача у моей гирлянды неважная) в 5 и 13 режимах. Светит зеленым (или типа того) в 15 и 32 режимах. В 6 режиме при смене эффекта не горит, потом зеленый. В 24 режиме при смене не горит, потом непонятно. В остальных режимах или синий фон не предусмотрен, или трудно отловить. Единственный режим, где все нормально — 8. Если нужен весь лог, то:
Дополнительная информация
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 150 LEDs
Mode: 0
1001
DEMO MODE 1
---SETUP COMPLETE---
Start SetMode
Mode: 1
60415
End SetMode
Start SetMode
Mode: 2
120413
End SetMode
Start SetMode
Mode: 3
180445
End SetMode
Start SetMode
Mode: 4
240466
End SetMode
Start SetMode
Mode: 5
300492
End SetMode
Start SetMode
Mode: 6
360437
End SetMode
Start SetMode
Mode: 7
420454
End SetMode
Start SetMode
Mode: 8
480450
End SetMode
Start SetMode
Mode: 9
540455
End SetMode
Start SetMode
Mode: 10
600503
End SetMode
Start SetMode
Mode: 11
660479
End SetMode
Start SetMode
Mode: 12
720470
End SetMode
Start SetMode
Mode: 13
780444
End SetMode
Start SetMode
Mode: 14
840471
End SetMode
Start SetMode
Mode: 15
900514
End SetMode
Start SetMode
Mode: 16
960474
End SetMode
Start SetMode
Mode: 17
1020481
End SetMode
Start SetMode
Mode: 18
1080512
End SetMode
Start SetMode
Mode: 19
1140458
End SetMode
Start SetMode
Mode: 20
1200497
End SetMode
Start SetMode
Mode: 21
1260504
End SetMode
Start SetMode
Mode: 22
1320466
End SetMode
Start SetMode
Mode: 23
1380650
End SetMode
Start SetMode
Mode: 24
1440514
End SetMode
Start SetMode
Mode: 25
1500536
End SetMode
Start SetMode
Mode: 26
1560556
End SetMode
Start SetMode
Mode: 27
1620538
End SetMode
Start SetMode
Mode: 28
1680564
End SetMode
Start SetMode
Mode: 29
1740572
End SetMode
Start SetMode
Mode: 30
1800564
End SetMode
Start SetMode
Mode: 31
1860601
End SetMode
Start SetMode
Mode: 32
1920587
End SetMode
Start SetMode
Mode: 33
1980547
End SetMode
Start SetMode
Mode: 34
2040609
End SetMode
Start SetMode
Mode: 35
2100541
End SetMode
Start SetMode
Mode: 36
2160617
End SetMode
Start SetMode
Mode: 37
2220592
End SetMode
Start SetMode
Mode: 38
2280646
End SetMode
Start SetMode
Mode: 39
2340618
End SetMode
Start SetMode
Mode: 40
2400615
End SetMode
Start SetMode
Mode: 0
2460634
End SetMode
Start SetMode
Mode: 1
2520597
End SetMode
Start SetMode
Mode: 2
2580566
End SetMode


Успел проследить, что когда процесс пошел по второму кругу, то в режиме 2 опять тоже самое. Потом жена сказала, что я дурак. И я пошел писать отчет и спать. Спасибо за внимание :)
+
avatar
  • irbis66
  • 09 января 2019, 01:37
0
Прошил последнюю версию скетча, ошибка не ушла. KOL_LED = IR_MAX_LEDS = 150. Начал играться с пультом. Уменьшил кол-во светодиодов, потом увеличил до максимума. А последний не работает совсем. Перепрошивка не помогла. Только когда увеличил IR_MAX_LEDS до 151 и увеличил кол-во пультом до максимума стало все в порядке. Последний светик заработал. И заработал как надо, т.е. всего, что я описал выше не наблюдается. Что-то там в EEPROM хранилось не то, что надо было. Видимо до этого что-то где-то пультом наклацал. Но, все-таки, такого же быть не должно? Да, и если уменьшить кол-во до минимума, первый светодиод (в режиме настройки) не тухнет а мерцает. Так должно быть?
+
avatar
0
Это хорошо что заработало.
Я не пробовал уменьшать до минимума
если светодиодов меньше 10 то эффекты отключаются
+
avatar
0
Попробуй выставить 149 светодиодов и проверить, этот эффект будет повторятся на 149?
лучше всего это сделать в функции setup
строка примерно 400
перед строками
gCurrentPalette = CRGBPalette16(CRGB::Black);
gTargetPalette = (gGradientPalettes[0]);
поставить
NUM_LEDS = 149
+
avatar
  • irbis66
  • 09 января 2019, 02:16
0
Этот эффект не возникает. Но, если в начале в настройках указать оба значения 149, то сначала работают все светодиоды, а если сделать пультом меньше-больше, то потом только 148.
+
avatar
+3
Добавление в 4 скетче:
1. Добавлен 41 эффект
2. Добавлена палитра
3. Добавлены изменения обсуждаемые здесь
Скетч 4 обновлен, можно скачать
+
avatar
+2
Тут нужно вычесть 1.
const uint8_t my_mode_count = sizeof(my_mode) — 1;
Если не отнять то вызывается не существующий элемент массива my_mode.
+
avatar
+2
Тут нужно 3 заменить на 4
#if IR_Key_Demo_MyMode_Random
case IR_Key_Demo_MyMode_Random: ///////////////////////////////////////////////////////////////////////////// Включит демо режим из выбранных режимов (Случайно)
demorun = 3; meshwait();
#if LOG_ON == 1
Serial.println(F(«Demo Random On»));
#endif
break;
#endif
+
avatar
+2
Добавление в 4 скетче:
1. Исправлены ошибки найденые maxx_1974
Скетч 4 обновлен, можно скачать
+
avatar
  • irbis66
  • 08 января 2019, 11:31
0
Немного не в тему.
Кто знает, какую эпоксидку китайцы заливают внутрь кембриков, надетых на платки со светодиодами в гирляндах на WS2811? Очень прозрачная и твердая. Как раз такая нужна.
+
avatar
  • R11
  • 09 января 2019, 01:07
0
Может не мелочатся и ювелирной? Даже не знаю где такую инфу можно выудить, а так да, прозрачность классная. У меня 100 светодиодов с эпоксидкой, а 100 — голые платки со светодиодами, как-то я пропустил этот момент при заказах в разное время.
+
avatar
  • irbis66
  • 09 января 2019, 01:46
0
Китайцы? Не мелочатся? Мсье фантаст-утопист))) Я вот думал взять себе еще гирлянду на 2812. Но как заставить их более-менее равномерно светить на все 360? А такой компаунд был бы кстати. Да и вообще, время от времени для разных случаев надо бывает.
+
avatar
  • R11
  • 09 января 2019, 07:15
0
Не, ну, мало ли))) Китайская ювелирная)) Вы ж с Украины, я как-то просматривал эпоксидку на розетке, там что-то попадалось по 0,5кг, вроде как прозрачная заявлялась)
+
avatar
  • irbis66
  • 09 января 2019, 09:33
0
Это ж надо покупать, пробовать, и так много раз. Я думал может кто уже знает.
+
avatar
0
Я последнее время заливаю клеевым пистолетом и потом грею феном для полного залития внутрь. Дешево и ремонтопригодно.
Но гирлянды таким образом не делал, у меня WS2812 с термоусадкой прозрачной
+
avatar
  • R11
  • 09 января 2019, 10:50
0
Вот и я о таком варианте подумал на счет гирлянды без «изоляторов», применив прозрачную термоусадку, но, чувствую, будет колхозно на ws2811.
+
avatar
  • Lagros
  • 09 января 2019, 16:46
+1
У меня провода зеленые, поэтому я применил зеленую термоусадку. Перед тем, как нагреть, внутрь засунул немного термоклея. А потом феном разогрел. Колхоз, конечно, но на елке не видно.
Дополнительная информация
+
avatar
  • R11
  • 09 января 2019, 17:07
0
В том-то и дело, что я хотел бы сделать их похожими с другой сотней, все же в прозрачном изоляторе свет чуть больше назад рассеивается, а в непрозрачной термоусадке будет светиться только светодиод или его часть.
+
avatar
  • Lagros
  • 09 января 2019, 18:10
0
У меня тоже одна гирлянда с колпачками, а другая нет. Я заморачивался поиском таких колпачков. А потом плюнул и надел термоусадку.
+
avatar
  • Z2K
  • 16 января 2019, 09:20
0
Какой колхоз, єто уже фирмА.
+
avatar
  • sepryn
  • 11 января 2019, 20:57
+1
Спасибо большое автору! Загрузил последний скетч, проверяю. Пока работает без зависонов. Ардуино уно, лента 300 диодов. Лог и пульт отключены.
+
avatar
+1
Спасибо автору! У меня тоже гирлянда пришла слишком поздно, залил скетч версии 4, все работает отлично. Гирлянда на 100 светодиодов, пожалуй буду докупать. Сижу, печатаю звезды-рассеиватели.
+
avatar
  • Berebes
  • 30 декабря 2019, 13:57
0
а есть видео как с такими звездами светит?
+
avatar
  • Sega-san
  • 30 декабря 2019, 15:15
0
Примерно так
youtu.be/otUls5Yimjc
или так
youtu.be/akau2wIjMNw
+
avatar
  • Berebes
  • 30 декабря 2019, 15:25
0
А можете еще поделить модельками и ссылкой какую ленту брали? Надо уже запасаться к следующему году))
+
avatar
0
Да, уже пора запасаться :)
Я купил 100 шт., но на елку 2.1м маловато, собирался докупить, но что-то пошло не так, теперь точно еще куплю. ССЫЛКА НА ГИРЛЯНДУ WS2811
Модель выложил на thingiverse.com

Да, заливка у модели не помню, 10 или 20%. Любым прозрачным пластиком, у меня был ПЕТГ.
+
avatar
0
а вот та гирлянда, что в обзоре. термоусадка реально помогает? дает немного света?
+
avatar
0
Ну меня устраивает, в темноте хорошо светит. могу примерно сказать обратная сторона излучает примерно 30% от излучения светодиода
+
avatar
0
спасибо! а какого диаметра термоусадка налезает без проблем, не скажите? :) и еще. а вот что то из этого скетча не использовали? mySKU.me/blog/aliexpress/58913.html
+
avatar
0
тут отвечал, померил термоусадку, которую использовал, диаметр 9,5мм, длинна 25мм
+
avatar
0
Когда пошел за прозрачной термоусадкой — на 9 мм не оказалось, взял на пробу 8-ю… (продают мин. 0,5м-9р).
Встало всё отлично! Даже, когда выяснилось, что в одном светике, в середине, не пропай — пролезла поверх усаженных.

PS: Спасибо автору за труд… очень симпатичная гирлянда получилась!

Правда чуть косячит: зависают изредка последние диоды (шт 5-10, по разному, систему не понял), лечу перезапуском… Esp, 2*50 диодов WS2812B, питание с 2-х концов, коньдюки на ленте и Esp повешены, посл. обновления 12 янв. установлены, пульта/кнопок нет
+
avatar
0
спасибо за доп инфу по термоусадке!
кстати попробуйте скетч отсюда… mySKU.me/blog/aliexpress/58913.html
без каких то… автору данного труда мои респекты! но тот скетч как то мне ближе и переходы как то гармоничнее что-ли…
или я с этим не разобрался
тут как то иногда резко смена режимов происходит. хотя 4-тый вариант скетча заливал…
+
avatar
0
Пожалуйста… :)
Ок… надо попробовать, пока ёлка стоит
+
avatar
0
если не трудно, сообщите по результатам. потому что. может я в этом скетче что то не понял или не те настройки указал. все по умолчанию. но без пульта… но тот скетч как то мне плавнее и красивее что-ли… а этот немножко все рублено как-то :) но возможно я что то не докрутил, хотя ничего не крутил… как и там собственно.
+
avatar
  • irbis66
  • 15 января 2019, 16:53
0
Я побовал. Как по мне, все точно, как вы описали, только наоборот :) Оценивали всей семьей. Единогласно оставили этот. Да и тот проект на Нано не более 100 светодиодов допускает, а ЕСП под руками не оказалось. Но старт там эффектнее.
+
avatar
0
например тут смена эффекта, бегут белые огни как то медленно… как бы переключаясь, а не бежа :) и такая смена часто. иногда вся гирлянда залита синим и бац, в один миг фиолетовым, скажем…
у меня пульта нет. может подскажите свои настройки?
+
avatar
0
время смены эффектов задается тут
#define CHANGE_TIME   7           // Время в секундах, за которое произойдет плавная смена эффектов
то есть за это время белый огонь пробежит всю гирлянду, для увеличения скорости уменьшить число

есть еще по смене эффектов
#define CHANGE_SPARK  4           // Эффект смены 0 - без эффекта, 1 - искры (бенгальский огонь) 2 - яркий свет
                                  //              3 - метеорит,    4 - случайный эффект (из 1-3)
+
avatar
0
смена эффектов у меня случайный!
а вот про «пламя» — это не осознал и не проникся!
надо пробовать ускорить.

Спасибо!
+
avatar
0
По эффекту пламя
ищем строку (строка 660)
case 39: if(mc) {thisdelay=10;} fire(); break;
В ней переменнаяthisdelay это задержка, чем меньше число, тем выше скорость эффекта
по аналогии можно настроить и другие эффекты
+
avatar
  • irbis66
  • 15 января 2019, 18:00
0
Пользуясь случаем хочу спросить насчет «исчезающего» последнего светодиода. Просто делать IR_MAX_LEDS на один больше, чем KOL_LED и не морочить никому голову?
+
avatar
0
Если пульт не испрользуется поставить
KOL_LED
Если используется
то установить
KOL_LED количество светодиодов
IR_MAX_LEDS больше на одну чем KOL_LED
и чтоб наверняка в функции setup()
вконце (строка 400 примерно) добавить строку
NUM_LEDS = KOL_LED;
+
avatar
  • irbis66
  • 15 января 2019, 17:47
0
Они у меня дома. Точно помню, что все, что касается смены эффектов, оставил по умолчанию. Поиграйтесь #define CHANGE_SPARK от 1 до 3, выберите понравившийся вариант, и оставьте. У меня — в случайном порядке.

О, пока меня тут отвлекали, люди уже и ответили.
+
avatar
+1
У меня в голове задумка появилась, добавлю красивых эффектов по смене с одного режима на другой. Ждите обновление скетча
+
avatar
  • irbis66
  • 16 января 2019, 09:12
0
А нельзя ли добавить функции PLAY/PAUSE и ON/OFF?
И аналоговые кнопочки.
И дисплей )))
+
avatar
  • Z2K
  • 16 января 2019, 09:33
0
Ага, олед, сенсорный. 10". А смартфон зачем? :)
+
avatar
0
Олед точно не будет,
Для управления по WIFi на смартфон, интересно, но надо время.
+
avatar
0
А что делают эти функции подробнее?
Уже реализовано много команд, зачем дублировать

Аналоговые кнопки реализованы
смотри здесь в комментариях от 26 декабря

Дисплей не реализован но в комментариях от 12 декабря написано как подключить
+
avatar
0
Кстати тут mySKU.me/blog/aliexpress/58913.html реализована некая плавная смена эффектов. Может пригодится.
+
avatar
  • sepryn
  • 16 января 2019, 21:59
0
А можно с нумерацией скетчей внести какой-то порядок? Оставить четвёртый и следующим, если есть изменения и отличия в эффектах, давать другие названия. Пятый, шестой и т.д.
+
avatar
0
глобальные изменения увеличивали номер скетча,
мелкие изменения и поиск ошибок номер не меняли

Добавление эффектов не такое глобальное изменение.
+
avatar
0
Дмитрий, добрый день. При компиляции 4 скетча появляются ошибки.
+
avatar
0
Только что сказал скетч, и откомпилировал, ошибок нет.
Проверяйте правильность установки библиотек и их актуальные версии
+
avatar
0
Каким софтом для ардуино вы пользуетесь? У меня установлен Arduino 1.8.3. Библиотеки загрузил те, на которые вы ссылки указывали.

Дополнительная информация
In file included from C:\Users\Александр\Downloads\Arduino Libreries\notamesh4\notamesh4.ino:155:0:

C:\Program Files (x86)\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.001

# pragma message «FastLED version 3.002.001»

^

In file included from C:\Users\Александр\Downloads\Arduino Libreries\notamesh4\notamesh4.ino:320:0:

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\colorwave.h: In function 'void colorwaves()':

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\colorwave.h:32:13: warning: unused variable 'sat8' [-Wunused-variable]

uint8_t sat8 = beatsin88( 87, 220, 250);

^

In file included from C:\Users\Александр\Downloads\Arduino Libreries\notamesh4\notamesh4.ino:321:0:

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\getirl.h: In function 'void getirl()':

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\getirl.h:784:71: warning: statement has no effect [-Wunused-value]

demorun = 0; ledMode = 100; palchg==0;

^

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\getirl.h:794:71: warning: statement has no effect [-Wunused-value]

demorun = 0; ledMode = 100; palchg==0;

^

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\getirl.h:804:71: warning: statement has no effect [-Wunused-value]

demorun = 0; ledMode = 100; palchg==0;

^

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\getirl.h:814:71: warning: statement has no effect [-Wunused-value]

demorun = 0; ledMode = 100; palchg==0;

^

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\getirl.h:824:71: warning: statement has no effect [-Wunused-value]

demorun = 0; ledMode = 100; palchg==0;

^

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\getirl.h:834:71: warning: statement has no effect [-Wunused-value]

demorun = 0; ledMode = 100; palchg==0;

^

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\getirl.h:844:71: warning: statement has no effect [-Wunused-value]

demorun = 0; ledMode = 100; palchg==0;

^

C:\Users\8523~1\AppData\Local\Temp\arduino_build_590476\sketch\getirl.h:854:71: warning: statement has no effect [-Wunused-value]

demorun = 0; ledMode = 100; palchg==0;

^

C:\Users\Александр\Downloads\Arduino Libreries\notamesh4\notamesh4.ino: In function 'void setup()':

C:\Users\Александр\Downloads\Arduino Libreries\notamesh4\notamesh4.ino:359:7: warning: unused variable 'ranstart' [-Wunused-variable]


Подскажите, возможно какая-то из настроек выполнена неправильно. В Ардуино я начинающий, повторял пока-что несколько проектов.
+
avatar
+1
Версия таже, у вас нет ошибок, первое это информация о версии, остальные, что переменная не используется
+
avatar
0
Но эти сообщения красным выводятся. Все остальные белым. Это нормально? Гирлянды пока что в пути, проверить визуально не на чем, решил с Ардуиной пока поковыряться.
+
avatar
+1
Перезагрузите скетч 4, должны пропасть если раздражает
+
avatar
+1
Версия таже, у вас нет ошибок, первое это информация о версии, остальные, что переменная не используется.

Подкорректировал 4 скетч, предупреждения должны пропасть
+
avatar
0
Похоже немного еще осталось:
Дополнительная информация
In file included from C:\Users\Александр\Downloads\Arduino Libraries\notamesh4\notamesh4.ino:155:0:

C:\Program Files (x86)\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.001

# pragma message «FastLED version 3.002.001»

^

In file included from C:\Users\Александр\Downloads\Arduino Libraries\notamesh4\notamesh4.ino:320:0:

C:\Users\8523~1\AppData\Local\Temp\arduino_build_412086\sketch\colorwave.h: In function 'void colorwaves()':

C:\Users\8523~1\AppData\Local\Temp\arduino_build_412086\sketch\colorwave.h:32:13: warning: unused variable 'sat8' [-Wunused-variable]

uint8_t sat8 = beatsin88( 87, 220, 250);

^

C:\Users\Александр\Downloads\Arduino Libraries\notamesh4\notamesh4.ino: In function 'void setup()':

C:\Users\Александр\Downloads\Arduino Libraries\notamesh4\notamesh4.ino:359:7: warning: unused variable 'ranstart' [-Wunused-variable]
+
avatar
+1
Это не ошибки. Подкорректировал скетч. Обновите
Информацию о версии не убрать
+
avatar
0
БлагоДарю! Вот теперь да, только информация о библиотеке осталась:
Дополнительная информация
In file included from C:\Users\Александр\Downloads\Arduino Libraries\notamesh4\notamesh4.ino:155:0:

C:\Program Files (x86)\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.001

# pragma message «FastLED version 3.002.001»

^

Как приедет гирлянда, сразу же испробую! Жаль, что практически только перед самым праздником эту информацию увидел на Муське, ну да ладно, к следующему НГ будет готова, может еще и шторку в придачу сделаю. :-)
+
avatar
0
Здравствуйте.
Собрал схему с кнопками, пульт не использую. Ардуино только изучаю, в скетче кнопки включил.
Но их назначение не понял. В схеме 6 кнопок, но на что они влияют?
Кто нибудь пользуется кнопками? Как узнать какая за что отвечает?
+
avatar
+1
настройка производится в 2 этапа
1. установить
#define KEY_ON        1           // Если равен 1  используются кнопки подключенные к аналоговому входу

#define PIN_KEY       A3          // Номер пина, куда подключены кнопки

#define LOG_ON        1           // Включить лог  1 - включить лог
где вместо A3 указать ваш номер входа куда подключены кнопки
Загрузить скетч
запустить монитор лога
и понажимать на кнопки
в логе появятся строки вида Analog Key: ###
где ### -число (код кнопки)
запомнить какая кнопка какой код имеет

2. заполнить значениями таблицу
#define KEY_0         10          // Значение соответствующее нажатой 0 кнопке
                                  // если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_1         70          // Значение соответствующее нажатой 1 кнопке
                                  // если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_2         140         // Значение соответствующее нажатой 2 кнопке
                                  // если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_3         280         // Значение соответствующее нажатой 3 кнопке
                                  // если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_4         360         // Значение соответствующее нажатой 4 кнопке
                                  // если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_5         520         // Значение соответствующее нажатой 5 кнопке
                                  // если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_6         700         // Значение соответствующее нажатой 6 кнопке
                                  // если значение меньше KEY_DELTA, то кнопка не используется
#define KEY_7         900         // Значение соответствующее нажатой 7 кнопке
где вместо 10, 70, 140, и т.д. заполнить ваши значения, которые соответствуют кодам нажатых клавиш. Не используемые коды ( в вашем случае KEY_6 и KEY_7 заполнить 0 (нулем)
#define KEY_6         0         // Значение соответствующее нажатой 6 кнопке
#define KEY_7         0         // Значение соответствующее нажатой 7 кнопке
далее открываем файл commands.h
там ищем какие команды нравятся (будете использовать)
в понравившейся строке команды меняем число вида 0x###### на KEY_#, где # — номер вашей клавиши

например:
Сброс настроить на клавишу 0, включить демо режим с последовательным переключением на клавишу 1, включить демо режим со случайным переключением на клавишу 2
#define IR_Key_Reset                        KEY_0  // Power                  // Сброс всех настроек и перезагрузка 
#define IR_Key_Demo                         KEY_1  // Open                   // Включит демо режим (перебор) 
#define IR_Key_Demo_Random                  KEY_2  // Prog                   // Включит демо режим (Случайно) 

Не используемые команды желательно закоментировать для экономии памяти, либо оставить как есть

Как то так, сам не пробовал, расскажите, что получилось
+
avatar
+3
Здравствуйте Дмитрий
Попробовал я кнопки прицепить все настроилось и работает без проблем.
Схему и номиналы взял такие: (пригодиться может кому)



На мониторе порта все видно, что и как настроено и работает:

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 100 LEDs
Mode: 0
1001
DEMO MODE 3
---SETUP COMPLETE---
Analog Key: 1023
Analog Key: 91
Command: 0x5B
Brightness+ 255
Analog Key: 1023
Analog Key: 169
Command: 0xA8
Brightness- 127
Analog Key: 1022
Analog Key: 234
Command: 0xEA
Mesh delay: 0ms delay.
Demo Random On
Analog Key: 1023
Analog Key: 291
Command: 0x122
Solid_Black
Analog Key: 1023
Analog Key: 340
Command: 0x153
Analog Key: 1023
Mode: 39
15967
Analog Key: 382
C?
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 100 LEDs
Mode: 0
1004
DEMO MODE 3
---SETUP COMPLETE---
Analog Key: 1022
+
avatar
0
Большое спасибо, очень познавательно для осваювающих ардуину.
+
avatar
  • bbvlad
  • 29 января 2019, 18:25
0
+
avatar
0
эт чего?
+
avatar
  • ncat_hq
  • 31 января 2019, 12:19
0
Клавиатура 4 на 4 с тремя выводами: GND, +5V, Analog
пруф:
+
avatar
  • OleoMac
  • 11 февраля 2019, 19:33
0
Добрый день. А такой ИК модуль приемника беспроводной комплект пульт дистанционного управления подойдёт?
+
avatar
0
Да подойдет, при этом можно кроме этого пульта использовать и любой другой, главное платка. Правда не понимаю почему сдесь светодиод (без сопротивления), странный набор
+
avatar
  • OleoMac
  • 12 февраля 2019, 11:28
0
А для чего сопротивление на светодиод и куда его паять (светодиод)?
+
avatar
0
Для работы гирлянды светодиод и сопротивление не нужны. Я написал, что набор странный, не понял почему положили светодиод без сопротивления.
Сопротивление ограничивает ток через светодиод, иначе светодиод сгорит. Но для данного устройства светодиод не нужен.
+
avatar
  • OleoMac
  • 12 февраля 2019, 23:45
0
Понял, спасибо
+
avatar
  • OleoMac
  • 12 февраля 2019, 23:55
0
Понял, спасибо
Ардуино Мега 2560 подойдёт для этого проекта? Лежит без дела.
+
avatar
0
Да подойдет, даже с избытком
+
avatar
  • OleoMac
  • 13 февраля 2019, 16:08
0
Подключать по схеме автора?
У Вас скетчи работают или надо что то изменять?
+
avatar
0
Подключать можно как угодно, в скетче только подправить настройку пинов.
Номер пина можно посмотреть тут: (фиолетовый цвет)
img.mysku.me/uploads/pictures/06/33/37/2019/02/13/04a023.jpg
+
avatar
0
Приветствую вас Дмитрий.

Нашел один не приятный баг.
Скетч: notamesh4
Может про него писал кто нибудь, я не нашел.

Срабатывает он в любом режиме.
Не важно какой режим выбрать:
#define DEMO_MODE 0

Я в начале выбрал 1, и как то странно гирлянда подвисает не на долго и начинает с 0 режима.

Думаю Ардуинка что ли виснет, дай лог посмотрю.
В логе происходит что мы доходим до 7 эффекта он заканчивается и следует перезагрузка.

Думаю дай попробую режим 3 все эффекты отрабатываю и без перезагрузки и снова включается 0 эффект.
#define MY_MODE 0,1,7,2,4,5,9,10,11,14,16,17,18,19,21,22,28,30,32,34,36,37,38

Вставил в список выбранных эффектов 7 эффект и снова перезагрузка при его окончании.

Лог вот так выглядит:

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 100 LEDs
Mode: 0
1001
DEMO MODE 3
---SETUP COMPLETE---
Start SetMode
Mode: 1
60635
End SetMode
Start SetMode
Mode: 7
120629
End SetMode
Start SetModeMode:
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 100 LEDs
Mode: 0
1001
DEMO MODE 3
---SETUP COMPLETE---

Остальные эффекты прогнал до 40, такое же поведение у 31 эффекта тоже перезагружает.
Остальные эффекты не приводят к перезагрузке.
Посмотрите что можно сделать или совсем их может убрать или починить.

Кстати Дмитрий если вам не сложно напишите а сколько вообще эффектов есть у этого скейтча?

Заранее благодарен.
+
avatar
0
Понял, в ближайшее время проверю.

В последнем скетче 41 эффект и 33 палитры, на каждый эффект (кроме пламени и свечей) можно применить палитру
итого получается 39*33 = 1287 вариаций помимо этого можно включать блеск, свечи на каждый эффект.
Также есть эффекты перехода с эффекта на эффект…
В демонстрации можно убрать (оставить нужные) эффекты.

В новом варианте скетча эффектов перехода с эфекта на эффект будет очень много, также появится эффект плавного включения. Тамже должно появится подобие привязки к координатам (но об этом позже)
+
avatar
  • ncat_hq
  • 15 марта 2019, 00:33
0
В новом варианте скетча эффектов перехода с эфекта на эффект будет очень много, также появится эффект плавного включения. Тамже должно появится подобие привязки к координатам (но об этом позже)
Жду(м) новый скетч с нетерпением!))
+
avatar
  • sepryn
  • 22 марта 2019, 08:23
0
Присоединяюсь!
+
avatar
  • irbis66
  • 22 марта 2019, 10:47
0
Да-да, а то елку же скоро выкидывать, 1-е мая не за горами :)
+
avatar
0
У меня другая проблема, елки нет, отлаживать негде, 1 декабря надеюсь соберу,
+
avatar
  • koss28
  • 31 марта 2019, 23:51
0
пробую подключить кнопку по приложенной выше инструкции, не выходит.
в режиме монитора выходит абра кадабра — кубики квадратики.
как получить код для кнопки???
+
avatar
0
У вас не правильно настроен монитор, установите скорость порта 57600 бод
Картинка
+
avatar
  • koss28
  • 03 апреля 2019, 00:19
0
Похоже что-то работает не правильно.
не подскажите где косяк?

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 100 LEDs
Mode: 18
1001
DEMO MODE 3
---SETUP COMPLETE---
Analog Key: 1022
Analog Key: 1023
Analog Key: 1023
Analog Key: 1019
Analog Key: 0
Analog Key: 1022
Analog Key: 1023
Analog Key: 1022
Analog Key: 0
Analog Key: 1023
Analog Key: 1023
Analog Key: 1016
Analog Key: 1018
Analog Key: 1023
Analog Key: 1020
Analog Key: 1023
Analog Key: 12
Analog Key: 0
Analog Key: 0
Analog Key: 1000
Analog Key: 1020
Analog Key: 1009
Analog Key: 1023
Analog Key: 1020
Analog Key: 1015
Analog Key: 2
Analog Key: 0
+
avatar
0
Попробую поработать чревовещателем.
Вы подключили кнопку, но даже ее не нажимая при включении выходит это?
Тогда не правильно настроен вход кнопки (кнопок)
подключать надо к синему входу (ANALOG xx)

и вход надо прописать в настройках в виде Ах, где х номер входа
#define PIN_KEY A3 // Номер пина, куда подключены кнопки
+
avatar
  • koss28
  • 03 апреля 2019, 22:34
0
У Вас хорошо получается :)
Кнопка подключена по приложенной схеме
но результат пока печальный.
Подключено к выходу А3
+
avatar
0
Если собрано по этой схеме то:
Если ничего не нажато, должно быть 1000-1023
Analog Key: 1022
при нажатии кнопки, должно быть примерно 0-100

Настройки тогда можно сделать такие
#define KEY_ON 1
#define PIN_KEY A3
#define KEY_0 50
#define KEY_DELTA 50


Для перебора режимов в файле commands.h вставить строку

#define IR_Key_Next_mode KEY_0


PS: для уверенного срабатывания можно резистор R6 убрать
PS1: проверьте, где то не очень хороший контакт, по логу
+
avatar
  • koss28
  • 05 апреля 2019, 00:18
0
все получилось!
только для перебора режимов сделал так:

#define IR_Key_Next_mode 0x53

и еще. на 7 и 31 эффектах система зависает.
как эти эффекты удалить из скетча?
если удалить эти строки, получится?

#if IR_Key_Mode_7
case IR_Key_Mode_7: /////////////////////////////////////////////////////////////////////////// Эффект 7
SetMode (7); break;
#endif

или удалить это

case 7: if(mc) {thisdelay=10; numdots=2; thisfade=16; thisbeat=8; thisdiff=64;} juggle_pal(); break;
+
avatar
0
Если по быстренькому (разберусь позже)

проще заменить один эффект на другой
например эту строку заменить
case 7: if(mc) {thisdelay=10; numdots=2; thisfade=16; thisbeat=8; thisdiff=64;} juggle_pal(); break;
на
case 7: if(mc) {thisdelay=50; thisdir=1; thisrot=1; thisdiff=1;} rainbow_march(); break;

и по аналогии с 31 строкой заменить строку
case 31: if(mc) {thisdelay=10; numdots=4; thisfade=32; thisbeat=12; thisdiff=20;} juggle_pal();break;
на
case 31: if(mc) {thisdelay=10;} serendipitous_pal(); break;
+
avatar
  • koss28
  • 06 апреля 2019, 10:59
0
ок.
сделаем по ускоренному варианту.
+
avatar
0
Отлично!
+
avatar
0
доброго времени суток,
Спасибо автору, все получилось работает, по этой схеме делал светильник для новорождённой племянницы,
Можно ли добавить выбор белого цвета с ИК пульта
+
avatar
0
Доброго здоровья.
Эта команда уже реализована
IR_Key_Solid_White
+
avatar
0
Спасибо!!!
+
avatar
  • Vist
  • 01 ноября 2019, 22:37
0
Повторил гирлянду, но к сожалению уже после НГ. Где-то в апреле. На почте посмеялсь «зачем вам гирлянды весной». Сначала на 100 диодов, после добавил еще 50. Отвез внуку заранее — ждет Новый Год :) Жена говорит надо заказать у китайцев еще светиков, и себе такую на улицу соорудить ;)
Автору респект!
И хочу напомнить, что он как-то оговорился (если мне память не изменяет) о том что подумает прикрутить управление к мобильнику.
Это было бы очень замечательно. Я так понимаю надо ESPшками запастись? :)
P.S. А то НГ не за горами, заодно и внуку обновлю гирлянду.
+
avatar
0
В этом сезоне на ESP точно не будет, только сегодня пришел мне на почту первый ESP (ESP32S), а на нем не все так просто.
если прикрутить к AVR модуль wifi, то ресурсов не хватит (надо впихнуть протокол обмена) и придется усекать количество светодиодов.
У меня был интерес прикрутить пульт которому нужны прерывания и FastLED который вырубает прерывания. Плюс оптимизировать так чтобы работало на 300 светодиодов на самой распространенной компактной ардуине нано
+
avatar
  • Vist
  • 02 ноября 2019, 17:19
+1
В этом сезоне на ESP точно не будет,
Жаль. Будем ждать.
если прикрутить к AVR модуль wifi, то ресурсов не хватит
Я даже и не предполагал такой вариант.
Значит будем делать проверенный вариант. А мозги сменить на гирлянде дело пяти минут ;)
Просто я могу припаять, прикрутить, залить по инструкции — а програмный код не мое к сожалению.
Спасибо за ответ.
+
avatar
0
Здравствуйте уважаемый dmitrybik, присоединяюсь ко всем хорошим отзывам. Долго я ждал такого проекта, да еще с таким набором настроек с пульта. У меня есть вопросы по прошивке №4:
1. Когда даю команду- "#define IR_Key_Solid_Black" (Установить цвет Черный (Выключает гирлянду)), если включена смена палитр, то лента выключается, а через заданное время смены палитр начинает включаться палитрами.
2. Как можно изменить палитры(цвет)?, хочется более насыщенных цветов.
3. на что влияют настройки "#define IR_Key_Delay_minus, #define IR_Key_Delay_plus", строки 104, 105.(commands.h,)
4. Можно ли убрать строки с 36 по 101, и что это даст.(commands.h),
Очень ждем Ваших доработок и обновлений.
+
avatar
0
Доброго здоровья.
1. Когда даю команду- "#define IR_Key_Solid_Black" (Установить цвет Черный (Выключает гирлянду)), если включена смена палитр, то лента выключается, а через заданное время смены палитр начинает включаться палитрами.
Исправил Перечитайте скетч, сам проверить не могу.
2. Как можно изменить палитры(цвет)?, хочется более насыщенных цветов.
Палитры хранятся в файле gradient_palettes.h, формат смотреть у FastLED, я его не менял. Создаете по аналогии с уникальным именем,. в конце имя прописываете в список.
3. на что влияют настройки "#define IR_Key_Delay_minus, #define IR_Key_Delay_plus", строки 104, 105.(commands.h,)
Устанавливает длину гирлянды, то есть #define KOL_LED задает максимальное количество светодиодов при компиляции, а в готовом устройстве, без компиляции также можно менять количество светодиодов с пульта но не более KOL_LED
4. Можно ли убрать строки с 36 по 101, и что это даст.(commands.h),
Можно, но ничего не даст, даже память не освободится
+
avatar
0
Здравствуйте, не помогло, работает только если я программно ставлю «0» в #define PALETTE_TIME стр.131.
Спасибо за отзывчивость и оперативность.
+
avatar
0
Подправил пробуйте, проверю у себя только во вторник
+
avatar
0
4. Можно ли убрать строки с 36 по 101, и что это даст.(commands.h),

Не используемые команды надо заполнить 0 (нулем) или удалять тогда память устройства освободится на эти команды
+
avatar
0
Все по старому, подождем до вторника, спасибо.
+
avatar
0
Исправил, оказывается вчера не выложил в доступ.
+
avatar
  • Mex86
  • 05 ноября 2019, 11:18
0
Помогите настроить для ws2801, arduino nano. 4 скетч выдаёт ошибку на этапе проверки
+
avatar
0
Могу только догадаться, что у вас что-то не правильно настроено. Будет больше информации будет и больше помощи
+
avatar
  • Mex86
  • 05 ноября 2019, 12:27
0
Даже без изменения настроек, ошибка для устройства arduino nano
+
avatar
0
Только что компилировал на ws2801, все работает и компилируется. Эти ws2801 двухпроводные значит надо указать пин тактовых импульсов раскомментировать
#define LED_CK        11          // Номер пина для подключения тактов, применяется для светодиодов WS2801 или APA102
                                  //ЕСЛИ НЕ ИСПОЛЬЗУЕТСЯ ЗАКОМЕНТИРОВАТЬ
+
avatar
  • Mex86
  • 05 ноября 2019, 12:49
0
Я указываю ck_2, комментарии 2812 убираю, а 2801 добавляю
+
avatar
0
У меня с этими параметрами все компилируется
//////////////////////////////////////// Параметры гирлянды
////
#define COLOR_ORDER   GRB         //Очередность цвета светодиодов  RGB или GRB
#define CHIPSET       WS2801     //Тип микросхемы светодиодов в гирлянде

#define LED_DT        14          // Номер пина куда подключена гирлянда
#define LED_CK        11          // Номер пина для подключения тактов, применяется для светодиодов WS2801 или APA102
                                  //ЕСЛИ НЕ ИСПОЛЬЗУЕТСЯ ЗАКОМЕНТИРОВАТЬ
А что у вас за ошибки я могу долго гадать
+
avatar
0
Внес коррективы в 4 скетч. Исправил ошибки
+
avatar
  • Mex86
  • 05 ноября 2019, 17:48
0
Спасибо, попробую
+
avatar
+1
Здравствуйте dmitrybik, все отлично работает (Черный (Выключает гирлянду)),
Есть пожелание:- включить «искры (бенгальский огонь)» как отдельную функцию, типа «Включить/выключить сверкание».
Спасибо.
+
avatar
0
@dmitrybik Дмитрий, небольшой фидбек по последней прошивке.

Вводные: в скече отключил дефолтный пульт, а в commands назначил все кнопки, которые мне нужны на пульт от sony. По количеству кнопок точно так же как там было по дефолту, только коды кнопок свои.
Также в скече убрал временные задержки смены режимов.

Дампером нажатия пульта считываются, ошибок процент минимальный, только если сильно мимо направить. Ситуаций когда кнопка нажата, а сигнал не поступил или обработался не так фактически нет.

Теперь о проблеме зависаний:

Nano 328р. Иногда реакция на команды пульта моментальная, несколько команд подряд с небольшой временной задержкой отрабатываются моментально. А иногда можно 10 раз на кнопку нажать — 0 реакции. Не скажу, что увидел закономерность, но чаще всего этот глюк можно поймать в режимах выбора цвета. Типа включил желтый и потом можно 15 раз нажать на кнопку. Сигнал до ардуино точно доходит (на приемнике мигает светодиод). Одновременно с этим на режимах с одним единственным цветом замечен глюк, что, например с полностью белого, на допустим, желтый гирлянда переключается не полностью, а половиной. Т.е. часть диодов начинает гореть желтым, а часть остается белым. Если затем проявить настойчивость и несколько раз нажать на пульте на, скажем зеленый, то она запросто вся переключится на зеленый полностью. Т.е. опять же без закономерностей.

Думал проблема в памяти или процессоре. Решил не разбираться с этим и сразу проверить на Mega 2560. В ней после заливки скеча осталась куча свободной памяти, но проблема осталась та же.

Что это может быть и как бороться? Пока решил отключить пульт и попробовать кнопками, буду изыскивать рабочий вариант.

Светодиодов 140
БП 5в 10а
+
avatar
0
Пока не понял.
в скече отключил дефолтный пульт
а тудже пишете что
реакции на команды пульта
.
Если мы говорим про ИК пульт то в нем команда долгого нажатия имеет другую команду.
Все проверяется запуском скетча из примеров IRremote с названием IRrecvDemo
Посмотреть что приходит при нажатии пульта.
Результат сюда, будем разбираться
+
avatar
0
в скече отключил дефолтный пульт
а тудже пишете что
реакции на команды пульта
Видимо, не четко выразился. Я имел в виду, что в скече в описанном случае не выбирается какой-то конкретный пульт по марке, sony, nec и т.п. То есть в настройках напротив их значений стоят нули, но само использование пульта с гирляндой включено. Commands.h при этом заполнен кодами кнопок снятыми с дампера.

Все проверяется запуском скетча из примеров IRremote с названием IRrecvDemo
Посмотреть что приходит при нажатии пульта.
Проведу сегодня эксперименты и дам знать + попробую на самой гирлянде поиграть параметром долгого нажатия и описать результаты.

Кстати найти пульт с Unknown encoding оказалось не так уж сложно :) Достаточно попробовать пульт от кондея, в моем случае тошиба. Хотел сначала на него прицепиться, т.к. зимой он самый ненужный в доме, но смутила эта ошибка, не стал.
+
avatar
0
Видимо, не четко выразился. Я имел в виду, что в скече в описанном случае не выбирается какой-то конкретный пульт по марке, sony, nec и т.п. То есть в настройках напротив их значений стоят нули
Не корректно в 4 скетче строка:
#define IR_NEC        1           // пульт NEC
То есть включен Neс код пульта

При запуске демо, который я указал, видно какая кодировка пульта
+
avatar
0
Не корректно в 4 скетче строка:
У меня там 0 стояло.

Прокопался и выяснил вот что. Через IRrecvDemo кнопки определяются верно, как уже писал без пропусков:
Дополнительная информация
Enabling IRin
Enabled IRin
D58
FFFFFFFF
CE9
FFFFFFFF
3EE
FFFFFFFF
25EE
1D0
AE9
E90
FFFFFFFF
6D25
FFFFFFFF
A50
A50
AE9
E90
FFFFFFFF
CE9
FFFFFFFF
D58
FFFFFFFF

Если в той же нано при тех же условиях заменить IRrecvDemo скечом для гирлянды начинается песня:
Дополнительная информация
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 140 LEDs
Mode: 0
1001
DEMO MODE 1
---SETUP COMPLETE---
Command: 0xAA8C2FB8
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0x9F0B6C7F
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0x6D25
Solid_Violet
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0x9F0B6C7F
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0x446CEBEE
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0x9A6FC9AD
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0xEA321265
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0x9F0B6C7F
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF
Command: 0x6D25
Solid_Violet
Command: 0xFFFFFFFF
Command: 0xFFFFFFFF

Т.е. кнопка корректно декодируется с энного раза. Уточню, что в логе выше я жал все время на одну и ту же кнопку 0x6D25.

В двух примерах выше гирлянда отключена, т.е. чисто источник питания в виде USB порта ноута + нано + vc1838b. Запитывал еще и дополнительно через источник питания (5в 10а) — аналогично ведет себя.

Более того, если подключить гирлянду, к нано, то могут вообще начаться фантомные нажатия. В примере ниже я не жму никаких кнопок вообще
Дополнительная информация
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 140 LEDs
Mode: 0
1001
DEMO MODE 1
---SETUP COMPLETE---
Command: 0xE7AFBAE3
Command: 0x16872075
Command: 0x43BDEAA2
Command: 0x8A1FDB05
Command: 0x4CB0FADC
Command: 0x65BDDD66
Command: 0x4BD03788
Command: 0x5AED50EF
Command: 0xA7E5F685
Command: 0x52D302CE
Command: 0x6A19A4D0
Command: 0xFE26BF4E
Command: 0x22E0734A
Command: 0xC40BD816
Command: 0xEA204C78
Command: 0xFCABFFBF
Command: 0x4CB0FADC
Command: 0xAB1C99E1
Command: 0x24AE7D4E
Command: 0xF9E6B4A2
Command: 0x24FECA5F

Все лишние пульты убирал, приборы выключал.

От схемы с аналоговыми кнопками гирлянда работает идеально.

При запуске демо, который я указал, видно какая кодировка пульта
Он определяется как Sony, но если проставить
#define IR_SONY       1           // пульт SONY,

картина останется прежней.

Во всем этом меня смущает то, что в IRrecvDemo никаких фантомных нажатий, кнопки декодируются корректно. Стоит залить скеч, не меняя схему — начинается описанное выше.
+
avatar
0
Это так и должно быть.
Напоминаю: Библиотека FastLED во время передачи вырубает прерывания, а для работы пульта они обязательны. отсюда и проблемы с пультом. Я применил решение которое делает не срабатывание пульта менее 20%, что достаточно для работы и не обременительно.
Можете попробовать проект автора он за год тоже вставил работу пульта, можно попробовать его.
Еще раз напоминаю, я хотель выжать максимум, на что способен Нано, здесь идеть жесточайшая экономия памяти с максимальными возможностями. 300 светодиодов, огромное количество эффектов работа с пульта и кнопок

Теперь по вашему логу
Если пульт с протоколом сони то его и надо ставить
код 0xFFFFFFFF это код повтора предыдущей команды, если непрерывно жать на кнопку пульта то идут эти команды. попробуйте нажимать на пульт не длительно а часто.
+
avatar
0
Теперь понятно, спасибо.
Если пульт с протоколом сони то его и надо ставить
Да, ставил в какой-то из итераций тестов, разницы особо не увидел, но оставлю раз надо.

Осталось мне победить фантомные команды, когда пульт не нажат. Я так понимаю, что это уже сама лента создает помехи на линию питания при мигании, т.к. заметил вчера в полной темноте, что светодиод на vc1838b еле заметно мигает в такт мигания самой ленты.
+
avatar
0
Если датчик пульта в металлическом корпусе, то его надо посадить на минус.
Также минус от датчика надо отдельно провести до блока питания. ну и провода короче
+
avatar
0
Здравствуйте, уважаемый dmitrybik! Спасибо за Вашу работу. Собрал, залил скетч все сразу заработало на ардуино нано, 240 светодиодов (пока без елки)) Сейчас пытаюсь разобраться с управлением, с пульта хотелось бы иметь возможность полностью выключать и включать гирлянду. В настройках нашел только включение «черного цвета» но у меня остается фоновая подсветка и искры. Можно ли настроить полное выключение одной кнопкой?
+
avatar
+1
Ожидаем, будет
+
avatar
+1
PS: Я сейчас переписал библиотеку FASTLED под контроллер STM32L151 с использованием аппаратного SPI, но при этом пришлось выкинуть огромное количество поддерживаемых типов протоколов светодиодов, остались только WS2812b и совместимые. Постараюсь адоптировать под ардуино, но надо время. пульт должен работать корректно.
+
avatar
  • Vist
  • 14 ноября 2019, 00:45
+1
В этом сезоне на ESP точно не будет, только сегодня пришел мне на почту первый ESP
Коль пришел, спокойно спать не даст :)
Я сейчас переписал библиотеку FASTLED под контроллер STM32
Жду развития с нетерпением.
Удачи.
+
avatar
0
Уважаемые помогите пожалуйста, почему-то после заливки скетча все 50 диодов горят белым и всё.
+
avatar
0
Начните загрузку с демо библиотеки FastLED например Примеры / fastled / Blink
+
avatar
0
Как я понял в этом примере один первый диод в ленте должен моргать красным светом а у меня также тупо постоянно светит белым. Лента 2811, 5В. Какая то ерунда с лентой посмотрел осциллом в ленту отправляется то что нужно а светит белым. Вывод китайцы гады не понятно что за чипы впихнули или я что-то не так делаю?
+
avatar
0
либо проблема с ардуиной, можно попробовать сменить пин
либо проблема с лентой, можно подключить второй светодиод
либо проблема с настройкой скетча, выбрать другой тип светодиодов
+
avatar
0
Спасибо попробую.лента такая.
+
avatar
0
У меня есть такая, она также работает
+
avatar
0
Также как у меня? Интересно а с чем это связано неизвестно?
+
avatar
0
Я не так выразился, она нормально работает, правильно
+
avatar
  • 0xxx0
  • 22 ноября 2019, 08:53
0
Ребят, подскажите, пожалуйста как в 4-й вариант добавить пару своих эффектов? Спасибо!
+
avatar
+1
1. кинуть мне, я добавлю или
2. заменить один из эффектов на свой по аналогии или
3. Написать функцию в новом файле с расширением h
использовать MAX_LEDS и KolLed в функции, отвечающие за количество светодиодов
в файле notamesh4.ino в строке 667 добавить
case 42: if(mc) {thisdelay=10;} xxxxxx(); break;
где thisdelay=10 задает задержку (влияет на скорость)
xxxxxx() — ваша функция

250 строке
#define maxMode  41                                           // Maximum number of modes.
поменять 41 на 42 — задает сколько эффектов
+
avatar
  • Serg730
  • 25 ноября 2019, 19:45
0
Скажите. Вроде должно при включении происходить эффект бенгальского огня. И потом уже запускаются эффекты. У меня после включения несколько секунд ничего не происходит. Гирлянда не горит. А потом уже запускаются эффекты. В параметрах программы включить блеск при запуске стоит 1. Или этот параметр что то другое.
Гирлянда на 150 светодиодов. Пульт не подключен
Это первая поделка на Arduino NANO. Полный ноль в этом.
+
avatar
0
Исправил, обновите
+
avatar
  • Serg730
  • 26 ноября 2019, 18:06
0
Спасибо, всё работает
+
avatar
0
Здравствуйте, посмотрите пожалуйста, работает ли функция сохранения эффекта: «Сохранить эффект как запускающийся первым».
У меня, после последнего обновления, перестала.
На пред идущей прошивке работает.
+
avatar
0
проверяем
+
avatar
0
#define DEMO_MODE 0 // Режим при включении — то же не работает
+
avatar
0
исправил, проверяем
+
avatar
0
Сейчас проверю.
+
avatar
0
110-111 #define DEMO_MODE 0 // Режим при включении — // 0 — последняя запущенная программа-- неработает

103 #define IR_Key_Save_Mode 0xFF10EF // Clear // Сохранить эффект как запускающийся первым ---то же не работает
+
avatar
0
Странно, у меня работает.
ставлю
#define DEMO_MODE     0 
загружаю в контроллер
выбираю например 22 режим с пульта (нажимаю 2 и затем 2) лог:
Command: 0xFFE01F
Press 2 Mode: 2
Command: 0xFFE01F
Press 2 Mode: 22
Mode: 22
116553
End SetMode

Сохраняю с пульта
Command: 0xFF30CF
Save Mode

Перезагружаю и стартует с 22 эффекта

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 120 LEDs
Mode: 100
1001
---SETUP COMPLETE---
Mode: 22
1559
End SetMode
+
avatar
0
У меня тоже на монитор порта все приходит как у Вас, делаю те же операции, только эффекты переключаю #define IR_Key_Previous_mode, а когда перезапускаю, то включается первый эффект.
+
avatar
0
Прошивка до 26.11.2019г. работает нормально, только нет бенгальского огня при включении.
+
avatar
0
В итоге, моих «танцев с бубном», из старой прошивки взял файлы: COMMANDS_H, GRADIENT_PALETTES_H и настройки из notamesh, и все заработало.
+
avatar
0
правильно в файлеCOMMANDS_H находятся команды вашего пульта, я их не знаю.
Вы все правильно сделали
Надо копировать файл COMMANDS_H из версии в версию
+
avatar
0
Надо внедрять гит :)
Отстаю на пару релизов, а понимания какие файлы обновлять, чтобы не затереть свои правки, нет
+
avatar
+1
скоро выйдет 5 версия, там жуть. Сделаю отдельной темой

Отстаю на пару релизов, а понимания какие файлы обновлять, чтобы не затереть свои правки, нет
тут либо сюда и я вставлю в код, либо мучаться
+
avatar
  • Serg730
  • 21 декабря 2019, 21:23
0
Когда уж это скоро наступит? Месяц уже почти прошёл )))
+
avatar
0
Ну… в этом году не успеваю, Семья важнее. Старший внучку нам подкидывает. Времени не остается…
Сожалею, что не оправдал надежды в этом году
+
avatar
0
В файле CANDLES_H изменил параметры: uint8_t flicker= random8(1,80); и leds[x] = CRGB(255 — flicker * 2, 150 — flicker, flicker / 2);--
стало похоже на свечи.
Где можно поиграться со сверканием, блеском и свечками?
+
avatar
0
добавлю но чуть погодя
+
avatar
0
А на счет-«Где можно поиграться со сверканием, блеском и свечками?»
+
avatar
0
Добавил в 4 вариант.
Где можно поиграться со сверканием, блеском и свечками?
все в файле addings.h
+
avatar
0
Спасибо, буду пробовать.
+
avatar
0
С блеском ничего не получается(в языке программирования я не силен),
хочется изменить длительность вспышек и количество.
В строке -52 if( random8() < chanceOfGlitter) {, меняя знак больше меньше,
меняется количество, но грубо.
+
avatar
0
Программа сильно оптимизирована чтобы экономить память.
Длительность не регулируется, либо менять код и хранить массив с координатами блесток
Количество блесток установлено так
Один шаг одна блестка (при этом она появляется с вероятностью 10 из 255
Вероятность задается в файле notamesh4.ino в строке 498
if(glitter) addglitter(10);                                                 // If the glitter flag is set, let's add some.
где 10 вероятность

По количеству, просто скопируйте эту строчку сколько надо раз
+
avatar
0
Спасибо, помогло с количеством(поставил 50), длительность увеличивается скоростью с пульта, а хотелось бы
её зафиксировать.
+
avatar
0
Здравствуйте, заметил особенность,:- при прописывании «1» в строке 101 #define GLITER_ON // Включить блеск при запуске, перестает работать автоматическая смена палитр.
Режим работы — 110 #define DEMO_MODE 1
+
avatar
0
Переделал, теперь работает, обновите
+
avatar
0
Обновил, поменял в скетче только COMMANDS_H на свой пульт, теперь палитры вообще не меняются при запуске( что с 1 на блеске, что 0). С пульта нажимаю авто смена палитр — тогда работает.
Монитор порта пишет, что на некоторых программах смена палитр идет, а на некоторых нет.
+
avatar
0
Понаблюдаю за монитором порта, потом отпишусь
+
avatar
0
Мои наблюдения:
0прогр.- нет
1-нет
2-есть
3-есть
4-нет, должна
5-есть
6-есть
7-есть
8-есть
9-есть
10-есть
11-есть
12-нет, должна
13-есть
14-есть
15-есть
16-нет, должна
17-есть
18-есть
19-нет
20-есть
21-нет
22-нет
23-есть
24-есть
25-есть
26-есть
27-есть
28-33 -есть
34-нет
35-есть
36-есть
37-нет
38-нет, должна
39-нет
40-нет
41-нет, должна
Получается в 5-ти программах нет авто смены палитр.
+
avatar
0
Не идет, потому что в данном эффекте нет возможности менять палитру, Не все эффекты умеют ее менять, по этому в мониторе я и вывожу строку, что смена палитр отключена (Change palette off).
+
avatar
0
Завтра перепроверю, и добавлю
+
avatar
0
Вы правы, Обновил
+
avatar
0
Спасибо, работает, буду тестировать дальше.
+
avatar
  • Mex86
  • 01 декабря 2019, 02:07
0
Здравствуйте, помогите разобраться. При подключении ws2812b, диоды горят белым цветом и ничего не происходит. Пробовал разные скетчи, одинаково. Ws2801 запускается без проблем.
+
avatar
0
У меня сейчас гирлянда ws2811, валялся кусок ws2812b, подключил-работает(ws2812b), только поправил последовательность цветов на GRB.
И без правки цветов тоже работает. В скетче строку «89 #define CHIPSET WS2811 //Тип микросхемы светодиодов в гирлянде» не менял.
+
avatar
0
посмотрите сообщение от 14 ноября 2019 там тоже горит белым
+
avatar
  • Mex86
  • 01 декабря 2019, 23:52
0
При заливке Fastled Blink, тоже самое
+
avatar
0
Значит точно не в ноем скетче
либо проблема с ардуиной, можно попробовать сменить пин
либо проблема с лентой, можно подключить второй светодиод
либо проблема с настройкой скетча, выбрать другой тип светодиодов
+
avatar
  • Mex86
  • 02 декабря 2019, 00:15
0
Пин менял
Ленту менял (5 шт по 50)
В скетче выбирал 2811, 2812B
На контроллере T1000s, работают при выборе WS2811