Авторизация
Регистрация

Напомнить пароль

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

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

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

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

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

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


Содержание

— Схема
— Прошивки
— Примечание по прошивкам
— Прошивки для esp8566 и ESP32
— Для тех кто запутался в версиях

Интересные ссылки

— Описание, как настроить кнопки на нужные команды
— Описание, как настроить аналоговые кнопки на нужные команды
— Еще одно описание, как настроить аналоговые кнопки на нужные команды
— Как настроить палитру (добавить, убрать)

Мои хотелки:

Использовать ленту на 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, я покажу, где менять в скетче.

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


С момента публикации обзора выпущено много версий, для ардуино контроллеров на базе ATMega последняя версия скетча 4,2

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

Первый вариант скетча с этими библиотеками notamesh1.zip
Оригинальный скетч старался не переделывать (нет времени).

Второй вариант скетча notamesh2.zip
Подробности ниже в примечании

Третий вариант скетча notamesh3.zip
Подробности ниже в примечании

Четвертый вариант скетча notamesh4.zip
Подробности ниже в примечании

Дальше шли модификации 4 варианта скетча, шло добавление отключаемого функционала
Вариант скетча 4.1добавлены эффекты notamesh4.1_(plus).zip
Подробности ниже в примечании

Вариант скетча 4.2 Добавлены дополнительные библиотеки управления кнопками и светодиодами индикации notamesh4.2_(Biblio).zip
Подробности ниже в примечании

Вариант скетча 4.2 с настройками для проекта Гайвера У Алекса использован скетч 4.1, и в нем были ошибки notamesh4.2_(Gyver).zip
Подробности ниже в примечании

Вариант скетча 4.2 для контроллеров на базе ESP убраны не поддерживаемые библиотеки (аналоговые кнопки и пульт ИК)
Подробности, свежая версия и ссылки на эту и последующие модификации рассматриваются в обзоре Новогодняя гирлянда на ESP32, имеет более 1000 вариаций (122 эффекта и 33 палитры) (Продолжение на новом железе)

Урезанная версия скетча для контроллеров на базе ATMega168 Урезано все чтоб влезло в 168 notamesh_(for168).zip

Продолжаем

Скачиваем библиотеки 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

Четвертый вариант скетча с поддержкой библиотек Gyvera

1. Компилируется на ESP32 без ошибок и работает (кроме: TM1637_ON не совместима с ESP32, пульт не проверял)
2. Добавлены следующие устройства
TM1637_ON (индикатор от Гайвера),
До 4 Кнопок (Библиотека Гайвера),
До 2 Светодиодов
3, расширен набор команд, Добавлены команды для работы с кнопками работать стало удобнее.
4. Добавлен режим настройки, где свой набор команд.
https://yadi.sk/d/nPBxMYT-LkwtOw

Ответвление темы в сторону ESP32


https://mysku.club/blog/aliexpress/83072.html

Для тех кто запутался в версиях


всего 4 версии, плюс усеченная для atmega168
notamesh
notamesh2
notamesh3
notamesh4

Каждая из этий версий это переписывание всей логики работы. также может быть наращена библиотеками управления, (к основному имени добавляется название добавленного функционала) без замены логики работы при этомэти добавки отключаются в скетче для возврата к исходному варианту
notamesh4.1_(plus).zip — добавлен бегущий огонь
notamesh4.2_(Biblio).zip — Добавлены управление кнопками и светодиоды и возможность компилировать под серию ESP
notamesh4.2_(Gyver).zip — тоже самое но под проект гувера (он использовал в своей разработке мой проект в декабре 2019 года и там есть ошибки и мало возможностей)
notamesh4.2_(ESP32).zip — это версия 4.2, где убраны библиотеки не совместимые с контроллерами на базе ESP (чисто для ESP32 в этой теме не рассматривается)
notamesh4.3_(BLE).zip — это версия 4.2 для ESP плюс добавлено управление по BlueTooth (чисто для ESP32 в этой теме не рассматривается)

все ссылки от меня ведут на актуальную версию, ошибки я исправляю быстро

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

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

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

2811 — это микросхема, к ней можно прицепить нак SMD светодиод или «с ножками»
2812 — тут только SMD, с буковкой b просто ног меньше
ну по поводу долговечности китайских проводов… не тут порвется, дак там протрется.
Я покупал 2812b (как в этой теме) пока ни разу не оторвались
+
avatar
0
  • vovka36
  • 11 декабря 2018, 12:53
Премного благодарен!
+
avatar
+1
Почему 12В версии менее распространены, чем 5В? Ведь 12В БП меньшей мощности найти проще… и меньше требований к проводам.
+
avatar
0
при использовании версии 12 В не забываем ставить резистор.
а 12В и 5В определяется применяемыми микросхемами, есть на 12В есть на 5В
на 12В токи меньше
+
avatar
0
  • zaleks
  • 13 декабря 2018, 09:57
На 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
+2
  • uweroy
  • 11 декабря 2018, 12:43
По надежности ± одинаково но если длинная лента лучше WS2812B в них ток не идет через диод…

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

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

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

тут схем много как подключать как правило один провод общий для всех
+
avatar
0
  • bevice
  • 12 декабря 2018, 11:40
Все собирался забабахать гирлянду подобную, а времени что-то нет с прошивкой возиться. А тут ваша почти готовая. Спасибо!
+
avatar
0
а какой максимальный ток потребляет сотня диодов? в плане выбора БП
+
avatar
+1
  • knst
  • 12 декабря 2018, 16:04
я поделал внукам по 50 диодов, реально потребляют до 400 ма, включают от зарядок для смартфонов.
яркость установлена до 50%
+
avatar
+1
  • Hegy
  • 12 декабря 2018, 19:10
Я подключал 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
0
  • Hegy
  • 13 декабря 2018, 20:03
Может кто подскажет, как найти на али или в оффлайне провода с прозрачной изоляцией в 3 жилы. На али смог найти только уже припаянные к LED.
Вот такие:



Самое похожее, что удалось найти — это бухта на 50м с доставкой федэксом за $50. Перебор.
https://aliexpress.com/item/item/50m-lot-3pin-20AWG-17pcs-0-14wires-transparent-cable-for-led-pixel-module-with-good-cold/1707323788.html
+
avatar
0
  • sly76ru
  • 17 декабря 2018, 14:38
Подпишусь пожалуй, тоже не смог найти
+
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
+2
  • paaevv
  • 14 декабря 2018, 04:23
Люди, все замечательно. не у каждого есть пульт и заморока с IR.
Поделитесь хорошими скетчами с множеством эффектов для ардуино с WS2812., которые переключаются сами по себе без пульта. типа (бегущие огоньки, по одному, по два, вперед, назад, от средины и т, д.)
Очень нужно для утренников.
СПАСИБО.
paaev@meta.ua
+
avatar
+4
Вечером скину новую версию, там будет выбор
+
avatar
0
  • LynXzp
  • 16 декабря 2018, 10:51
В комментариях уже несколько таких вариантов указывали. Но Вы ждите.
+
avatar
+1
  • sepryn
  • 14 декабря 2018, 13:52
Присоединяюсь к просьбе paaevv.
+
avatar
+3
Вечером скину новую версию, там будет выбор
+
avatar
+1
  • sepryn
  • 14 декабря 2018, 14:25
Спасибо, буду ждать.
+
avatar
0
  • paaevv
  • 14 декабря 2018, 15:01
dmitrybik Спасибо, дружище.
+
avatar
+1
  • Leptyn
  • 14 декабря 2018, 23:07
Автор, помогите, пожалуйста!

Собрал схему на 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
0
  • R11
  • 15 декабря 2018, 00:13
Такая же ситуация, сперва у меня с пропиской команд не получалось, автор помог. Потом тоже гирлянда начала зависать при нажатии кнопки на пульте. Уже на знаю, что не так

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

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

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

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

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

Поздравьте с Новым Годом школьников как следует!!!
+
avatar
0
  • Frolv
  • 15 декабря 2018, 13:10
Огромное спасибо за вторую версию. У меня готовая гирлянда на 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
0
  • Frolv
  • 15 декабря 2018, 17:01
Спасибо, буду пробовать.
+
avatar
+1
  • paaevv
  • 15 декабря 2018, 18:21
У меня есть несколько интересных скетчей
Налетай 1
С новым Годом 2
Удачи Всем

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

exit status 1
'one_color_all' was not declared in this scope
+
avatar
0
  • Lagros
  • 15 декабря 2018, 19:07
#define DEMO_MODE     3                                    // Режим при включении
                                                           // 0 — последняя запущенная программа
                                                           // 1 — демо режим с последовательным перебором эффектов
                                                           // 2 — демо режим с случайнвым перебором эффектов
По умолчанию стоит 3 режим, а в описании его нет. Что такое 3 режим?
+
avatar
0
Спасибо, нашли у меня ошибку. Вот что значит сидеть до 2 ночи.
Подправил
+
avatar
0
  • Scalpel
  • 15 декабря 2018, 19:51
Прошил Ваш скетч, настроил количество и тип светодиодов, при использовании пульта в лог пишет SETTING UP по кругу и не запускается, а если пульт выключить то всё работает. В чём может быть проблема?
+
avatar
0
Нехватка ресурсов, отключите лог, должно работать
+
avatar
0
  • Scalpel
  • 15 декабря 2018, 21:25
До включения лога было то же самое, плата 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
0
  • Scalpel
  • 15 декабря 2018, 21:51
У меня стоит #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
0
  • Scalpel
  • 16 декабря 2018, 10:08
Спасибо, посмотрю!
+
avatar
0
Залей какие-нибудь примеры для проверки еепром и приемника пульта. Возможно еепром битый.
+
avatar
0
  • R11
  • 15 декабря 2018, 20:06
Наконец получилось с новым скетчем! Спасибо большое dmitrybik.
А нельзя никак сделать, чтоб был доступен с пульта 39 режим? Может, даже пожертвовав какими-то эффектами похожими что ли, чтоб памяти хватало?
+
avatar
+1
Это можно, но надо мне время для написания инструкции.
Если в кратце по почистив библиотеку пульта. можно высвободить ресурсы
+
avatar
0
  • R11
  • 15 декабря 2018, 21:25
Мне, не к спеху, если Вам не трудно будет до НГ, то хорошо)
И еще вопрос, пока играл с эффектами и палитрами, то не понял, можно ли как-то остановить изменение цвета, чтоб, например, светилась вся гирлянда одним цветом и только мерцание сопроваждало бы этот режим. Хотел получить примерно такой эффект 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
0
  • R11
  • 15 декабря 2018, 21:53
Тогда их вообще не будет? Пусть лучше переливаются режимы)
+
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
0
  • R11
  • 15 декабря 2018, 22:52
Спасибо, будем пробовать)
+
avatar
+2
Внимание, кто скачивал 2 вариант скетча, до сегодняшнего момента, перечитайте заново. Там была ошибка в выборе режима при запуске, раньше выбирался только демо режим с последовательным перебором, теперь ошибка исправлена.
+
avatar
0
  • sepryn
  • 16 декабря 2018, 00:01
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
0
  • paaevv
  • 16 декабря 2018, 09:41
Библиотеки установлены
Ардуино 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
0
  • mitel
  • 16 декабря 2018, 21:16
Привет, как убрать не нужное ограничение в 255 диодов? Мега 2560 потянет больше!
+
avatar
0
В третьей версии будет снято ограничение, я проверю все места, где необходимо подправлю.
+
avatar
0
  • mitel
  • 16 декабря 2018, 21:38
Спасибо, посмотрел эффекты библиотека неопиксел будет гораздо лучше, здесь как то однотипно. А списка эффектов с описанием нет?
+
avatar
0
Проект это развитие разработки другого человка, он решил использовать такие, у него есть и описание.
Главная фишка: здесь эфекты наслоены друг на друга и занимают минимум ресурсов.
Чувствую надо видео новое снимать, во 2 версии все намного интереснее стало.
+
avatar
0
Третий вариант скетча
Решил оптимизировать память, вроде неплохо получилось
Максимальное количество светодиодов не ограничено 255, можно делать больше
https://yadi.sk/d/QA7cAOHN6V0wzw
Проверяйте (вечером сам проверю), пишите в комментариях

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

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

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

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

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
0
  • Kudryash
  • 19 декабря 2018, 14:22
Зажигается только 255 светодиодов, если поставить 300 — начинают гореть только первые 45.
+
avatar
+1
Понял, значит не все нашел, вечером перепроверю и скину исправленную версию.
+
avatar
0
  • sepryn
  • 19 декабря 2018, 21:46
Да, у меня тоже. И виснет сразу.
+
avatar
+1
Нашел ошибку, исправил и выложил заново, счетч №3
+
avatar
+1
На шел ошибку в 3 скетче, было зависание при количестве светодиодов больше 255 штук
Бонусом, добавил работу пульта при долгом нажатии клавиши

Кто скачивал 3 скетч, скачайте его снова
+
avatar
0
  • sepryn
  • 19 декабря 2018, 22:54
Загрузил сразу на 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
0
  • sepryn
  • 20 декабря 2018, 20:02
Сделал как ты написал. Зависание пропало. Тестирую. Спасибо.
+
avatar
+1
  • tbnk
  • 20 декабря 2018, 08:21
Пульт штука, конечно, крутая, но для новогодней гирлянды, имхо, излишняя.
За год может потеряться, батарейки нужны, произвольным пультом не заменишь (нужно перешивать)
Использовать пульт от телика — нужно прикрывать телик, чтобы на него не прошли команды которые хотел послать гирлянде.
У меня самсунг — на пульте задействованы все кнопки и высокая чувствительность — ловит из соседней комнаты на отраженке от стен.

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

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

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

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

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

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

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

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

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

Проверяем…
+
avatar
0
  • ncat_hq
  • 25 декабря 2018, 02:38
*YES*…
мега 2560 + 200-2812b + пульт nec + лог 0 + версия 3.1 = вис на 85
сейчас проверю новую версию
PS спасибо за огромную работу
+
avatar
0
  • ncat_hq
  • 25 декабря 2018, 04:21
Четвертая версия.
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
0
  • ncat_hq
  • 25 декабря 2018, 15:20
Мистика… Прошил обновленный четвертый… Тоже самое… Очистил eprom принудительно… Все заработало!
+
avatar
+1
вечером перепроверю
+
avatar
0
  • Sosedus
  • 25 декабря 2018, 15:44
у меня в четвертом варианте скетча постоянно мигают белым каждый 10 светодиод, в третьем варианте такого не было.
+
avatar
0
  • ncat_hq
  • 25 декабря 2018, 16:27
Поставь значение CANDLE_ON в 0
Это эффект свечи
+
avatar
0
  • paaevv
  • 25 декабря 2018, 22:50
Как убрать переход между эффектами (бенгальский огонь)
если поставить значение CANDLE_ON в 0
то
+
avatar
0
  • ncat_hq
  • 25 декабря 2018, 23:05
В 75 строке… крайнего скетча…
>>#define CANDLE_ON 1 // Включить Свечи при запуске
заменить 1 на 0
Все.
+
avatar
0
  • paaevv
  • 25 декабря 2018, 23:10
Я так и сделал, при кампиляции
ошибка см картинку выше

если define CANDLE_ON 1-то загружается номально
+
avatar
0
  • paaevv
  • 25 декабря 2018, 23:56
75 не отключает бенгальские огни при смене скетчей
+
avatar
0
  • ncat_hq
  • 26 декабря 2018, 00:42
Дефайн это глобальная переменная… Проверяйте версию ИДЕ и плугинов… имхо
+
avatar
+1
Исправил, скачайте скетч заново
+
avatar
+2
Исправлены ошибки в 4 скетче:
1. Ошибка компиляции для 2 проводных светодиодов
2. Проблема с ЕЕПРОМ Веедены дополнительные проверки
Остальное не затронуто.
Скетч 4 обновлен, можно скачать
+
avatar
0
  • sepryn
  • 25 декабря 2018, 22:15
Всё работает. Большое спасибо автору!
+
avatar
0
  • paaevv
  • 25 декабря 2018, 23:51
Не грузится скетч если #define CHANGE_ON 0 // Включить смену эффектов через бенгальский огонь
ошибка
а если
#define CHANGE_ON 1 // Включить смену эффектов через бенгальский огонь
то работает но надоедает
+
avatar
0
  • ncat_hq
  • 26 декабря 2018, 01:11
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
0
  • tbnk
  • 26 декабря 2018, 07:46
Стоит до НГ кнопки ожидать?
+
avatar
+2
Ожидайте.
Будут аналоговые кнопки. Схема может быть любая.
например любая из этих:



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

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

качал библиотеку отсюда
https://github.com/FastLED/FastLED
+
avatar
0
  • R11
  • 27 декабря 2018, 01:52
Спасибо, попробую.
+
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
0
  • R11
  • 27 декабря 2018, 15:08
Спасибо, получилось)
+
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
0
  • R11
  • 27 декабря 2018, 18:51
Круто, ждем-с)
+
avatar
0
  • paaevv
  • 26 декабря 2018, 16:50
В некоторых эффектах, последний светодиод в ленте горит ярче других.
Так должно быть?
+
avatar
+1
Это не баг это Фича. Я у себя код проверил, не нашел почему. Значит это особенность такая.
Сказали бы конкретно на каком эффекте, я бы программно фофиксил.
+
avatar
+1
  • paaevv
  • 27 декабря 2018, 18:11
После обновления библиотеки FastLED все само устранилось.
Замечательные эффекты. и работа устройства.
Казалось бы больше нечего и не нужно, но кнопочки и резисторы потихоньку ищем…
Спасибо большое автору за проект и его поддержку.
+
avatar
+1
  • Xayder
  • 27 декабря 2018, 15:17
Подскажите как понять эту строчку
#define COLOR_ORDER RGB //Очередность цвета светодиодов RGB или GRB
На что она влияет, на какие светодиоды рассчитана?
у меня WS2811
+
avatar
+3
У изготовителя светодиодов есть такая особенность, цвета могут быть поменяны местами. Изготовитель библиотеки FastLED учел это, и ввел этот параметр для подстройки

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


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

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

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

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

Скетч/Подключить библиотеку/Управление библиотеками, там выбрать тип Обновляемый и если в списке стоит FastLED обновить его нажав кнопку обновление
+
avatar
+1
  • Cucumber
  • 30 декабря 2018, 13:55
Оболочка 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
+1
  • Cucumber
  • 31 декабря 2018, 00:34
Сапасибо большое. Тестирую.
+
avatar
0
  • R11
  • 30 декабря 2018, 01:27
У меня 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
+1
  • Cucumber
  • 31 декабря 2018, 00:32
Так и есть. После 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
+1
  • Cucumber
  • 31 декабря 2018, 01:09
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
+1
  • AndySS
  • 31 декабря 2018, 01:46
Замените в juggle_pal.h KolLed на KolLed-1
leds[beatsin16(thisbeat+i+numdots,0,KolLed-1)] 


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

ПыСы пару часов уже без зависона две гирлянды по 75 светиков на Arduino pro mini
+
avatar
0
  • Cucumber
  • 31 декабря 2018, 16:18
Спасибо, заработало!
Всех с наступающим Новым Годом!
+
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
+1
  • AndySS
  • 31 декабря 2018, 13:06
После Mode 7 и 31 идет перезагрузка.
При KOL_LED=IR_MAX_LEDS
Если сделать так как выше написал — то все гуд!
+
avatar
+3
обавление в 4 скетче:
1. Исправлена ошибка. при CHANGE_SPARK 4 эффекты случайно не менялись. Исправлено
2. Списки режимов теперь не расходуют оперативную память, можно список делать до 255 элементов.
Скетч 4 обновлен, можно скачать

С наступающим Новым Годом!!!
+
avatar
0
  • Andrey31
  • 25 декабря 2020, 17:37
Автор, помогитеееее!!! )) Ситуация такая, решил после двух лет обновить гирлянду, собранную по вашей проекту, прошил мегу, добавил ещё 100 диодов (итого 200 шт). Прошил прошивку 4 + и обнаружил что 40 эффект свечи поломался (( красивый оранжевый цвет стал грязно-желто-зелёным ((, какая прошивка на старой ардуине осталась не помню ( и пультом количество led больше 100 не добавляется ).
+
avatar
+1
Это нормально,
если у вас стоит COLOR_ORDER RGB поменяйте на COLOR_ORDER GRB
или наоборот
если у вас стоит COLOR_ORDER GRB поменяйте на COLOR_ORDER RGB

Если не используете кнопки Гайвера (появились недавно) то проверьте параметр SAVE_EEPROM он должен быть
либо SAVE_EEPROM 2 либо SAVE_EEPROM 0 чтобы COLOR_ORDER заработал
+
avatar
0
  • Andrey31
  • 25 декабря 2020, 19:09
спасибо, но COLOR_ORDER правильный (( прямой выбор цветов совпадает. Не добавляются диоды на старой плате (она мне и не нужна). На новой с этим всё нормально
+
avatar
+1
на последнем скетче цвет не берется из COLOR_ORDER, он хранится в eeprom
параметр SAVE_EEPROM 0 как раз и отключает хранение

Сможете вывести красный цвет и посмотреть реально он красный или зеленый?
если не знаете как подскажу
+
avatar
0
  • Andrey31
  • 26 декабря 2020, 08:04
Красный выводится правильно, вообщем похоже разобрался, не знаю как это связано, но отключил опцию «свечи по методу… чегото -там» и свечи стали нормального оранжевого цвета, правда новые диоды слегка розовят, но это уже не так существенно. Спасибо большое за оперативную помощь! С Наступающим!
+
avatar
0
  • tbnk
  • 31 декабря 2018, 10:35
Получил гирлянду на 50 2811 подаю питание 5 вольт / 2 ампера — она вся светится белым.
Я так понимаю, она должна светиться только при подаче управления?
Китаец прислал гирлянду с пробитыми чипами?

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

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

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

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

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

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

В любом случае Спасибо и с Новым Годом!!!
+
avatar
+1
Я тоже это заметил, но пока вычислять на каких эффектах он так ведет нет времени. Доступ к елке ограничен, пишу без проверки
+
avatar
0
  • tbnk
  • 31 декабря 2018, 17:07
Еще багрепорт — 4 версия с демо 2 режимом виснет примерно через час. Ушел собаку гулять, вернулся — елка черная. Перезапустил, опять повисло. Очень и очень не сразу.
Отладку не включал — шил со стационарного компа, а он в другой комнате
Старенький ноут не потянул новую IDE :(
Другие опции (отключение плавных переходов и прочие) не проверял по той же причине.
Питания с запасом — delta electronics 5v/2.5a на 50 диодов, в скетче выставлено 2000 ма.
Но когда работает — смотрится шикарно!
+
avatar
+1
  • AndySS
  • 31 декабря 2018, 19:07
Смотри выше мой пост.
+
avatar
0
  • tbnk
  • 31 декабря 2018, 20:52
У меня как-то странно себя ведет — застопорилась (погасла), лень было идти передергивать. Она еще минут 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
+1
  • warpm
  • 31 декабря 2018, 23:54
Ура!!! С Новым годом!!! Здоровья, счастья, удачи!!!
+
avatar
0
  • sepryn
  • 02 января 2019, 13:36
С Новым годом! Спасибо большое автору за поддержку проекта. Пока испытать не могу, т.к. за сутки до праздника почему-то сдохла ардуинка. Позже протестирую как до новой доберусь.
+
avatar
0
  • warpm
  • 02 января 2019, 16:51
Последняя версия с включенным логом зависает
+
avatar
0
Скинте ваши настройки, с настроками по умолчанию (включеным логом) всю новогоднюю ночь до утра работало без зависания
+
avatar
0
  • warpm
  • 02 января 2019, 23:49
без лога работает вроде
+
avatar
0
У вас наверное много светодиодов, при работе не хватает памяти
Глобальные переменные должны оставлят больше 500 байт иначе могут быть зависания. чтобы уменьшить память можно поотключать не используемое. У вас отключение лога, как раз освободилонужную память
+
avatar
0
  • warpm
  • 03 января 2019, 09:43
всего 50 светодиодов, в планах 100-200
настройки не туда скинул, они где то ниже получились
+
avatar
0
поставте KOL_LED 50
и IR_MAX_LEDS 51
и должно все быть хорошо
Со временем переставите на 100 и 200
+
avatar
0
  • Hegy
  • 02 января 2019, 20:30
Во всех режимах рандомно мелькают (блестят) первые примерно 43 светодиода.
+
avatar
0
Скинте ваши настройки, с настроками по умолчанию (100 светодиодов) всю новогоднюю ночь до утра работало без нарекания, может у вас какойто режим был включен?
+
avatar
0
  • warpm
  • 02 января 2019, 23:31
как то так
Дополнительная информация
#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
+1
  • Hegy
  • 03 января 2019, 10:09
Оставил на ночь. Утром было зависшее. Но был включен лог. Может не хватило памяти.

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

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

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

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

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

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

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

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

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

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

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

Это только где он должен светиться синим фоном.
Лог нужен, в каких режимах происходит?
Если что, у меня 150 светодиодов. IR_MAX_LEDS пробовал 150 и 151. Все равно.
А скетч от 03.01. Только commands.h скопировал из предыдущего с моим экземпляром пульта.
+
avatar
0
Интересно. У меня 100 светодиодов, проверить не могу на 150.
Мне достяточно хотябы номер режима в котором этот глюк).
и также, если возможно, проверить с какого режима был переход (тоесть это всегда происходит в этом режиме или когда переход с конретного на конкретный)
+
avatar
+1
  • irbis66
  • 08 января 2019, 02:58
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
0
  • irbis66
  • 09 января 2019, 01:37
Прошил последнюю версию скетча, ошибка не ушла. 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
0
  • irbis66
  • 09 января 2019, 02:16
Этот эффект не возникает. Но, если в начале в настройках указать оба значения 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
0
  • irbis66
  • 08 января 2019, 11:31
Немного не в тему.
Кто знает, какую эпоксидку китайцы заливают внутрь кембриков, надетых на платки со светодиодами в гирляндах на WS2811? Очень прозрачная и твердая. Как раз такая нужна.
+
avatar
0
  • R11
  • 09 января 2019, 01:07
Может не мелочатся и ювелирной? Даже не знаю где такую инфу можно выудить, а так да, прозрачность классная. У меня 100 светодиодов с эпоксидкой, а 100 — голые платки со светодиодами, как-то я пропустил этот момент при заказах в разное время.
+
avatar
0
  • irbis66
  • 09 января 2019, 01:46
Китайцы? Не мелочатся? Мсье фантаст-утопист))) Я вот думал взять себе еще гирлянду на 2812. Но как заставить их более-менее равномерно светить на все 360? А такой компаунд был бы кстати. Да и вообще, время от времени для разных случаев надо бывает.
+
avatar
0
  • R11
  • 09 января 2019, 07:15
Не, ну, мало ли))) Китайская ювелирная)) Вы ж с Украины, я как-то просматривал эпоксидку на розетке, там что-то попадалось по 0,5кг, вроде как прозрачная заявлялась)
+
avatar
0
  • irbis66
  • 09 января 2019, 09:33
Это ж надо покупать, пробовать, и так много раз. Я думал может кто уже знает.
+
avatar
0
Я последнее время заливаю клеевым пистолетом и потом грею феном для полного залития внутрь. Дешево и ремонтопригодно.
Но гирлянды таким образом не делал, у меня WS2812 с термоусадкой прозрачной
+
avatar
0
  • R11
  • 09 января 2019, 10:50
Вот и я о таком варианте подумал на счет гирлянды без «изоляторов», применив прозрачную термоусадку, но, чувствую, будет колхозно на ws2811.
+
avatar
+1
  • Lagros
  • 09 января 2019, 16:46
У меня провода зеленые, поэтому я применил зеленую термоусадку. Перед тем, как нагреть, внутрь засунул немного термоклея. А потом феном разогрел. Колхоз, конечно, но на елке не видно.
Дополнительная информация
+
avatar
0
  • R11
  • 09 января 2019, 17:07
В том-то и дело, что я хотел бы сделать их похожими с другой сотней, все же в прозрачном изоляторе свет чуть больше назад рассеивается, а в непрозрачной термоусадке будет светиться только светодиод или его часть.
+
avatar
0
  • Lagros
  • 09 января 2019, 18:10
У меня тоже одна гирлянда с колпачками, а другая нет. Я заморачивался поиском таких колпачков. А потом плюнул и надел термоусадку.
+
avatar
0
  • Z2K
  • 16 января 2019, 09:20
Какой колхоз, єто уже фирмА.
+
avatar
+1
  • sepryn
  • 11 января 2019, 20:57
Спасибо большое автору! Загрузил последний скетч, проверяю. Пока работает без зависонов. Ардуино уно, лента 300 диодов. Лог и пульт отключены.
+
avatar
+1
Спасибо автору! У меня тоже гирлянда пришла слишком поздно, залил скетч версии 4, все работает отлично. Гирлянда на 100 светодиодов, пожалуй буду докупать. Сижу, печатаю звезды-рассеиватели.
+
avatar
0
  • Berebes
  • 30 декабря 2019, 13:57
а есть видео как с такими звездами светит?
+
avatar
0
  • Sega-san
  • 30 декабря 2019, 15:15
Примерно так
youtu.be/otUls5Yimjc
или так
youtu.be/akau2wIjMNw
+
avatar
0
  • Berebes
  • 30 декабря 2019, 15:25
А можете еще поделить модельками и ссылкой какую ленту брали? Надо уже запасаться к следующему году))
+
avatar
0
Да, уже пора запасаться :)
Я купил 100 шт., но на елку 2.1м маловато, собирался докупить, но что-то пошло не так, теперь точно еще куплю. ССЫЛКА НА ГИРЛЯНДУ WS2811
Модель выложил на thingiverse.com

Да, заливка у модели не помню, 10 или 20%. Любым прозрачным пластиком, у меня был ПЕТГ.
+
avatar
0
а вот та гирлянда, что в обзоре. термоусадка реально помогает? дает немного света?
+
avatar
0
Ну меня устраивает, в темноте хорошо светит. могу примерно сказать обратная сторона излучает примерно 30% от излучения светодиода
+
avatar
0
спасибо! а какого диаметра термоусадка налезает без проблем, не скажите? :) и еще. а вот что то из этого скетча не использовали? mysku.club/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.club/blog/aliexpress/58913.html
без каких то… автору данного труда мои респекты! но тот скетч как то мне ближе и переходы как то гармоничнее что-ли…
или я с этим не разобрался
тут как то иногда резко смена режимов происходит. хотя 4-тый вариант скетча заливал…
+
avatar
0
Пожалуйста… :)
Ок… надо попробовать, пока ёлка стоит
+
avatar
0
если не трудно, сообщите по результатам. потому что. может я в этом скетче что то не понял или не те настройки указал. все по умолчанию. но без пульта… но тот скетч как то мне плавнее и красивее что-ли… а этот немножко все рублено как-то :) но возможно я что то не докрутил, хотя ничего не крутил… как и там собственно.
+
avatar
0
  • irbis66
  • 15 января 2019, 16:53
Я побовал. Как по мне, все точно, как вы описали, только наоборот :) Оценивали всей семьей. Единогласно оставили этот. Да и тот проект на Нано не более 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
0
  • irbis66
  • 15 января 2019, 18:00
Пользуясь случаем хочу спросить насчет «исчезающего» последнего светодиода. Просто делать IR_MAX_LEDS на один больше, чем KOL_LED и не морочить никому голову?
+
avatar
0
Если пульт не испрользуется поставить
KOL_LED
Если используется
то установить
KOL_LED количество светодиодов
IR_MAX_LEDS больше на одну чем KOL_LED
и чтоб наверняка в функции setup()
вконце (строка 400 примерно) добавить строку
NUM_LEDS = KOL_LED;
+
avatar
0
  • irbis66
  • 15 января 2019, 17:47
Они у меня дома. Точно помню, что все, что касается смены эффектов, оставил по умолчанию. Поиграйтесь #define CHANGE_SPARK от 1 до 3, выберите понравившийся вариант, и оставьте. У меня — в случайном порядке.

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

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

Дисплей не реализован но в комментариях от 12 декабря написано как подключить
+
avatar
0
Кстати тут mysku.club/blog/aliexpress/58913.html реализована некая плавная смена эффектов. Может пригодится.
+
avatar
0
  • sepryn
  • 16 января 2019, 21:59
А можно с нумерацией скетчей внести какой-то порядок? Оставить четвёртый и следующим, если есть изменения и отличия в эффектах, давать другие названия. Пятый, шестой и т.д.
+
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
del
+
avatar
0
мы говорим про скетч notamesh4Biblio
Все управление и настройки теперь в одном месте в главном файле notamesh4Biblio.ino
Команды в конце

Светодиоды для определения в каком режиме находишься
Первый отражает нажатия кнопки библиотеки GyverButton
Второй отображает вход в режим настройки
+
avatar
0
Большое спасибо, очень познавательно для осваювающих ардуину.
+
avatar
0
  • bbvlad
  • 29 января 2019, 18:25
+
avatar
0
эт чего?
+
avatar
0
  • ncat_hq
  • 31 января 2019, 12:19
Клавиатура 4 на 4 с тремя выводами: GND, +5V, Analog
пруф:
+
avatar
0
  • OleoMac
  • 11 февраля 2019, 19:33
Добрый день. А такой ИК модуль приемника беспроводной комплект пульт дистанционного управления подойдёт?
+
avatar
0
Да подойдет, при этом можно кроме этого пульта использовать и любой другой, главное платка. Правда не понимаю почему сдесь светодиод (без сопротивления), странный набор
+
avatar
0
  • OleoMac
  • 12 февраля 2019, 11:28
А для чего сопротивление на светодиод и куда его паять (светодиод)?
+
avatar
0
Для работы гирлянды светодиод и сопротивление не нужны. Я написал, что набор странный, не понял почему положили светодиод без сопротивления.
Сопротивление ограничивает ток через светодиод, иначе светодиод сгорит. Но для данного устройства светодиод не нужен.
+
avatar
0
  • OleoMac
  • 12 февраля 2019, 23:45
Понял, спасибо
+
avatar
0
  • OleoMac
  • 12 февраля 2019, 23:55
Понял, спасибо
Ардуино Мега 2560 подойдёт для этого проекта? Лежит без дела.
+
avatar
0
Да подойдет, даже с избытком
+
avatar
0
  • OleoMac
  • 13 февраля 2019, 16:08
Подключать по схеме автора?
У Вас скетчи работают или надо что то изменять?
+
avatar
0
Подключать можно как угодно, в скетче только подправить настройку пинов.
Номер пина можно посмотреть тут: (фиолетовый цвет)
pic.mysku-st.ru/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
0
  • ncat_hq
  • 15 марта 2019, 00:33
В новом варианте скетча эффектов перехода с эфекта на эффект будет очень много, также появится эффект плавного включения. Тамже должно появится подобие привязки к координатам (но об этом позже)
Жду(м) новый скетч с нетерпением!))
+
avatar
0
  • sepryn
  • 22 марта 2019, 08:23
Присоединяюсь!
+
avatar
0
  • irbis66
  • 22 марта 2019, 10:47
Да-да, а то елку же скоро выкидывать, 1-е мая не за горами :)
+
avatar
0
У меня другая проблема, елки нет, отлаживать негде, 1 декабря надеюсь соберу,
+
avatar
0
  • koss28
  • 31 марта 2019, 23:51
пробую подключить кнопку по приложенной выше инструкции, не выходит.
в режиме монитора выходит абра кадабра — кубики квадратики.
как получить код для кнопки???
+
avatar
0
У вас не правильно настроен монитор, установите скорость порта 57600 бод
Картинка
+
avatar
0
  • koss28
  • 03 апреля 2019, 00:19
Похоже что-то работает не правильно.
не подскажите где косяк?

---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
0
  • koss28
  • 03 апреля 2019, 22:34
У Вас хорошо получается :)
Кнопка подключена по приложенной схеме
но результат пока печальный.
Подключено к выходу А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
0
  • koss28
  • 05 апреля 2019, 00:18
все получилось!
только для перебора режимов сделал так:

#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
0
  • koss28
  • 06 апреля 2019, 10:59
ок.
сделаем по ускоренному варианту.
+
avatar
0
Отлично!
+
avatar
0
доброго времени суток,
Спасибо автору, все получилось работает, по этой схеме делал светильник для новорождённой племянницы,
Можно ли добавить выбор белого цвета с ИК пульта
+
avatar
0
Доброго здоровья.
Эта команда уже реализована
IR_Key_Solid_White
+
avatar
0
Спасибо!!!
+
avatar
0
  • Vist
  • 01 ноября 2019, 22:37
Повторил гирлянду, но к сожалению уже после НГ. Где-то в апреле. На почте посмеялсь «зачем вам гирлянды весной». Сначала на 100 диодов, после добавил еще 50. Отвез внуку заранее — ждет Новый Год :) Жена говорит надо заказать у китайцев еще светиков, и себе такую на улицу соорудить ;)
Автору респект!
И хочу напомнить, что он как-то оговорился (если мне память не изменяет) о том что подумает прикрутить управление к мобильнику.
Это было бы очень замечательно. Я так понимаю надо ESPшками запастись? :)
P.S. А то НГ не за горами, заодно и внуку обновлю гирлянду.
+
avatar
0
В этом сезоне на ESP точно не будет, только сегодня пришел мне на почту первый ESP (ESP32S), а на нем не все так просто.
если прикрутить к AVR модуль wifi, то ресурсов не хватит (надо впихнуть протокол обмена) и придется усекать количество светодиодов.
У меня был интерес прикрутить пульт которому нужны прерывания и FastLED который вырубает прерывания. Плюс оптимизировать так чтобы работало на 300 светодиодов на самой распространенной компактной ардуине нано
+
avatar
+1
  • Vist
  • 02 ноября 2019, 17:19
В этом сезоне на 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
0
  • Mex86
  • 05 ноября 2019, 11:18
Помогите настроить для ws2801, arduino nano. 4 скетч выдаёт ошибку на этапе проверки
+
avatar
0
Могу только догадаться, что у вас что-то не правильно настроено. Будет больше информации будет и больше помощи
+
avatar
0
  • Mex86
  • 05 ноября 2019, 12:27
Даже без изменения настроек, ошибка для устройства arduino nano
+
avatar
0
Только что компилировал на ws2801, все работает и компилируется. Эти ws2801 двухпроводные значит надо указать пин тактовых импульсов раскомментировать
#define LED_CK        11          // Номер пина для подключения тактов, применяется для светодиодов WS2801 или APA102
                                  //ЕСЛИ НЕ ИСПОЛЬЗУЕТСЯ ЗАКОМЕНТИРОВАТЬ
+
avatar
0
  • Mex86
  • 05 ноября 2019, 12:49
Я указываю 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
0
  • Mex86
  • 05 ноября 2019, 17:48
Спасибо, попробую
+
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
+1
  • Vist
  • 14 ноября 2019, 00:45
В этом сезоне на 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
0
  • 0xxx0
  • 22 ноября 2019, 08:53
Ребят, подскажите, пожалуйста как в 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
0
  • Serg730
  • 25 ноября 2019, 19:45
Скажите. Вроде должно при включении происходить эффект бенгальского огня. И потом уже запускаются эффекты. У меня после включения несколько секунд ничего не происходит. Гирлянда не горит. А потом уже запускаются эффекты. В параметрах программы включить блеск при запуске стоит 1. Или этот параметр что то другое.
Гирлянда на 150 светодиодов. Пульт не подключен
Это первая поделка на Arduino NANO. Полный ноль в этом.
+
avatar
0
Исправил, обновите
+
avatar
0
  • Serg730
  • 26 ноября 2019, 18:06
Спасибо, всё работает
+
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
0
  • Serg730
  • 21 декабря 2019, 21:23
Когда уж это скоро наступит? Месяц уже почти прошёл )))
+
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
0
  • Mex86
  • 01 декабря 2019, 02:07
Здравствуйте, помогите разобраться. При подключении ws2812b, диоды горят белым цветом и ничего не происходит. Пробовал разные скетчи, одинаково. Ws2801 запускается без проблем.
+
avatar
0
У меня сейчас гирлянда ws2811, валялся кусок ws2812b, подключил-работает(ws2812b), только поправил последовательность цветов на GRB.
И без правки цветов тоже работает. В скетче строку «89 #define CHIPSET WS2811 //Тип микросхемы светодиодов в гирлянде» не менял.
+
avatar
0
посмотрите сообщение от 14 ноября 2019 там тоже горит белым
+
avatar
0
  • Mex86
  • 01 декабря 2019, 23:52
При заливке Fastled Blink, тоже самое
+
avatar
0
Значит точно не в ноем скетче
либо проблема с ардуиной, можно попробовать сменить пин
либо проблема с лентой, можно подключить второй светодиод
либо проблема с настройкой скетча, выбрать другой тип светодиодов
+
avatar
0
  • Mex86
  • 02 декабря 2019, 00:15
Пин менял
Ленту менял (5 шт по 50)
В скетче выбирал 2811, 2812B
На контроллере T1000s, работают при выборе WS2811
+
avatar
0
Библиотека FastLED не работает, почему то, она не моя
Попробуйте библиотеку НЕО демку какую то, если и она даст сбой, то меняйте ардуинку, может в ней кварц неправильный
+
avatar
0
  • Mex86
  • 02 декабря 2019, 01:09
НА neopixel тоже самое, буду пробовать другую ардуинку
+
avatar
0
  • Mex86
  • 08 декабря 2019, 10:34
Проблема оказалась в ардуино, поменял. Теперь работает на любых диодах
+
avatar
0
  • Mex86
  • 01 декабря 2019, 13:06
Проблема не в скетче, разные пробовал. На контроллере работает.
+
avatar
0
тогда проблема в ленте. Не помню — есть ли в ней «начало-конец».
+
avatar
0
  • Mex86
  • 01 декабря 2019, 17:29
Есть, подключаю правильно
+
avatar
0
здесь так же стоит? — 89 #define CHIPSET WS2812b //Тип микросхемы светодиодов в гирлянде
+
avatar
0
  • Mex86
  • 01 декабря 2019, 20:02
Да
+
avatar
0
1. Если строке 105 включена в 1 или 2 — это влияет на программу №40
2. Так же это влияет на Демо режим №1 — появляются глюки в программах.
3. Не работает режим 103 #define IR_Key_Save_Mode, на мониторе команда проходит, а программа не сохраняется.
+
avatar
0
Разделил свечки и 40 эффект (ввел настройку CANDLE_40)

IR_Key_Save_Mode сохраняет только с какого режима запускать при старте
Проверил, работает

Обновил
+
avatar
0
Здравствуйте Дмитрий, все отлично. Не хочу быть навязчивым, но можно ли сделать раздельно
(#define CHANGE_SPARK 1 // Эффект смены) от (#define GLITER_ON 0 // Включить блеск при запуске).
А то хочется что б запуск происходил с эффектом, но при этом не было блеска.
+
avatar
0
Отвязал, теперь есть параметр BLACKSTART отвечающий за старт с черного экрана

Обновил
+
avatar
0
Огромное спасибо, все работает.
+
avatar
+1
  • max-123
  • 06 декабря 2019, 11:33
На Ардуино 1.6.5 для arduino nano при компиляции выдает «эскиз слишком большой, глянь… для советов по диете». Т. е. Памяти контроллера 328го не хватает. Это для четвертой версии прошивки. Первые три работали на ура. Помогите советом, что делать.
+
avatar
0
Сколько светодиодов? и желательно ваши настройки, то есть, то что есть желание оставить,

1 можно отключить лог LOG_ON 0
2 отключить плавную смену эффектов CHANGE_ON 0
3 отключить работу с выбранными эффектами комментируем
//#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
4 можно отказаться от пультаIR_ON 0
Более сложно можно выкинуть не нужные эффекты
+
avatar
0
  • Lagros
  • 07 декабря 2019, 21:02
Загрузка скетча идет. Гирлянда работает. Но при компиляции появляются ошибки.
Что-то не так?
Дополнительная информация
In file included from D:\notamesh4\notamesh4.ino:320:0:

sketch\running_fire.h:6:127: warning: backslash and newline separated by space

#define PROG_RUN_FIRE 8, 8, 0b11100000, 0b01110000, 0b00111000, 0b00011100, 0b00001110, 0b00000111, 0b10000011, 0b11000001, \

In file included from D:\notamesh4\notamesh4.ino:160:0:

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

# pragma message «FastLED version 3.003.002»

^~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from D:\notamesh4\notamesh4.ino:320:0:

sketch\running_fire.h: In function 'void running_fire()':

sketch\running_fire.h:11:36: warning: '__progmem__' attribute ignored [-Wattributes]

const PROGMEM uint8_t programm[]= { PROG_RUN_FIRE }; //массив программ

^

+
avatar
0
Обновил, не должно ругаться
+
avatar
0
  • Lagros
  • 10 декабря 2019, 00:11
Да, спасибо. Все в порядке.
+
avatar
0
  • belokota
  • 10 декабря 2019, 15:40
Подскажите, можно ли как то сделать, что бы сигнал который идёт на светодиоды дублировался ещё на каком нибудь другом выходе? Например как на 13 выводе ардуино(если выбран выходом) моргает светодиод. Мне нужна отдельная индикация работы. А нагружать дополнительным диодом выход не хотелось бы.
+
avatar
0
запаяйте перемычку, или выберите 13 вывод в скетче.
+
avatar
0
  • belokota
  • 10 декабря 2019, 16:07
А программно это сделать возможно? Продублировать выход.
+
avatar
0
Практически да, но стоит ли.
1 вариант переделать библиотеку FastLed (это к разработчику) найти строку вывода и продублировать на другой выход
2 вариант Создать Вторую копию массива LEDS (строка 357) с добавочным пином, но у вас памяти не хватит по второму варианту за подробностями к документации FastLed

проще подключите ко входу буферный элемент (транзистор или полевик или логический элемент или операционный усилитель) и подключите к нему светодиод
+
avatar
0
  • belokota
  • 10 декабря 2019, 16:49
Большое спасибо! Понятно.
+
avatar
0
Скажите пожалуйста, в четвёртом скетче, в демо-режиме, без пульта, яркость не ограничена? На максимум?
+
avatar
+1
при включении яркость задается 212 строке
uint8_t max_bright = 255;                                     // Overall brightness definition. It can be changed on the fly.
и не зависит от клавиш и пульта, можно поменять командами IR_Key_Brightness_plus и IR_Key_Brightness_minus
В библиотеке есть также ограничение на яркость это строки
#define POWER_I       5000        // Ток блока питания в милиАмперах
ну и чисто физически, если бок питания не тянет
+
avatar
0
  • alext11
  • 15 декабря 2019, 19:21
Подскажите пожалуйста если я ставлю
uint8_t max_bright = 96;
и во вкладке «getirl.h»
меняю 35 строчку:
max_bright=min(max_bright*2,255);
на:
max_bright=min(max_bright*2,max_bright);
будет ли ограничиваться максимальная яркость при управлении с пульта?
+
avatar
0
min вычисляется так min(a, b) ((a < b)? a: b) то есть пока max_bright*2 меньше max_brigh будет выдаваться max_bright*2 если больше или равно то max_bright
Получается в этой строке max_bright всегда будет оставаться прежней т.к условие не выполняется
будет ли ограничиваться максимальная яркость при управлении с пульта?
увеличиваться не будет, что соответствует будет ограничена
+
avatar
0
  • alext11
  • 15 декабря 2019, 19:46
Спасибо за разъяснение.
+
avatar
0
Спасибо!!! огромное
+
avatar
0
  • belokota
  • 17 декабря 2019, 20:11
Подскажите, какой номер эффекта огня и следующего за ним эффекта, когда просто мерцает жёлтым?
+
avatar
0
39 и 40
+
avatar
0
  • belokota
  • 17 декабря 2019, 22:13
Спасибо!
+
avatar
0
  • belokota
  • 19 декабря 2019, 16:03
Ещё вопрос по режимам работы:2 — демо режим с случайным перебором эффектов и 4 — демо режим с случайным перебором выбранных эффектов. Эффекты будут перебираться абсолютно случайно? Или случайно, но так когда следующий за воспроизводимым эффект будет выбран из тех, которые ещё не были воспроизведены? А те эффекты, которые уже были воспроизведены будут ждать нового цикла.Так иногда делают разработчики подобных конструкций.
+
avatar
0
Как я говорил выше, здесь происходит максимальная экономия памяти. самый экономичный способ это
Эффекты будут перебираться абсолютно случайно
Для режима
А те эффекты, которые уже были воспроизведены будут ждать нового цикла
требуется память для хранения уже воспроизведенных эффектов, этого в программе нет и не будет для этого контроллера, иначе быстро перейдем от 300 светодиодов к 100
+
avatar
0
  • R356
  • 20 декабря 2019, 13:30
Добрый день Дмитрий. Подскажите пожалуйста, в чем может быть проблема. Использую Arduino Mega, ленту WS2812b на 450 светодиодов, блок питания 5V 12A и последний скетч notamesh4. В скетче менял только количество диодов и пин подключения ленты. Все прошивается, но при включении моргает только первый светодиод. С пульта добавляю всю цепочку, сохраняю как первый эффект. Быстро выключаю и включаю, все работает. Но стоит выключить на длительное время, все повторяется вновь, только первый светодиод. Со скетчем notamesh3 все работает нормально. Помогите понять причину или может что то нужно исправить в скетче. Скоро новый год, хотелось бы закончить гирлянду.
+
avatar
0
  • R356
  • 20 декабря 2019, 13:59
Это показывает монитор порта при запуске.

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 1 LEDs
Mode: 0
1001
Change palette off
DEMO MODE 3
---SETUP COMPLETE---
+
avatar
0
У меня нет Меги чтоб проверить. я буду просить а вы делайте у себя и говорите что видите.

итак,, похоже не корректно читается еепром

Временное решение
в строке 367
#if IR_ON == 1
поменяйте 1 на 0
я посмотрю код и исправлю скетч
+
avatar
0
  • R356
  • 20 декабря 2019, 15:12
Спасибо Дмитрий. Поменял 1 на ноль, монитор порта увидел 450 диодов.

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 450 LEDs
Mode: 100
1003
Change palette off
DEMO MODE 1
---SETUP COMPLETE---
Mode: 0
1160
Change palette off
End SetMode

Погоняю немного и отпишусь. Спасибо
+
avatar
0
  • R356
  • 20 декабря 2019, 15:25
В мониторе меняются эффекты. После отключения меги от питания, монитор видит всю гирлянду. Позже подкину к елке, прогоню режимы и напишу…
+
avatar
0
  • R356
  • 20 декабря 2019, 17:36
Добрый вечер Дмитрий. Подключил к елочной гирлянде, все отлично. Запуск и выбранные эффекты обрабатываются корректно. Спасибо Вам за помощь и за отличный проект.
+
avatar
+1
  • Serg730
  • 23 декабря 2019, 18:44
Дмитрий, ваш проект немного доработал AlexGyver (канал на ютубе). добавил управление одной кнопкой.
+
avatar
+1
:-)
+
avatar
0
офигенный петух гавер. использовал чужие коды, использовал чужую доработку и запилил видео со сраными реферальными ссылками на али ради баблишка. при этом даже не почитал комменты (ну раз он не знает как запустить больше 300 диодов). весь российский diy во всей красе.
+
avatar
+6
  • neomagic
  • 24 декабря 2019, 10:58
Алекс Гайвер нормальный парень. Просто Дмитрий уже отлично поработал над этим скетчем и добавлять нечего! Дмитрий, спасибо за работу. Слежу за проектом с самого начала.
+
avatar
+7
Спасибо за добрые слова
+
avatar
0
Дмитрий, добавьте в свой код возможность управления одной кнопкой, чтоб и у оригинала тоже была эта функция)
+
avatar
0
Не вижу смысла дублировать. И управление одной кнопкой крайне не удобное. Не думаю что через год вспомните что означает тройное нажатие. А так работа с кнопками реализована в текущем, 4 скетче
+
avatar
0
Посмотрел я библиотеку управления одной кнопкой, она крайне расточительна по использованию памяти, почти 20 байт используется глобальных переменных на одну кнопку, а если их две?

Повторяю главный концепт этого проекта: максимальная экономия оперативной памяти.
+
avatar
0
  • klientik
  • 25 декабря 2019, 21:17
Добрый вечер, помогите пожалуйста разобраться с проблемой, купил 2 гирлянды по 50 светодиодов на ws2811 колпачки так называемые, по отдельности каждые 50шт работают идеально, а если последовательно то дальняя не работает, указываю 100 диодов, но если выключить IR_ON == 0 то работает вся длинна…
+
avatar
0
Количество светодиодов выбирается с пульта командами
IR_Key_Length_Garland_plus
IR_Key_Length_Garland_minus
и запоминаются в ЕЕПРОМ
+
avatar
0
  • klientik
  • 25 декабря 2019, 22:03
Сори что не прочитал всю ветку сразу, уже нашел инфу об этом… Спасибо…
+
avatar
0
  • alext11
  • 25 декабря 2019, 21:32
Была такая же проблема, решил таким образом в строчке: #define IR_MAX_LEDS поставил значение 101 диод и пультом расширил на все 100 диодов.
+
avatar
0
  • Sosedus
  • 25 декабря 2019, 21:40
с наступающим…
самый последний вариант скетча 4, ссылка в обзоре? yadi.sk/d/effzA_UUCVSQAg?
+
avatar
+1
да, там всегда актуальная версия, последние изменения от 9/12/2019
+
avatar
0
Добрый вечер, Дмитрий. Гирлянду включаю без пульта в демо режиме 1. Проблема в следующем: переход между эффектами происходит только с режимом метеорит, пробовал все варианты и искры и яркий свет и случайный(но все равно переход только с метеоритом). Подскажите пожалуйста в чем может быть проблема, может где-то еще менять надо что-то?
+
avatar
0
Перепроверил, это никак не связано. скиньте настройки проверю, подскажу.
+
avatar
0
  • 1ncept
  • 26 декабря 2019, 06:08
Подскажите у меня у одного проблема " при нажатии кнопки пульта начинает тормозить эффект" и любые другие команды с пульта не сразу срабатывают а то и вообще не срабатывают
+
avatar
0
Ответ уже был, повторяюсь:
Это так и должно быть.
Напоминаю: Библиотека FastLED во время передачи вырубает прерывания, а для работы пульта они обязательны. отсюда и проблемы с пультом. Я применил решение которое делает не срабатывание пульта менее 20%, что достаточно для работы и не обременительно.
Можете попробовать проект автора он за год тоже вставил работу пульта, можно попробовать его.
Еще раз напоминаю, я хотель выжать максимум, на что способен Нано, здесь идеть жесточайшая экономия памяти с максимальными возможностями. 300 светодиодов, огромное количество эффектов работа с пульта и кнопок
+
avatar
+1
Обновил 4 скетч,
Исправлена ошибки переключение на больше 255 светодиодов и управление выбранных эффектов
проверяем
+
avatar
0
  • Sosedus
  • 28 декабря 2019, 17:44
Спасибо за поддержку проекта
+
avatar
0
Спасибо за скетч, по-моему, очень удачный проект! Я выкинул кнопки и IR и запустил на WeMos D1 mini, 4 цикла прогнал — зависов нет.
+
avatar
0
Спасибо Дмитрий за этот проект! Поскольку я не программист ни разу), хотел-бы Вам предложить добавить в гирлянду еще один шикарный новогодний эффект — фейерверк. www.anirama.com/1000leds/1d-fireworks/. Возможно ли такое добавить в Ваш скетч?
+
avatar
0
  • klientik
  • 29 декабря 2019, 12:05
да, и этот офект бы добавить в матрицу на окно…
+
avatar
0
на елке он будет не понятно выглядеть. сначала один огонек побежит вокруг елки потом где то по середине елки засветится линия. (это когда гирлянда накручена на елку)
В 5 скетч, где будет что то подобное в виде матрицы добавлю
+
avatar
+1
  • Berebes
  • 30 декабря 2019, 15:02
Спасибо за скечт. Почему то правленный гайвером у меня с активацией ик пульта не работает. А Ваша версия №4 заработала. Были остатки самопаянной гирлянды. Чуть переделал её и использовал на велике. Мне понравилось.
Эффекты примерно с 3:55


На окне уже второй год сетка. Подключил Ваш скетч к ней. Жду вечера, пойду на улицу смотреть как отыграет. Но боюсь ИК пульт не дотянется до 2 этажа и через улицу.
Спасибо.
+
avatar
0
Привет. Гирлянда не оторваться. Вот, только у меня зависает не пойму по какому алгоритму. Лог отключен, пульт отключен, кнопок нет. При компиляции на память не ругается. Лента 300 светодиодов. Похоже на то, что проходит цикл и зависает. С пультом и логами ругается на память, зависает тоже) может рано зависнуть, а может долго работать примерно цикл.
+
avatar
+1
все таки похоже нехватка памяти попробуйте закомментировать строку 684
case 39: if(mc) {thisdelay=10; palchg=0;} fire(); break;
и строку 324
#include "fire.h"
если зависать перестанет то точно нехватка памяти
+
avatar
0
Закомментил, сейчас потестю.
+
avatar
0
если это помогло, то подскажу, что можно убрать еще
+
avatar
0
Не помогло, все равно зависла.
+
avatar
0
Подправил скетч, проверяйте, проверить сам пока не могу
+
avatar
0
Посмотрите на странице Гайвера. На ней внизу, где комментарии из вконтакте, кто-то нашел ошибку в эффекте огня при светодиодах больше 250 и приложил изменение кода для исправления ошибки.
+
avatar
0
Я писал несколькими сообщениями выше:
все таки похоже нехватка памяти попробуйте закомментировать строку 684
case 39: if(mc) {thisdelay=10; palchg=0;} fire(); break;
и строку 324
#include «fire.h»
если зависать перестанет то точно нехватка памяти
это отключает огонь
ответ был
Не помогло, все равно зависла.
посмотрю что там у гайвера, как будет время
+
avatar
0
Что то связано с количеством светодиодов прошил на 250, все мигает не зависает. Видимо, где-то переполнение происходит.
+
avatar
0
значит памяти не хватает, можно как я писал выше
1 можно отключить лог LOG_ON 0
2 отключить плавную смену эффектов CHANGE_ON 0
3 отключить работу с выбранными эффектами комментируем
//#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
4 можно отказаться от пультаIR_ON 0
Более сложно можно выкинуть не нужные эффекты
+
avatar
0
Не в памяти дело, скорее всего затычки в каких то эффектах. Люди и на Меге ловят глюки. У меня и так отключен пульт и лог и на память не ругается.
+
avatar
0
Я заказал мегу, придет буду тестить. Те у кого она есть могли бы и лог кинуть, где зависает. Пока склоняюсь к проблеме в ардуино, перевел все на контроллер STM32L151 на IDE SEGGER там работает максимум на 2500 светодиодов. на 500 я проверял.
+
avatar
0
.С Новым годом Вас Дмитрий, и всех участников этого проекта. Спасибо за проект.
+
avatar
0
Спасибо.
Всем удачи в новом году, а мне время на развитие проекта.
+
avatar
0
  • Creo
  • 01 января 2020, 14:26
Приветствую, всех с Новым Годом!
Все вроде работает :) Считал все кнопки IRremote и прописал в скетч, при считывании кнопок иногда показывал просто цифры, или FFxxxx. (использую протокол NEC тот, что по умолчанию)
Но решил проверить пульт скетчем IRrecvDumpV2 (IRrecvDump писал то неизвестный, то NEC, то LG и т.п.), вот что выдало (чаще чем другое):
13:20:54.385 -> Encoding: NEC
13:20:54.385 -> Code: FF58A7 (32 bits)
13:20:54.419 -> Timing[67]:
13:20:54.419 -> +8900, -4450 + 550, — 600 + 550, — 550 + 550, — 550
13:20:54.519 -> + 550, — 550 + 550, — 600 + 500, — 600 + 550, — 550
13:20:54.586 -> + 550, — 550 + 550, -1700 + 550, -1650 + 550, -1700
13:20:54.657 -> + 500, -1700 + 550, -1650 + 600, -1650 + 550, -1650
13:20:54.733 -> + 600, -1650 + 550, — 550 + 550, -1700 + 550, — 550
13:20:54.800 -> + 550, -1650 + 550, -1700 + 550, — 550 + 550, — 550
13:20:54.900 -> + 550, — 600 + 500, -1700 + 550, — 600 + 500, -1700
13:20:54.967 -> + 550, — 550 + 550, — 550 + 550, -1700 + 500, -1700
13:20:55.033 -> + 550, -1700 + 550
13:20:55.033 -> unsigned int rawData[67] = {8900,4450, 550,600, 550,550, 550,550, 550,550, 550,600, 500,600, 550,550, 550,550, 550,1700, 550,1650, 550,1700, 500,1700, 550,1650, 600,1650, 550,1650, 600,1650, 550,550, 550,1700, 550,550, 550,1650, 550,1700, 550,550, 550,550, 550,600, 500,1700, 550,600, 500,1700, 550,550, 550,550, 550,1700, 500,1700, 550,1700, 550}; // NEC FF58A7
13:20:55.402 -> unsigned int data = 0xFF58A7;

Это можно как-то использовать для стабильности и точности работы пульта?

PS: вот еще интересное, вывод скетча IRremoteInfo:
13:28:57.068 -> IRremote Library Settings
13:28:57.068 -> =========================
13:28:57.068 -> RAWBUF: 101
13:28:57.068 -> Timer defined for use: Timer2
13:28:57.068 -> IR Tx Pin: 3
13:28:57.068 -> MCU Clock: 16000000
13:28:57.068 -> MCU Platform: ATmega328(P) / (Duemilanove, Diecimila, LilyPad, Mini, Micro, Fio, Nano, etc)
13:28:57.068 -> Mark Excess: 100 uSecs
13:28:57.104 -> Microseconds per tick: 50 uSecs
13:28:57.104 -> Measurement tolerance: 25%
13:28:57.104 -> Minimum Gap between IR Signals: 5000 uSecs
13:28:57.104 -> Arduino IDE version: 1.8.10
13:28:57.104 -> Debug Mode: OFF (Normal)
13:28:57.104 ->
13:28:57.104 -> IR PROTOCOLS SEND DECODE
13:28:57.104 -> ============= ======== ========
13:28:57.104 -> RC5: Enabled Enabled
13:28:57.104 -> RC6: Enabled Enabled
13:28:57.104 -> NEC: Enabled Enabled
13:28:57.104 -> SONY: Enabled Enabled
13:28:57.104 -> PANASONIC: Enabled Enabled
13:28:57.104 -> JVC: Enabled Enabled
13:28:57.137 -> SAMSUNG: Enabled Enabled
13:28:57.137 -> WHYNTER: Enabled Enabled
13:28:57.137 -> AIWA_RC_T501: Enabled Enabled
13:28:57.137 -> LG: Enabled Enabled
13:28:57.137 -> SANYO: Disabled Enabled
13:28:57.137 -> MITSUBISHI: Disabled Enabled
13:28:57.137 -> DISH: Enabled Disabled
13:28:57.137 -> SHARP: Enabled Disabled
13:28:57.137 -> DENON: Enabled Enabled
13:28:57.137 -> PRONTO: Enabled (Not Applicable)
+
avatar
0
С новым годом!!!
по логом у вас пульт NEC
его и надо выбирать
#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                     
и это все по настройке, остальное там все настроено
я уже писал про стабильность работы пульта
Это так и должно быть.
Напоминаю: Библиотека FastLED во время передачи вырубает прерывания, а для работы пульта они обязательны. отсюда и проблемы с пультом. Я применил решение которое делает не срабатывание пульта менее 20%, что достаточно для работы и не обременительно.
Можете попробовать проект первого автора Andrew Tuline он за год тоже вставил работу пульта.
+
avatar
0
  • Creo
  • 01 января 2020, 15:07
Спасибо за ответ, а остальное можно удалить?
И как удалить протоколы остальных пультов и все с ними связанное, чтобы места больше стало :)?
+
avatar
0
Все уже украдено до нас
Удаляется очень просто, Где поставили 0 это и удаляется,
#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  
Можете посмотреть, после компиляции выдает сколько использовано памяти. Поставьте 1 и увидите прирост
+
avatar
0
  • Creo
  • 01 января 2020, 15:34
Про 1 не понял. А где-то прописаны протоколы, хочу удалить все кроме NEC.
+
avatar
0
В этих строках из скетча написан комментарий
//Тип пульта на который будет реагировать устройство, ставим 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 
поясню, надо ставить 1 для тех пультов которые вы используете, остальные протоколы использоваться не будут, чтобы уменьшить используемую память.

Ну если хотите удалить сами то они находятся тут C:\Arduino\libraries либо Мои документы\Arduino\libraries в папке IRremote тогда все вопросы к разработчику IRremote
+
avatar
0
давно слежу за проектом. Трудится олна Pro mini почти без проблем — за месяц два раза пришлось перепрошивать только и Мега, но та зависает очень часто. /Висит за окном — нет возможности доставать и смотреть.
Но я всегда не понимал один момент з пультом. Если я определю, что пульт у меня NEC, то достаточно включить соответствующую строку (поставить 1 ) и уже не надо считывать и записывать команды? Или всё-равно придётся считать коды для каждой кнопки и прописать их?
+
avatar
+1
Nec Это стандарт шифрования, каждая фирма командам своего пульта делает уникальный код, чтобы пульты одной фирмы не управляли устройствами другой фирмы, У меня в проекте используется пульт от SUPRA DVD
Значит если у вас пульт тоже SUPRA, то кодировать не надо, иначе придется.считывать.
В проекте команды пульта вынесены в отдельный файл и достаточно этот файл не затирать при каждом обновлении
+
avatar
+1
  • Creo
  • 01 января 2020, 18:21
Вот мой маленькийдевайс :):
+
avatar
0
Подправил скетч, проверяем.
Изменения для светодиодов больше 255.
Сам проверить не могу, пока не на чем.
+
avatar
0
Залил вместе с пультом. Зависла. Сейчас залью без.
+
avatar
0
печальная новость что зависла, поставил 256 светодиодов на тесть с дебагом, буду ждать зависания
+
avatar
0
  • irbis66
  • 03 января 2020, 11:53
Дмитрий, с Новым Годом! Еще раз спасибо за этот замечательный проект.
Запустил последний вариант на 230 светодиодов с пультом и 15-ю кнопками одновременно. Памяти совсем не осталось. При этом пришлось отключить лог, свечи и MY_MODE. Как там Mega, еще не приехала? А то хотел еще прикрутить хотя бы 3-циферный дисплейчик для удобства пользования.
+
avatar
0
С новым годом!
Мега не приехала, но ошибки найденные в теме Гувера, в моем скетче также исправлены. теперь должно работать на меге с большом количеством светодиодов
+
avatar
+1
Залил без логов и пульта 300 диодов работает уже часа 2. Надо попробовать без лога и с пультом проверить. Заметил правда просто непонятные мигания, похоже на эффекте огня, но при смене на следующий все норм. Плата нано.
+
avatar
0
Проработала весь день с последним скетчем. Нано, 300 диодов, без логов, без пульта. Вполне нормально. Только судорожный эффект огня, хотя и не напрягает))
+
avatar
0
Поздравляю всех с НОВЫМ ГОДОМ!!!
В честь этого события выкладываю новый скетч на 122 эффекта
Добавлен эффект бегущих огней
Проверяем… (у меня ардуинки нет сейчас до конца праздников)
Если выдает нехватку памяти на нано, отключайте что нибудь :)
+
avatar
0
  • alext11
  • 03 января 2020, 17:22
Дмитрий, с Новым Годом! Залил последний скетч, но как получить 122 эффекта? по факту с 0 по 41 переключаются.
+
avatar
0
исправил, пишу без ардуинки.
Обновил
+
avatar
0
  • alext11
  • 03 января 2020, 19:24
Спасибо, заработало. использую — ардино нано, 50 светиков WS2811, пульт на 23 кнопки и вот что пишет:

In file included from C:\Users\Alext\Desktop\Новая папка\notamesh4plus\notamesh4plus.ino:159:0:

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

# pragma message «FastLED version 3.003.002»

^~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from C:\Users\Alext\Desktop\Новая папка\notamesh4plus\notamesh4plus.ino:326:0:

sketch\running_fire.h: In function 'void running_fire(uint8_t, uint8_t, uint8_t)':

sketch\running_fire.h:23:36: warning: '__progmem__' attribute ignored [-Wattributes]

const PROGMEM uint8_t programm[]= { PROG_RUN_FIRE }; //массив программ

^

Скетч использует 30666 байт (99%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1116 байт (54%) динамической памяти, оставляя 932 байт для локальных переменных. Максимум: 2048 байт.
+
avatar
0
Обновил, должно работать
+
avatar
0
Ого-го. Ща затестим)
+
avatar
0
Обновил, там была ошибка
+
avatar
0
  • irbis66
  • 03 января 2020, 19:11
Цифровыми кнопками с пульта режимы с номером больше 99 не набрать. Режимы от 101-го вверх и от 122-го вниз командами next и prev с пульта не меняются. Памяти не хватает, нужна мега. Вот думаю, есть ли смысл? Мне кажется, что будет слишком много бегущих огней.
+
avatar
0
  • irbis66
  • 03 января 2020, 19:21
Был не совсем прав. От 101 вверх меняются, до 105 дощелкал. Но от 122 к 121 перейти нельзя.
+
avatar
0
Эффекты начинаются с 0, а не с 1, по этому последний эффект 121
+
avatar
0
  • irbis66
  • 04 января 2020, 00:52
---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 230 LEDs
Mode: 0
1002
Change palette off
DEMO MODE 1
---SETUP COMPLETE---
Analog Key: 1023
Start SetMode
Mode: 1
120367
Change palette off
End SetMode
Command: 0xFFE01F
Previous mode
Mode: 0
147626
Change palette off
End SetMode
Command: 0xFFE01F
Previous mode
Mode: 122
170554
Change palette ON
End SetMode
Command: 0xFFE01F
Previous mode
Mode: 122
188375
Change palette ON
End SetMode
New Palette: 29
+
avatar
0
ну это могу исправить только на работе после праздников
+
avatar
0
нашел ошибку, обновил 4+
+
avatar
0
  • irbis66
  • 04 января 2020, 13:26
Ничего не изменилось:

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 230 LEDs
Mode: 255
1002
Change palette off
DEMO MODE 1
---SETUP COMPLETE---
Mode: 0
1330
Change palette off
End SetMode
Command: 0xFFE01F
Previous mode
Mode: 122
18027
Change palette ON
End SetMode
Command: 0xFFE01F
Previous mode
Mode: 122
33019
Change palette ON
End SetMode
+
avatar
0
по логам в прошлый раз старт не шел с черного экрана, теперь идет
кнопку назад с пульта тоже подкорректировал
Скетч обновлен
+
avatar
0
  • irbis66
  • 04 января 2020, 14:21
Работает.
+
avatar
0
Оптимизировал 4плюс
Кстати эффекты бегущего огня можно добавлять. интересные шлем сюда я добавлю
+
avatar
0
  • Frankir
  • 04 января 2020, 00:25
У кого есть что-то подобное esp8266, то автор первоначального скетча выложил notamesh+esp8266+mqtt тут github.com/atuline/ESP8266-FastLED/tree/master/mqtt-mesh
Можно прикрепить удобный пульт на базе например iot mqtt panel с бесплатным брокером например cloudmqtt. Без проблем вносятся недостающие эффекты из данной темы.
+
avatar
0
Я знаю, но это уже другая история для другой темы.
Мне интересна нано, как синклер спектрум, из минимума сделать максимум
+
avatar
0
Подскажите пожалуйста а где тут эффекты с 43 по 127, или я не там смотрю. И как их включить?
ссылка
+
avatar
0
  • alext11
  • 04 января 2020, 12:12
Если я не ошибаюсь, то Дмитрий их поместил здесь:

default: if (mode>=42 && mode <122) {
uint8_t mode_x = mode — 42;
if(mc) {thisdelay=10;} running_fire(mode_x >> 3,(mode_x >> 1) % 3,mode_x % 1);
}
+
avatar
0
  • Serg730
  • 04 января 2020, 12:13
Скажите. 80 новых эффектов, это различные вариации одного эффекта бегущий огонь? Если так, то это многовато, да и однообразно. можно как нибудь убавить?
+
avatar
0
функция running_fire() запускает «машину» которая делает бегущий огонь. Проблема в том что вариантов бегущего огня много, (пользователь может создавать свои), вариантов отображения тоже (в данный момент 4) вариантов погасить тоже. По этому так и получилось много.
+
avatar
0
по скетчу 4+ голосуем какие варианты нравятся.
иначе я оставлю только 43, 45, 47 и 49
+
avatar
0
  • irbis66
  • 04 января 2020, 13:43
Надо время «всех посмотреть» ))
+
avatar
0
не забываем, можно добавить свои любимые эффекты бегущего огня
+
avatar
0
  • alext11
  • 04 января 2020, 14:03
Дмитрий подскажите пожалуйста, если во вкладке running_fire.h строку:

const PROGMEM uint8_t programm[]= { PROG_RUN_FIRE }; //массив программ

изменить на:

const uint8_t programm[]= { PROG_RUN_FIRE }; //массив программ

это не повлияет на работу скетча, а то при компиляции ругается на PROGMEM

In file included from C:\Users\Alext\Desktop\Новая папка (2)\notamesh4plus\notamesh4plus.ino:280:0:

sketch\running_fire.h: In function 'void running_fire(uint8_t, uint8_t, uint8_t)':

sketch\running_fire.h:23:36: warning: '__progmem__' attribute ignored [-Wattributes]

const PROGMEM uint8_t programm[]= { PROG_RUN_FIRE }; //массив программ
+
avatar
0
PROGMEM показывает где размещать массив. предполагается для экономии ОЗУ разместить массив в памяти программ во флеше
на работу не повлияет.
+
avatar
0
  • alext11
  • 04 января 2020, 14:28
Спасибо, просто при загрузке пишет что данный атрибут игнорируется, может из-за того что у меня библиотека фастлед версии 3.3.2
+
avatar
0
не замечал ошибку. Вынес массив из функции, предупреждение пропало
Обновил скетч 4+
+
avatar
0
  • alext11
  • 04 января 2020, 16:53
Огромное спасибо за проект и оперативную поддержку!
+
avatar
0
  • irbis66
  • 05 января 2020, 02:09
На меге в этом варианте не работают бегущие огни. Никакие. Смена эффекта выглядит так: вся лента сначала светится фоном, затем начинает заполняться от первого светодиода к последнему белым цветом следуя за «головой» метеорита. Если же набрать номер эффекта цифрами на пульте, то глюки бывают совсем непредсказуемые. Например сначала часть светодиодов статично светится неярким розовым, часть голубым, потом начинает медленно хаотично по одному заполняться ярким белым. При этом лог выглядит как обычно. Режимы 0-41 работают. Предыдущий вариант работал вроде нормально. Причем компилятор ни на что не ругался. Недолго я его гонял, глюков не заметил. Днем верну его, погоняю еще.
+
avatar
0
  • Creo
  • 05 января 2020, 11:51
Заметил баг в последней версии.
Изменения мои: 170 диодов, и коды кнопок.
Включаю, смеша эффектов (то что по умолчанию), через минут 30, примерно, а может и меньше гирлянда зависает на белых огнях — вся светиться белым и все, на кнопки не реагирует. Только выключение и включение.
+
avatar
0
  • Contr
  • 05 января 2020, 12:27
Подтверждаю, у меня 50 диодов, нет пульта и кнопок. Зависает на белых огнях
+
avatar
0
Исправил, обновляем, Проверить не могу, нет ардуины, результаты сюда, пожалуйста.
+
avatar
0
  • Contr
  • 06 января 2020, 15:43
Спасибо, всё работает. 4 часа в работе
+
avatar
0
  • alext11
  • 05 января 2020, 13:05
Подтверждаю, во вкладке running_fire.h сделайте такие изменения(вернулся к предыдущему скетчу):

//const PROGMEM uint8_t programm[]= { PROG_RUN_FIRE }; //массив программ(закомментируйте эту строку)

void running_fire(uint8_t prog, uint8_t effect, uint8_t clear)
{ //Бегущая строка
//prog = номер программы
//effect = номер эффекта
const uint8_t programm[]= { PROG_RUN_FIRE }; //массив программ (вставьте эту строку только без
//аттрибута PROGMEM)
const uint16_t programm_count = sizeof( programm ); //размер программы
const uint8_t speed = 100; // скорость программы (1-255)
static uint8_t tek_prog = 255; // текущая программа
static uint8_t tek_effect = 255; // текущий эффект
static uint8_t tek_clear = 255; // текущий эффект очистки
static uint16_t tek_index_prog = 0; // текущий указатель на программу
static uint8_t tek_step = 0; // текущий шаг
static uint8_t tek_step2 = 0; // текущий шаг
+
avatar
0
Исправил по другому, ваш способ расходует память, обновляем, Проверить не могу, нет ардуины, результаты сюда, пожалуйста.
+
avatar
0
Исправил, обновляем, Проверить не могу, нет ардуины, результаты сюда, пожалуйста.
+
avatar
0
Опа, поймал белый экран, разбираюсь
+
avatar
0
Все исправил, обновляем 4+
+
avatar
+1
  • irbis66
  • 06 января 2020, 01:01
Насчет какие режимы бегущих огней оставить. Выбрал 45, 46, 49, 58, 59, 64, 67, 74 ,77, 83, 89, 100,106, 107, 108, 111, 112, 113, 119. Ну, можно еще 52, 68, 75, 91, 94, 103, 110, 118, 120. Остальные повторы.
+
avatar
0
Хорошо, у кого то будут предложения или возражения?
+
avatar
0
Без всего зависает 300 диодов, заливка белым.
+
avatar
0
Точно с последним скетчем идет заливка белым? если да, скиньте настройки, проверю
+
avatar
0
Дмитрий, огромная благодарность за ваш проект! вопрос подарков на Новый Год был решен! Спасибо!!!
по заключительному варианту plus, у меня пока все нормально, 100 светодиодов, работает два часа, пульт IR использую.
отрывок моего варианта настроек, перемешал в MY_MODE оригинальные эффекты с бегущими огнями, и указал MY_MODE режим при включении. мне кажется так интересней стало смотреться, по крайней мере на ёлочке
+
avatar
0
#define KOL_LED 300 // Сколько светодиодов в гирлянде при первом включении
#define IR_ON 0 // Если равен 1 используется пульт
#define PIN_IR 2 // Номер пина, куда подключен датчик пульта,
#define IR_MAX_LEDS 150
#define BLACKSTART 1 // Первый запуск делать с черного экрана 0- начинать с эффекта, 1- начинать с черного экрана
#define GLITER_ON 1 // Включить блеск 0 — блеск отключен, 1- блеск включен
#define CANDLE_KOL 3 // если больше 0 то будут включена эмитация свечей
#define CANDLE_ON 0 // Если включена эмитация свечей то 1 = при запуске она будет включена
#define CANDLE_40 1 // Управление 40 эффектом (свечи) 1 = при запуске она будет включена по варианту efimova1969
#define BACKGR_ON 1 // Включить заполнение черного цвета фоном
#define DEMO_MODE 1
#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
#define DEMO_TIME 60 // Время отображение эффекта в демо режиме в секундах
#define CHANGE_ON 1 // Включить плавную смену эффектов
#define CHANGE_SPARK 1 // Эффект смены 0 — без эффекта, 1 — искры (бенгальский огонь) 2 — яркий свет
#define CHANGE_TIME 7 // Время в секундах, за которое произойдет плавная смена эффектов
#define DIRECT_TIME 20 // Через сколько секунд менять направление если 0 — не меняем
#define PALETTE_TIME 10 // Через сколько секунд менять палитру если 0 — не меняем
#define LOG_ON 0
Не зависает, а проходит какое то количество эффектов, потом заливается белым и меняется белый на белое и так раз 15-20 потом, эффекты продолжаются.
+
avatar
0
Запустил на тест
+
avatar
0
Все, победил. Зависало на 22 и 37 эффектах (нехватка памяти)
Обновляемся.
Теперь есть переменная
#define DEV_NOISE16 100           // если Зависает на 22 и 37 режимах, то уменьшаем число
раньше она была равна 200 теперь 100, если будет зависать делаем 50
Но чем больше это число, тем целостнее изображение 22 и 37 режимах
+
avatar
0
  • irbis66
  • 08 января 2020, 20:00
Mega, пульт и кнопки включены, 230 диодов. Виснет на попытке включить свечи. Иногда так:

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 230 LEDs
Mode: 255
1002
Change palette off
DEMO MODE 1
---SETUP COMPLETE---
Analog Key: 1022
Mode: 0
1335
Change palette off
End SetMode
Command: 0xFFD827
Command: 0xFFD827
Mode: 44
14644
Change palette ON
End SetMode
Command: 0xFF827D
Candle 1
Command: 0xFF827D
Candle 0
Command: 0xFF827D
Candle 1 Висим

Иногда сразу:

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 230 LEDs
Mode: 255
1002
Change palette off
DEMO MODE 1
---SETUP COMPLETE---
Analog Key: 1023
Mode: 0
1335
Change palette off
End SetMode
Start SetMode
Mode: 1
60305
Change palette off
End SetMode
Start SetMode
Mode: 2
120286
Change palette ON
Command: 0xFF827D
Candle 1 Висим
+
avatar
0
Исправил, теперь не должно зависать, обновите
+
avatar
0
  • irbis66
  • 09 января 2020, 19:28
Не помогло:

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 230 LEDs
Mode: 255
1002
Change palette off
DEMO MODE 1
---SETUP COMPLETE---
Analog Key: 1023
Mode: 0
1335
Change palette off
End SetMode
Command: 0xFF827D
Candl⸮⸮u
Command: 0xFF827D
Candle 0
Command: 0xFF827D
Candle 1
Command: 0xB2AD722A //и погнали:
Command: 0x436⸮⸮lF4
Command: 0x56CCE8C
Command: 0xD97B1161
Command: 0x2B22066A
Command: 0xCF053A8B
Command: 0x1BAD6EE3
Command: 0x55BAD5E5
Command: 0x8D1B01A6
Command: 0xD9523B66
Command: 0x35C6388F
Command: 0x308454⸮⸮⸮
Command: 0xE99D42F4
Command: 0xFF23FE60
Command: 0x86CECF5
Command: 0x4249D4C1 //это не я, это оно само
Command: 0xCF15C904
Command: 0x9FEE0108
Command: 0xB3F⸮⸮8F4
Command: 0x601809E6
Command: 0xD6732890
Command: 0xFA8681A2
⸮Command: 0xC6224A9B
Command: 0x257EEC80
Command: 0xD00D79C1
Command: 0x8FF13497
Command: 0xAF7D02A2
Command: 0x2A99015
Command: 0xB5312⸮??
Command: 0xAC5B566D
Command: 0x78A85AD4
Command: 0xF2811D75
Command: 0xC0CF7297
Command: 0x55BAD5E5
Command: 0xAA17C69F
Command: 0x6D8B6371
Command: 0x6961F91F
Command: 0x77163C89
Command: 0xE5EC476⸮⸮0Command: 0x2B49F1F3
Command: 0x23B6F151
Command: 0x503CFFB7
Command: 0x8DB8AD05
Command: 0x43D752BC
Command: 0xA71FC041
Command: 0x289⸮y95B
Command: 0x920D13D3
Command: 0x762F67D
Command: 0x487B804E
Command: 0x3C318647
Command: 0xF1352F55
Command: 0x66B3C49A
Command: 0x2D1A0057
Command: 0x80ED3487
Command: 0x2DD50602
Command: 0xC0AFE⸮⸮⸮
Command: 0x835E9ECD
Command: 0x26945D7D
Command: 0x6E804DDF
Command: 0x8EE00E6B
Command: 0x1EAFB824
Command: 0x27571C6
Command: 0x6D1⸮1079
Command: 0xE90E6B1D
Command: 0x2EB05FDA
Command: 0x68FF3761⸮⸮Command: 0xF861E6FF
Command: 0x6C61AD0B
Command: 0x331DCD9F
Command: 0x65B9A6C
Command: 0xAD33F01C
Command: 0xBA90F6DA
Command: 0x1268⸮⸮⸮3
Command: 0x512CBA9
Command: 0xFEB84C32 //и т.д.

Ну или, что чаще, просто виснет.
+
avatar
0
Скинте ваши настройки, сюдя по логу у вас просто приемник пульта барахлит:
зависаний не вижу
а библиотека пульта работает на прерываниях, ей зависания не помеха
+
avatar
0
  • irbis66
  • 10 января 2020, 01:14
#define KOL_LED 230 // Сколько светодиодов в гирлянде при первом включении
#define IR_ON 1 // Если равен 1 используется пульт
#define PIN_IR 53 // Номер пина, куда подключен датчик пульта,
#define IR_MAX_LEDS 231 // Максимальное количество светодиодов при работе с
— #define IR_NEC 1 // пульт NEC,

#define IR_REPEAT 1 //Включить повтор, при долгом нажании на кнопку пульта будет повтор
#define KEY_ON 1 // Если равен 1 используются кнопки подключенные к аналоговому входу
#define PIN_KEY A3 // Номер пина, куда подключены кнопки
— #define KEY_DELTA 7 // погрешность значения кнопки, тоесть от -KEY_DELTA до
#define COLOR_ORDER GRB //Очередность цвета светодиодов RGB или GRB
#define CHIPSET WS2812B //Тип микросхемы светодиодов в гирлянде
#define LED_DT 54 // Номер пина куда подключена гирлянда
//#define LED_CK 11 // Номер пина для подключения тактов, применяется для светодиодов
#define POWER_V 5 // напряжение блока питания в Вольтах
#define POWER_I 25000 // Ток блока питания в милиАмперах
#define BLACKSTART 1 // Первый запуск делать с черного экрана 0- начинать с эффекта, 1-
#define GLITER_ON 1 // Включить блеск 0 — блеск отключен, 1- блеск включен
#define CANDLE_KOL 20 // если больше 0 то будут включена эмитация свечей
#define CANDLE_ON 0 // Если включена эмитация свечей то 1 = при запуске она будет
#define CANDLE_40 1 // Управление 40 эффектом (свечи) 1 = при запуске она будет
#define BACKGR_ON 1 // Включить заполнение черного цвета фоном
#define DEMO_MODE 1 // Режим при включении
#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
#define DEMO_TIME 60 // Время отображение эффекта в демо режиме в секундах
#define CHANGE_ON 1 // Включить плавную смену эффектов
#define CHANGE_SPARK 4 // Эффект смены 0 — без эффекта, 1 — искры (бенгальский огонь) 2 —
#define CHANGE_TIME 7 // Время в секундах, за которое произойдет плавная смена эффектов
#define DIRECT_TIME 20 // Через сколько секунд менять направление если 0 — не меняем
#define PALETTE_TIME 30 // Через сколько секунд менять палитру если 0 — не меняем
#define LOG_ON 1 // Включить лог 1 — включить лог

Фотоприемник 38 кГц, как и пульт. Помех не ловит, что подтверждается монитором порта и осциллографом. Выбран из 5 типов разных. Остальные же команды обрабатываются корректно.
В том логе, что выше, это не с фотоприемника такой мусор лезет, это ардуина виснет и вот это вот все в порт выдает.
Завтра еще попробую переназначить кнопку на пульте. Может ей не нравится именно эта команда, которая сейчас?
+
avatar
0
поймал глюк со свечами, разбираюсь
+
avatar
0
Исправил, обновите и проверьте
+
avatar
0
  • irbis66
  • 10 января 2020, 15:00
Спасибо! Вечером постараюсь проверить.
+
avatar
0
  • irbis66
  • 11 января 2020, 10:03
Вчера гонял часа три, все нормально.
+
avatar
0
  • alext11
  • 10 января 2020, 13:42
А как у вас появился 53 пин?
"#define PIN_IR 53 // Номер пина, куда подключен датчик пульта,"
может из-за этого у вас глюки?
+
avatar
0
глюк исправлен, дело не в пине было.
а пины это дело ардуины, значит на его плате есть
+
avatar
0
  • irbis66
  • 10 января 2020, 14:28
Это мега, там другая нумерация.
+
avatar
0
можно еще посоветовать для тех у кого зависает, в качестве теста выставить параметр
#define POWER_I 2000 // Ток блока питания в милиАмперах
+
avatar
0
не поможет, Это касается только тех у кого блок питания слабый.

Зависало на 22 и 37 эффектах, исправил. обновляемся
+
avatar
0
  • irbis66
  • 09 января 2020, 20:19
А можно также исправить тот скетч, который не плюс? А то есть еще одна гирлянда на нано, в которую не влазит плюс, так она на 22-м эффекте или виснет, или перезагружается.
+
avatar
0
Хорошо
+
avatar
+1
Добавил отключение плюса в скетче 4+
RUNNING_FIRE  1           // Включить эффекты бегущего огня
+
avatar
0
  • irbis66
  • 10 января 2020, 14:34
Спасибо!
+
avatar
0
Добрый день!
К Mege подключено 960 светодиодов, без пульта (4+). Всё вроде работает кроме первого эффекта, цветная волна бегает примерно до первых 250 диодов. Можно как то поправить?
+
avatar
0
на 300 бегала нормально не замечал такого, проверил на 400, 600 960, 1500
Подтверждаю, как бы волна до 255 светодиода, остальные однотонно закрашиваются.
Пока разборку отложу но исправлю позже.
+
avatar
0
Добрый день, подскажите а в планах нету сделать эту красоту на esp с управлением через вайфай?
+
avatar
0
В планах есть, но это будет уже не эта убогая красота. Будет время будет проект
+
avatar
0
есть уже готовый рабочий вариант, но эфектов очень мало, а вот ваши бы сюда github.com/vvip-68/NodeMCU-MQTT-WS2812
+
avatar
0
Вот хороший проект github.com/evilgeniuslabs/tree-v2. В этот НГ делал его на белую елку. А на зеленую сделал этот, но версию без +. Как мне показалось, что в этом проекте цвет светодиодов и цветовых переходов какой-то не очень красивый, вроде как отдает в синий, пурпур и фиолетовый, а вот тот на который дал ссылку выдает очень приятные цвета. Но там автор (судя по скетчу, в нем ссылка есть) заморочился с какими-то палитрами для цветовых переходов, может быть дело в них?
А у вас как ощущение от цветов, нет такого, что много пурпура и фиолета?
+
avatar
0
Основа заложена Andrew Tuline именно его палитры используются, но всегда можно сменить на другие, если бы дали ссылку на палитры, я бы добавил/поменял
В проекте что мне дали ссылку, палитры одинаковые как у меня, у меня даже на одну больше (bhw1_28_g)
+
avatar
0
Исправил, обновляем
+
avatar
0
Спасибо, заработало. Скорость движения бенгальского огня можно увеличить, у меня всю ленту пробегает за секунд 30?
+
avatar
0
Не корректно работает параметр?
#define CHANGE_TIME   7           // Время в секундах, за которое произойдет плавная смена эффектов
+
avatar
0
У меня скорость вообще не реагирует на изменение переменной.
+
avatar
0
Подправил скетч, не на ардуине отрабатывает корректно, на ардуине проверить не могу до понедельника
+
avatar
0
Без изменений. Кроме этого эффект бегущий огонь (RUNNING_FIRE) похож не на бегущий а на медленно шагающий.
+
avatar
0
Внучку заберут и сделаю сегодня
+
avatar
0
Обновил, пробуем
+
avatar
0
Скорость изменения эффектов заработала. Спасибо!
+
avatar
0
Четвертый ПЛЮС является основным и обновляемым на текущее время. Для тех кому плюс не нужен параметр
RUNNING_FIRE  1           // Включить эффекты бегущего огня
ставим равным 0
+
avatar
0
Все работает, не зависает. Нано, 300 диодов. Единственное режим огня — просто мерцания. А так всё отлично, если не говорить, что это огонь, то и никто не узнает)))) Автору уважение.
+
avatar
0
ну на елке эффект огня смотрится особенно из далека
+
avatar
0
У меня и так на ёлке))))
+
avatar
0
Странно. Сегодня запустил, никаких не заметил багов. Все отработало отлично, даже огонь.
+
avatar
0
  • irbis66
  • 13 января 2020, 03:26
И у меня странно. Залил обновление от 11 числа, вся лента светится фоном, работает блеск. И всё, больше ничего не происходит:

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 230 LEDs
Mode: 255
1002
Change palette off
DEMO MODE 1
---SETUP COMPLETE---
Start SetMode
Start SetMode
Start SetMode и т.д.

Настройки те же, что я приводил 10 января 2020, 01:14. Заработал только когда уменьшил KOL_LED до 100 (можно 200 или 300, но не, к примеру, 230, 96 или 158). Теперь можно с пульта изменить ленту до любых размеров, будет работать до выключения питания. При этом CHANGE_TIME применяется только к каждым 100 светодиодам. Т.е. за 7 (ну или сколько там себе сделал) секунд идет смена эффекта для первых 100, за следующих 7 сек. для следующих. и т.д. Теперь не имеет значения какова длина гирлянды. Если она не кратна 100, то все равно после включения будет фон с блеском.

И попутно вопрос с записью KOL_LED в ЕЕПРОМ при прошивке. Почему длину гирлянды можно изменить только с пульта?
+
avatar
0
Нашел ошибку, исправил. Обновляйте
Длину гирлянды можно менять если есть пульт то командами IR_Key_Length_Garland_plus и IR_Key_Length_Garland_minus
иначе за длину отвечает
#define KOL_LED       230         // Сколько светодиодов в гирлянде при первом включении
Кнопки исключены связи с тем, что кнопок мало.
+
avatar
0
  • irbis66
  • 13 января 2020, 18:35
Обновлю, спасибо.
Кнопки я как раз нужные дорисовал, но я не это хотел узнать. Почему когда загружаю скетч, в котором прописано, пусть будет, #define KOL_LED 230, а до этого я с пульта настроил длину 99 светодиодов, то эти же 99 и остаются? Т.е. будет

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 99 LEDs

а не

Initial strand length: 230 LEDs
+
avatar
0
данные хранятся в еепром, оттуда и берутся, если не устраивает, то можно поменять в строке 375
#if IR_ON == 1
единичку на 2
+
avatar
0
  • irbis66
  • 13 января 2020, 19:03
Я понимаю. Но данные в ЕЕПРОМ не меняются при загрузке скетча. Если там было 99, то даже если указываешь длину 230, то все равно остается 99.
+
avatar
0
Просто данные при рабочем пульте с единицей приоритетные в еепром.
С цифрой 2 и 0 эта длина при инициации будет уже приоритетна.
+
avatar
0
  • irbis66
  • 13 января 2020, 19:53
Т.е. данные в ЕЕПРОМ при включенном пульте меняются только с пульта? При загрузке скетча с #define IR_ON 1 ячейка, где хранится длина, не перезаписывается?
+
avatar
0
Точно так, в еепром количество светодиодов записывается только если включен пульт
+
avatar
0
Не понял вопроса. Отвечу максимально подробно.
Если строка 375 не менялась (#if IR_ON == 1)
Логика такая: Если включен пульт, то длинна берется из еепром
если пульт не включен то длинна берется из переменной KOL_LED

Если поменяли в строке 375 один на 2, то длинна берется из переменной KOL_LED

Если поменяли в строке 375 один на 0, то Если включен пульт, то длинна берется из переменной KOL_LED,
если пульт не включен то длинна берется из еепром
+
avatar
0
  • irbis66
  • 13 января 2020, 22:14
Теперь все понял.
+
avatar
0
Сегодня баг с мерцанием словил опять.
drive.google.com/file/d/1qtCalhcOkO7aj11fMmWKFhY6fzMwftrr/view?usp=drivesdk
+
avatar
0
теперь понял что за мерцание при эффекте огня.
Я рассчитывал, что гирлянда должна на елке быть не меньше 10 витков, тогда хоть видно что огонь.
Спрятано тут
+
avatar
0
А я-то думал что это какой-то глюк прошивки (давно не обновлялся), а это огонь она у меня вверх ногами ещё висела, не поймёшь
+
avatar
0
Похоже дело ещё в том, что эффект огня не всегда включается или сглючивает и пропускается, потому, что повторно может и не повториться такое мерцание или с самого начала не включается эффект огня.
+
avatar
0
  • Berebes
  • 14 января 2020, 20:03
Спасибо за такую красоту. запастись светодиодами не успел. Поэтому сделал короткую версию на велосипед.
При установке настройки «Включить плавную смену эффектов» в 0. Выдаёт ошибку. Версия 4. Но возможно пофиксили, качал до НГ.





PS (подскажите как прятать под спойлер? вроде выбираю его, но когда сообщение опубликовано, спойлер не открывается).
+
avatar
0
Уже исправлено
+
avatar
0
  • Berebes
  • 16 января 2020, 15:56
Скачал 4+. Настройки не меняю, делаю компиляцию. Всё ОК.
Дополнительная информация

Выключаю «Включить плавную смену эффектов» выстави 0.
Дополнительная информация

Ошибка
Дополнительная информация
+
avatar
0
Исправил обновляем
+
avatar
0
  • Berebes
  • 20 января 2020, 08:31
Добрый день. Можете подсказать в версии 4+ есть что-то похожее на пинание повербанка? Версию 4 использовал на Ардуино УНО, подключал к повербанку, катался на велике час, ничего не отключалось. Записал версию 4+ на ардуино нано. подключаю к тому же повербанку, 5-10 минут и гирлянда не горит.
+
avatar
0
Странно, нету ничего подобного. Потребление не должно меняться.
значит в этой версии светодиоды светят чаще на полную мощность.
Я могу следить косвенно по нагреву блока питания. Нагрев не поменялся.
Могу рекомендовать 2 варианта
Либо в строке 98 уменьшить ток до 500 (ну или 1000)
#define POWER_I       5000        // Ток блока питания в милиАмперах
Либо уменьшить яркость в стоке 218 поставить 150
uint8_t max_bright = 255;                                     // Overall brightness definition. It can be changed on the fly.
+
avatar
0
  • Berebes
  • 20 января 2020, 16:37
Скорее всего Вы не правильно поняли. У повербанка есть видимо какая-то функция, как-только потребление становится маленьким, он выключается. Вот видимо в каких-то режимах гирлянда потребляет мало и повербанк отключается (гирлянда перестает светить). АлексГайвер добавлял что-то в прошивку, чтобы арудинка каким-то образом дёргала (возможно повышала потребелние) повербанк и тот не выключался.
+
avatar
0
Тогда можно добавить фоновой подсветки в файле addings.h
в строках с 42 по 46 поменять 5 на 10 или 20
for (i = 0; i < NUM_LEDS ; i++ ) 
    if (  (leds[i].r < 5) &&
          (leds[i].g < 5) &&
          (leds[i].b < 5) )
    leds[i].b +=CRGB(5,5,5);
либо просто между плюсом и минусом поставить сопротивление 100-200 ом (только оно будет греться)
+
avatar
+1
Может кому надо, скетч на базе 2 варианта под нану ATMega168
yadi.sk/d/vfXTlhrgXgpZfQ
+
avatar
0
спасибо
+
avatar
0
  • Zlong
  • 28 декабря 2021, 07:34
В версии для ATMega168 есть ошибка с мерцанием:

#define GLITER_ON 1

#ifdef GLITER_ON

Разумеется
#define GLITER_ON 0
в таком варианте мерцание не отключает.

У себя поправил.
На Гитхабе не обитаете?
+
avatar
0
спасибо
Пока не обитаю
+
avatar
0
как создать ефект на адресных светодиодах как в колонки JBL PartyBox 300
+
avatar
0
Изучить библиотеку FastLed, либо использовать готовое тут
+
avatar
0
А можно уменьшить количество цветов, применяемых в еффектах? Иногда хочется спокойного свечения без частой смены цветов.
+
avatar
0
Это управляется параметром
#define PALETTE_TIME  30          // Через сколько секунд менять палитру если 0 - не меняем
либо ноль либо число побольше
Также часть эффектов не использует палитру, исключите их в выбранных эффектах
+
avatar
0
Подскажите пожалуйста как сделать чтобы при включении загоралось только одним цветом, например белым и не переключались эффекты пока пультом не включишь. Хочу сделать подсветку на кухне, но с возможностью иногда порадовать глаз эффектами.
+
avatar
0
Я проект для елки делал, а теперь после велосипеда уже на кухню ставят… ;-)
1 установить режим 0
#define DEMO_MODE     0           // Режим при включении 
                                  // 0 - последняя запущенная программа
                                  // 1 - демо режим с последовательным перебором эффектов
                                  // 2 - демо режим с случайным перебором эффектов
                                  // 3 - демо режим с последовательным перебором выбранных эффектов
                                  // 4 - демо режим с случайным перебором выбранных эффектов

2 установить нужный цвет строка 427 (для примера цвет белый)
solid = CRGB::White;                 //Запуск с пустого поля

3 отключить плавную смену эффектов
#define CHANGE_ON     0           // Включить плавную смену эффектов
(если последний пункт хочется оставить тогда в 430 строке менять
StepMode = 1;
на строку
StepMode = NUM_LEDS;
+
avatar
0
Я делаю так: после запуска выбираю цвет кнопкой с пульта (в файле commands.h где-то в конце) И грилянда ждёт следующей комманды продолжая светить выбранным цветом — например жёлтым… Хотя вариант от автора однозначно лучше. Спасибо ему за труды
+
avatar
0
Переписал файл commands.h записа в него команды своего пульта. У меня получились такого вида 1FE0CF3. Пульт маленький, кнопок не хватало, поэтому некоторые строки задокументировал нулём. При компиляции выдаёт ошибку
In file included from D:\RestoreWindows\Dropbox\Public\Ардуїно\Скетчі\notamesh4\notamesh4.ino:321:0:
getirl.h:33:13: error: user-defined literal in preprocessor expression
         #if IR_Key_Brightness_plus
             ^~~~~~~~~~~~~~~~~~~~~~
getirl.h:43:13: error: user-defined literal in preprocessor expression
         #if IR_Key_Brightness_minus
             ^~~~~~~~~~~~~~~~~~~~~~~
getirl.h:53:13: error: user-defined literal in preprocessor expression
         #if IR_Key_Reset
             ^~~~~~~~~~~~
getirl.h:134:13: error: user-defined literal in preprocessor expression
         #if IR_Key_Rotate
             ^~~~~~~~~~~~~
getirl.h:145:13: error: user-defined literal in preprocessor expression
         #if IR_Key_Speed_minus

             ^~~~~~~~~~~~~~~~~~
getirl.h:154:13: error: user-defined literal in preprocessor expression
         #if IR_Key_Speed_plus
             ^~~~~~~~~~~~~~~~~
getirl.h:163:13: error: user-defined literal in preprocessor expression
         #if IR_Key_Glitter
             ^~~~~~~~~~~~~~
getirl.h:185:15: error: user-defined literal in preprocessor expression
           #if IR_Key_Candle
               ^~~~~~~~~~~~~
getirl.h:199:13: error: user-defined literal in preprocessor expression
         #if IR_Key_Previous_mode
             ^~~~~~~~~~~~~~~~~~~~
getirl.h:211:13: error: user-defined literal in preprocessor expression
         #if IR_Key_Next_mode
             ^~~~~~~~~~~~~~~~
getirl.h:356:13: error: user-defined literal in preprocessor expression
         #if IR_Key_SetMode_0
             ^~~~~~~~~~~~~~~~
getirl.h:368:13: error: user-defined literal in preprocessor expression
         #if IR_Key_SetMode_1
             ^~~~~~~~~~~~~~~~
getirl.h:380:13: error: user-defined literal in preprocessor expression
         #if IR_Key_SetMode_2
             ^~~~~~~~~~~~~~~~
getirl.h:392:13: error: user-defined literal in preprocessor expression
         #if IR_Key_SetMode_3
Декілька бібліотек було знайдено для «FastLED.h»
 Використано: C:\Users\Home\Documents\Arduino\libraries\FastLED-3.2.6
             ^~~~~~~~~~~~~~~~
Декілька бібліотек було знайдено для «EEPROM.h»
getirl.h:404:13: error: user-defined literal in preprocessor expression
 Використано: C:\Users\Home\Downloads\arduino-1.8.10-windows\arduino-1.8.10\hardware\arduino\avr\libraries\EEPROM
         #if IR_Key_SetMode_4
Декілька бібліотек було знайдено для «IRremoteInt.h»
             ^~~~~~~~~~~~~~~~
 Використано: C:\Users\Home\Documents\Arduino\libraries\IRremote
getirl.h:416:13: error: user-defined literal in preprocessor expression
         #if IR_Key_SetMode_5
             ^~~~~~~~~~~~~~~~
getirl.h:428:13: error: user-defined literal in preprocessor expression
         #if IR_Key_SetMode_6
             ^~~~~~~~~~~~~~~~
getirl.h:440:13: error: user-defined literal in preprocessor expression
         #if IR_Key_SetMode_7
             ^~~~~~~~~~~~~~~~
getirl.h:452:13: error: user-defined literal in preprocessor expression
         #if IR_Key_SetMode_8
             ^~~~~~~~~~~~~~~~
getirl.h:464:13: error: user-defined literal in preprocessor expression
         #if IR_Key_SetMode_9
             ^~~~~~~~~~~~~~~~
getirl.h:726:12: error: user-defined literal in preprocessor expression
        #if IR_Key_Palette_Stop
            ^~~~~~~~~~~~~~~~~~~
getirl.h:735:12: error: user-defined literal in preprocessor expression
        #if IR_Key_Palette_Previous
            ^~~~~~~~~~~~~~~~~~~~~~~
getirl.h:749:12: error: user-defined literal in preprocessor expression
        #if IR_Key_Palette_Next
            ^~~~~~~~~~~~~~~~~~~
getirl.h:763:12: error: user-defined literal in preprocessor expression
        #if IR_Key_Palette_Auto
            ^~~~~~~~~~~~~~~~~~~
getirl.h:772:12: error: user-defined literal in preprocessor expression
        #if IR_Key_Solid_Black
            ^~~~~~~~~~~~~~~~~~
getirl.h:782:12: error: user-defined literal in preprocessor expression
        #if IR_Key_Solid_Red
            ^~~~~~~~~~~~~~~~
getirl.h:802:12: error: user-defined literal in preprocessor expression
        #if IR_Key_Solid_Yellow
            ^~~~~~~~~~~~~~~~~~~
getirl.h:812:12: error: user-defined literal in preprocessor expression
        #if IR_Key_Solid_Green
            ^~~~~~~~~~~~~~~~~~
getirl.h:832:12: error: user-defined literal in preprocessor expression
        #if IR_Key_Solid_Blue
            ^~~~~~~~~~~~~~~~~
exit status 1
user-defined literal in preprocessor expression

Не подскажете что сделал не так. Сам не могу разобраться.Скетч 4 -ой версии
+
avatar
+1
чтото забыли поставить. например 1FE0CF3 должно быть 0x1FE0CF3
Без фрагмента вашего commands.h могу только предполагать
+
avatar
0
Спасибо! Я обратил внимание но не придал значения. Всё заработало. Спасибо. Теперь гирлянда намного послушнее :-)
+
avatar
0
  • neomagic
  • 06 февраля 2020, 16:22
Добрый день, Дмитрий. Попробовал notamesh4 plus. Обратил внимание, что через какое то время стоит один и тот же режим (который включается изначально). Происходит смена режима (эффект бенгальского огня), но следующий режим тот же самый. Другими словами, эффект смены режима есть, но режим не меняется. У меня Arduino Mega 2560.

notamesh4 работает нормально.
+
avatar
0
Спасибо, взял под контроль, найду исправлю
+
avatar
0
  • neomagic
  • 06 февраля 2020, 22:38
Спасибо, буду ждать.
+
avatar
0
и у меня тоже самое, Arduino Pro mini
+
avatar
0
  • dima77
  • 06 февраля 2020, 16:53
Не могу скомпилировать ваш скетч под Wemos D1 (ESP8266). Ошибка:
\IRremote.cpp:28:27: fatal error: avr/interrupt.h: No such file or directory
 #include <avr/interrupt.h>

Судя по всему Arduino-IRremote под ESP работать не будет. Попытка подменить
#include "IRremote.h" на
#include "IRremoteESP8266.h"
приводит к множественным ошибкам, типа:
'IRrecv' does not name a type
'decode_results' does not name a type
'results' was not declared in this scope

Помогите допилить ваш скетч под ESP или ткните носом, если уже обсуждалось.
Это мой первый опыт с дуинами. Сорри, если туплю.
+
avatar
0
Ну что могу сказать, ESP как и STM32 это уже другая платформа.
Т.к. я на этот проект выделяю только крупицы свободного времени. мне хотелось их применить в рост в высоту (доделать 5 версию скетча), а на рост в шир (переход на другие платформы) на STM32L1 переведен, на остальные планируется, но вот когда это произойдет, это вопрос вопросов.

PS: и мое мнение, пока это AVR (8 битный контроллер) это проект — хобби (без коммерческой составляющей, хотя уже находятся люди которые получают прибыль с него), при переносе на 32 битную платформу начнутся копии копий…
+
avatar
0
  • dima77
  • 07 февраля 2020, 08:58
рост в высоту (доделать 5 версию скетча)
Уже сейчас кол-во эффектов зашкаливает, а юзабилити немного хромает. Согласитесь, вспомнить через год, что тебе нравились 49, 5 и 62 эффект, и домотать до них пультом… то ещё удовольствие.

Идеальным было бы управление/настройка через браузер (или даже) через смартфон. Обновление по воздуху (OTA), также много удобнее, плясок с ноутом под елкой. Не хватает, имхо, функции будильника (нехай сама утром и вечером включается и перед сном выключается).

Все это и многое другое реализовать на уно/нано практически невозможно. Да и смысл за них держаться, если тот же esp, при тех же размерах и схожей цене предлагает куда больше возможностей. Да и просто развязать себе руки, перестав выкраивать каждый байт из 30кб — уже повод сменить платформу.

Все вышесказанное сугубо моё имхо и хотелки. Вам же респект за труд и поддержку. С уважением!
+
avatar
+1
для установки 62 эффекта на пульте на жать кнопки 6 и 2, для 49 нажать 4 и 9
лишние эффекты убрать и очередность можно установить «выбранные эффекты»
В 5 скетче можно будет удалять эффекты их прошивки

Управление да возможно удобнее, но это в планах,(уже куплено и лежат на попробовать ESP-12e и ESP32 и ждут своего времени)

Но есть люди у которых нана на 168 меге, и просят… и заррработал скетч
+
avatar
0
  • dima77
  • 08 февраля 2020, 08:06
Переделал ваш счетч под ESP:
В notamesh4plus.ino
//#include "IRremote.h"
#include "IRremoteESP8266.h"
#include "IRrecv.h" 

//while (!irrecv.isIdle());

В getirl.h
//asm volatile("jmp 0");
  ESP.reset();

для ESP8266
У кого есть сабж на руках — проверьте/покритикуйте. У меня платы нет. Опыта тоже:)
+
avatar
0
здесь до октября никого нету :(
+
avatar
0
  • Vist
  • 10 февраля 2020, 21:24
«здесь до октября никого нету :(»
Ну не все так печально. Я поглядываю иногда и коплю железки и светики ;)

«У кого есть сабж на руках»
Было пару штук, но использовал.
Сегодня по случаю попалась в магазине, как чувствовал взял.
Только мне пульт и на… не нужен. Интересней чарез ВайВай. И надо гирлянды подлатать — китаец коцанные прислал.
На днях попробую выделить время :)
+
avatar
0
  • usb500
  • 19 февраля 2020, 17:35
А я спокойно прошил Wemos D1, правда, я не использую пульт. Эффекты спокойно переключаются случайно и у меня нет желания что то переключать.
+
avatar
0
  • 2667bmv
  • 09 февраля 2020, 11:22
3, или 4 версии прошивки. Постоянно слетает прошивка (нужно перепрошивать через день — два). В Чем дело? может питание не нравится???
+
avatar
0
  • porogn
  • 14 апреля 2020, 19:12
здравствуйте. Вопрос по очередности цветов RGB или GRB. Если ставлю первый (у меня гирлянда которая на тоненьких проволочках чипы ) то практически нет красно-сиреневых цветов в эффектах. Преобладание сине-зеленых. Только при бегающей радуге есть все цвета. Если ставлю второй, то практически не вижу зеленый. Но чаще красный, желтый, сиреневые, синий. Какой в итоге правильный?
+
avatar
+1
  • alext11
  • 14 апреля 2020, 22:07
Включи красный красный цвет с пульта и посмотри каким цветом будет светиться гирлянда, если красным то RGB, если зеленым то GRB.
+
avatar
0
  • porogn
  • 15 апреля 2020, 07:41
Забыл уточнить, делал без пульта, в демо режиме )
Получается, без пульта ни как.
+
avatar
+1
для включения при старте красного цвета надо в строке 427 поменять
solid = CRGB::Black;                 //Запуск с пустого поля
на
solid = CRGB::Red;                 //Запуск с пустого поля
+
avatar
0
Приветствую Вас друзья!
Просьба откликнуться тем кто делал с кнопками.Не совсем понимаю, вернее совсем не понимаю:) В скетче описываются 10 кнопок
(четвертый плюс) на схеме выше 5 или 6 кнопок. Хотелось бы уточнить схему на 10 кнопок и описание что переключает каждая кнопка
+
avatar
+1
Доброго здоровья
схема кнопок без пульта (мы про это говорим?)
Кнопок можно ставить много ограничено только разрешением АЦП теоретические 20 шт не проблема, по аналогии делаем по нижней схеме, сопротивления можно уменьшать.
настройка такая:
Включаем лог ( если нехватка памяти, уменьшить кол-во светодиодов)
и по логу смотреть какой код приходит по нажатию каждой клавиши и записать их в скетч, главное чтобы код был уникальным.
Код
#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_8, KEY_9, KEY_10, KEY_11…

далее открываем файл commands.h
и в нем прописываем команды назначаемые на ваши кнопки следующим образом (для примера)
было:
#define IR_Key_Brightness_plus              0xff4ab5  // N/P                    // Увеличить максимальную яркость 
#define IR_Key_Brightness_minus             0xff6a95  // Repeat                 // Уменьшить максимальную яркость
как надо сделать:
#define IR_Key_Brightness_plus              KEY_0  // N/P                    // Увеличить максимальную яркость 
#define IR_Key_Brightness_minus             KEY_1  // Repeat                 // Уменьшить максимальную яркость 
то есть меняем коды вида 0xff6a95 на коды вида KEY_Х не используемые коды можно оставить как есть либо заменить на 0
например так
#define IR_Key_SetMode_X0                   0                                   // Набор номера выбор эффекта единицы кнопка 0
+
avatar
0
  • EugeneKl
  • 02 августа 2020, 08:55
Доброго времени суток!
Собрал гирлянду — почти все работает.Огромное спасибо за эту красоту!
Вот только хотелось-бы управлять этой красотой.
Не получается подключить пульт. При работе с библиотеками IRremote на мониторе ероглифы не понять ничего.
Использовал IRtest_2.0 и другой скеч найденый в интернете — каждый выдает свой код.
Результат один — дирлянда не управляется.
Использую Ваш скеч 4+
Что изменено — кол-во светодиодов 200, коды кнопок от своего пульта и все
При включении гирлянда запускается в демо режиме на пульт нет реакции
что интересно — Ваш скеч 4+ без изменений при запуске — демо режим
А должен с черного экрана
Может что-то в настройках нужно еще поменять кроме своих кнопок и кол-во светодиодов?
Мои кнопки 8-ми значные пульт LG и другой
Буду очень признателен
Гирлянда получилась метров 10 для теста намотал на прозрачной бутыле из под воды (15л.)
В демо режиме внуки и я в востоге. Внуки уже представляют какя у них будет класная ёлка
Еще-бы управлять этой красотой
Заранее спасибо!
+
avatar
0
Моим внукам тоже нравится.
Начнем по порядку
1) проверить удалена библиотека RobotIRremote (смотреть в меню Arduino / libraries / RobotIRremote) если нет, удаляем
2) проверяем работу пульта: загружаем пример из библиотеки IRremote с названием IRrecvDemo и смотрим в мониторе коды клавиш, главное чтобы они повторялись, если выводится не понятное, то проверяйте подключение датчика, если он в железном корпусе то необходимо на корпус посадить минус. У кого то был просто не исправный датчик, или не на ту частоту был рассчитан и отличался от частоты несущей пульта
Как вариант пробуйте пультом от телевизора потыкать для проверки датчика.
+
avatar
0
  • EugeneKl
  • 03 августа 2020, 07:30
Доброго времени суток!
С IRrecvDemo разобрался все работает чётко коды печатаются ясно
только они у меня 8-ми значные и от телека тоже
У меня почему-то не включается на пульт
По описанию при включении должен дыть черный экран то-биш ничего не светится а пультом уже включаеш чего хочется
А у меня при включении сразу демо идет и на тульп нет реакции хтя коды пульта установленыи и в настройках
пульт установлен. Получается так, что программа не включается для работы с пульта по каким-то причинам
Значит в настройках еще что-то надо установить
Что я делаю — меняю кол-во светодиодов (своё 200) и коды своего пульпа и все
может нужно что-то ещё?
Спасибо!
+
avatar
0
Доброго здоровья
Отлично, пол дела сделано.
Теперь надо запомнить коды с пульта (пусть будут восмизначные)
Запускаем еще раз IRrecvDemo, нажимаем желаемую кнопку пульта и запоминаем код,
Так делаем со всеми кнопками пульта, которые будут использоваться в программе
Теперь открываем файл 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                     // Следующий эффект. Отключает демонстрационный режим
по аналогии делаем и с остальными кодами
Не используемые команды в этом файле можно оставить как есть, либо восмизначные числа заменить нулем
+
avatar
0
Ну и напоследок проверяем настройки программы должно быть так
Тут код программы
//////////////////////////////////////// Параметры пульта
////
//Настройка действия кнопке осуществляется в файле 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
Максимальное количество светодиодов выставляете какое вам надо
Все, должно работать
+
avatar
0
  • EugeneKl
  • 03 августа 2020, 11:20
Дорогой друг!
Все что Вы написали выше — все проделано в точности
только имя пульта не проверял по IRrecvDump но на самом пульте написано что он LG
и в настройках установлено LG стоит 1
Сам не пойму почему " лыжи не едут "
Первоначально ардуинка была прошита на DEMO
#define IR_ON 1 // Если равен 1 используется пульт (был установлен 0 после установки кода вернул на 1)
для теста потом нашел пульт перепрошил ардуинку
для получения кода. Запомнил код в подменю commands.h. вставил свой код снова прошил — при запуске DEMO
Вы мне скажите когда у Вас если работает с пульта при запуске (подачи питания) черный экран (ничего не светит)?
или запускается с эффекта?
Будет понятней где копать
В программе все установлено по Вашей копии только кол-во светодиодов моё — 200
Спасибо!
+
avatar
0
Мой друг, надо проверить все таки тип пульта, опять же берется из IRrecvDemo, не факт что пульт имеет протокол LG
Я скопировал код настройки сюда:
Тут код программы
//////////////////////////////////////// Параметры программы
////
#define BLACKSTART    1           // Первый запуск делать с черного экрана 0- начинать с эффекта, 1- начинать с черного экрана

#define GLITER_ON     1           // Включить блеск 0 - блеск отключен, 1- блеск включен

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

#define CANDLE_40     1           // Управление 40 эффектом (свечи)   1 = при запуске она будет включена по варианту efimova1969
                                  //                                  иначе при запуске она будет включена по моему варианту 

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

#define DEMO_MODE     1           // Режим при включении 
                                  // 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     60           // Время отображение эффекта в демо режиме в секундах

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

#define DIRECT_TIME   20          // Через сколько секунд менять направление если 0 - не меняем
#define PALETTE_TIME  30          // Через сколько секунд менять палитру если 0 - не меняем
                                                                    
#define DEV_NOISE16 100           // если Зависает на 22 и 37 режимах, то уменьшаем число

#define RUNNING_FIRE  0           // Включить эффекты бегущего огня
BLACKSTART задает запуск с черного экрана, если установить 0 то будет сразу первый эффект
DEMO_MODE задает режим при включении 1 включает перебор эффектов, если стоит 0 то запустится последний эффект, который запомнен с пульта и переключение автоматически не будет
+
avatar
0
  • EugeneKl
  • 03 августа 2020, 13:36
Благодарен за оперативность
В том — то и дело стоит 1 в строке
#define BLACKSTART 1 // Первый запуск делать с черного экрана 0- начинать с эффекта, 1- начинать с черного экрана
а запускается с эффекта и далее DEMO причем при каждом включении запускается с одного и того-же эффекта на пульт не реагирует
Попробую снести arduino-1.8.13-windows и установить заново и перепрошиться заново
+
avatar
0
  • EugeneKl
  • 03 августа 2020, 18:46
переустановка arduino-1.8.13-windows ничего не дала.
Может дело в библиотеках IRremote
На момент написания скетча какую версию IRremote Вы применили — IRremote-2.2.3.zip
IRremote-2.0.1.zip
IRremote-1.0.0.zip
Потому что при переустановке arduino-1.8.13 и установке библиотеки IRremote-2.5.0 (последняя)
и при компиляции выскочила ошибка на IRremote поко я не добавил версии 2.2.3 и 2.0.1.
+
avatar
0
такая Version 2.0.1 June, 2015 https://yadi.sk/d/Mu0GvxoaVXLJnw
Я скачал свежую 2.6.0, постараюсь переделать а пока ставьте ту что скинул
+
avatar
0
  • EugeneKl
  • 03 августа 2020, 21:16
dmitrybik добрый вечер!
Огромное спасибо что тратите на меня своё время
Установил Вашу библиотеку ничего не изменилось
Прошил Ваш скеч 4+ без каких либо изменений при включении DEMO режим
Такое мнение что программа не подключает пульт и вообще не слушается
В настройках указано начинать с черного экрана а она включает DEMO и не включает пульт
прошил другую ардуинку — результат тот же DEMO
+
avatar
0
С новой версией IRremote я чувствую замучаюсь ее исправлять
Сделайте так, у далите файл IRremote.h и будет вам счастье, минус этого всего вырастет размер прошивки
После этого должна работать любая версия IRremote
+
avatar
0
  • EugeneKl
  • 04 августа 2020, 10:25
Похоже счастья мне не видать да и Вам не даю покоя
Я не программист. Если я удалю IRremote.h из скеч 4+ то выскочит ошибка и ничего не прошьётся
или IRremote.h надо удалять в другом месте.
Я думаю копать надо здесь — почему не включается на черный экран а потом IRremote.h
И еще может это влияет при прошивке ругается на FAST LED в программе версия 3.3.3 ( последняя)
а в скетче более ранняя
+
avatar
0
Похоже IRremote установилась не корректно. Вот FastLED который использовался при программировании
+
avatar
0
  • EugeneKl
  • 05 августа 2020, 19:48
Доброго времени суток!
После прошивки ( скеч 4+) и включении монитора и установки скорости 57600
монитор высвечивает код кнопки и её действие — значит программа пульт видит
А когда подключиш гирлянду и блок питания — включается демо и нет реакции на пульт
Блок питания 5в-3а при работе гирлянды 5 вольт не просаживается
+
avatar
0
  • EugeneKl
  • 05 августа 2020, 20:23
Друзья мои ещё раз приветствую Вас!
dmitrybik от всей души благодарен за вашу помощь и оперативность
Тысяча извинений за отобранное Ваше время, респект и уважение за программу
ТЕМА СНЯТА
Пульт работает и работал сразу. Только на кнопку нужно нажимать от 10 до раз так 25 — 30
Все включается и переключается! Я доволен.
Спасибо Вам за красоту такую! Творческих успехов и здоровья!
Будем рады новым Вашим деяниям!
+
avatar
0
  • Belwest
  • 16 сентября 2020, 18:50
Доброго времени суток! Дмитрий, спасибо за проделанную работу. Собрал гирлянду на 100 диодов, залил скетч 4+. Заработала сразу. Во время тестирования выявилась одна проблема. Если выставить KOL_LED=100 или менее, то палитры не меняются. Если выставить KOL_LED=101 или более, то палитры меняются. Пробовал на двух платах Arduino UNO и NANO, результат одинаковый.В чем может быть проблема?
Дополнительная информация
18:16:10.018 -> ---SETTING UP---
18:16:11.020 -> Initial delay: 0ms delay.
18:16:11.020 -> Initial strand length: 100 LEDs
18:16:11.067 -> Mode: 255
18:16:11.067 -> 1001
18:16:11.067 -> Change palette off
18:16:11.067 -> DEMO MODE 1
18:16:11.067 -> ---SETUP COMPLETE---
18:16:13.568 -> End SetMode
18:17:09.287 -> Start SetMode
18:17:11.753 -> End SetMode
18:18:08.441 -> Start SetMode
18:18:10.976 -> End SetMode
18:19:07.873 -> Start SetMode
18:19:10.449 -> End SetMode
18:20:07.257 -> Start SetMode
18:20:09.876 -> End SetMode
18:21:06.730 -> Start SetMode
18:21:09.292 -> End SetMode
Дополнительная информация
18:22:17.057 -> ---SETTING UP---
18:22:18.061 -> Initial delay: 0ms delay.
18:22:18.061 -> Initial strand length: 101 LEDs
18:22:18.094 -> Mode: 255
18:22:18.094 -> 1001
18:22:18.094 -> Change palette off
18:22:18.094 -> DEMO MODE 1
18:22:18.094 -> ---SETUP COMPLETE---
18:22:18.529 -> Mode: 0
18:22:18.529 -> 1467
18:22:18.529 -> Change palette off
18:22:23.075 -> End SetMode
18:23:16.172 -> Start SetMode
18:23:16.571 -> Mode: 1
18:23:16.571 -> 60409
18:23:16.571 -> Change palette off
18:23:21.147 -> End SetMode
18:24:15.315 -> Start SetMode
18:24:15.716 -> Mode: 2
18:24:15.716 -> 120411
18:24:15.716 -> Change palette ON
18:24:20.394 -> End SetMode
18:24:35.103 -> New Palette: 18
18:24:54.884 -> New Palette: 19
18:25:14.713 -> Start SetMode
18:25:14.713 -> New Palette: 23
18:25:15.115 -> Mode: 3
18:25:15.115 -> 180426
18:25:15.115 -> Change palette ON
18:25:19.830 -> End SetMode
18:25:34.447 -> New Palette: 24
18:25:54.229 -> New Palette: 25
18:26:14.006 -> Start SetMode
18:26:14.006 -> New Palette: 12
18:26:14.407 -> Mode: 4
18:26:14.407 -> 240422
18:26:14.407 -> Change palette ON
18:26:19.102 -> End SetMode
Дополнительная информация
#define KOL_LED 101 // Сколько светодиодов в гирлянде при первом включении

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

#define IR_ON 0 // Если равен 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 0 // пульт 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 0 //Включить повтор, при долгом нажании на кнопку пульта будет повтор клавиши

//////////////////////////////////////// Параметры кнопок
////
//Настройка действия кнопке осуществляется в файле 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 GRB //Очередность цвета светодиодов RGB или GRB
#define CHIPSET WS2812B //Тип микросхемы светодиодов в гирлянде

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

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

//////////////////////////////////////// Параметры программы
////
#define BLACKSTART 1 // Первый запуск делать с черного экрана 0- начинать с эффекта, 1- начинать с черного экрана

#define GLITER_ON 1 // Включить блеск 0 — блеск отключен, 1- блеск включен

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

#define CANDLE_40 1 // Управление 40 эффектом (свечи) 1 = при запуске она будет включена по варианту efimova1969
// иначе при запуске она будет включена по моему варианту

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

#define DEMO_MODE 1 // Режим при включении
// 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 60 // Время отображение эффекта в демо режиме в секундах

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

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

#define DEV_NOISE16 100 // если Зависает на 22 и 37 режимах, то уменьшаем число

#define RUNNING_FIRE 1 // Включить эффекты бегущего огня

#define LOG_ON 1 // Включить лог 1 — включить лог
+
avatar
0
Подправил, должно работать, проверяем
+
avatar
0
  • Belwest
  • 21 сентября 2020, 08:01
Дмитрий доброго времени суток! Как скачать 4+ скетч. Ссылка не рабочая.
+
avatar
0
  • EugeneKl
  • 20 сентября 2020, 23:51
Дмитрий доброго времени суток!
Осмелюсь спросить о пятой версии скетча.
Мы увидим его в этом году? Очень ждем.
Удачи и здоровья!
+
avatar
+1
Доброго здоровья!
Пятая версия в корне отличается от прошлых версий, тут будет переход от одномерного массива на двухмерный (на 2D), то есть все эффекты будут другие,
За основу должна быть положена концепция, что если елку намотать гирляндой, то получится конус, и можно исходя из количества светодиодов в низу и количества оборотов вычислить примерное расположение каждого светодиода в виде развертки. конуса.
Много математики, мало свободного времени.
Не каждый захочет гирлянду на елку накручивать по конусу, есть и другие варианты.
На данный момент идет разработка коммерческой версии 2D елки, на ней отработаю эффекты и можно будет говорить о выходе 5 версии для всех,
Както так.
+
avatar
0
  • Berebes
  • 22 сентября 2020, 21:57
Дмитрий именно из-за Вас купил белую ель высотой 2,1м (вроде бы, за пол года уже забыл точный размер), которая занимает дофига места в моей комнате))) и сейчас едет 250 светодиодов и блок питания 5в 20а.))) Плюс на окне гирлянда (но её нужно перепаять, чтобы была сетка 16х16 (кстати, ваш скетч очень не дурно смотрится на сетке на окне. Не думали адаптировать или разработать на оконную гирлянду?)). Сам бываю дома не часто, делаю ради интереса))) Сообщите о новой версии, очень хочется посмотреть. Думаю скоро надо будет доставать елку и наряжать))) Именно из-за гирлянды придется ставить елку на месяц раньше))
P.S. ваш проект есть ещё где-нибудь для отслеживания новых версий?
+
avatar
0
Ну я не Новый Год, и хотя и уже дед, но не Мороз :)))
У самого дома елка больше двух метров, нижние ветки диаметром 1,5 метра, темно-зеленая, 150 светодиодов было достаточно. Не забудьте через каждые 100 светодиодов подключать питание.
Внучка вместо телевизора залипала на елке.

На работе елку я даже не разбирал, стоит для тестов.
Скетч 4 уже самодостаточный для елки.

Т.к. основная задача прокормить семью, гирляндами занимаюсь в свободное время.

Разработка управления матрицей тоже идет (2D) На данный момент дома на окне стоит сторонняя разработка, видео окна
Проект пока тут, думаю выложить все проекты с гирляндами на своем сайте, ссылку кину сюда как выложу
+
avatar
0
  • Berebes
  • 24 сентября 2020, 19:58
Это сколько же на окне у Вас светодиодов? Какие использовали (можно ссылкой?), что за сторонний проект?
+
avatar
0
Всего 305 светодиодов, матрицы: 22х5 + 22х5 + 17х5 Использовал такие блок питания 5в на 3А, контроллер красный, отсюда там все по инструкции.
Сейчас делаю свой такой же но на другой базе
+
avatar
0
  • Berebes
  • 26 сентября 2020, 21:50
Провод похоже мгтф? Какое сечение и сколько светиков на одной линии по питанию? а то я себе делал на окно, в одном столбике 12 светодиодов. провод использовал ПуГВ 0,5мм2. Больно уже толстый получается. хочу что-то другое, но не знаю какое сечение выбрать и купить. (ПуГВ меньше 0,5мм похоже нету). Будет 16 светиков в столбике, а питание внизу сетки к каждому столбцу.
+
avatar
0
МГТФ-0,14. на каждую матрицу подается питание снизу с начали и конца и распределяется вверх.
Этот провод прозрачный и не мешает смотреть через окно.
Экспериментально проверено, с китайскими проводами питание подключать через каждые 100 светодиодов
Я кстати всегда яркость убавляю, а то ночью «вырви глаз», на соседнем доме отсвечивает
+
avatar
0
  • Berebes
  • 26 сентября 2020, 22:45
то есть в моём случае тоже хватит 0,14мм если у меня столбик из 16 светиков. и к каждому столбцу будет подходить питание снизу? а сверху уже только переходить сигнальный провод (сигнальный провод получится будет идти змейкой).
+
avatar
0
Вы не сказали сколько столбиков, Еще раз, через каждые 100 светодиодов подводить питание, я использую более толстый МГТФ-0,35, внутри между столбиками можно и 0,14, да сигнальный надо змейкой,
если есть возможность я бы сверху питание тоже бы соединил воедино, в линию,
можно туда на верх питание не подводить
+
avatar
0
  • Berebes
  • 26 сентября 2020, 23:32
у меня сейчас сделано, внизу идёт как бы шина из 0,75мм2 на + и 0,75мм2 на -. и дальше в каждом столбике 0,5мм на + и 0,5мм -. столбиков 14шт (хочу сделать 16), в каждом столбике сейчас 12 светиков (хочу 16).
Правильно ли я понимаю, что можно мне упросить, кинуть провод мгтф 0,35 на питание (если найду такой), сделать его змейкой. Но через 6 столбиков (96светиков), подсвети ещё одно питание из того же 0,35мм? и потом ещё через 6 столбов подвести.
А не делать как у меня сейчас, что к каждому столбику своё питание подходит от общей «толстой» шины?
+
avatar
0
для простоты я нарисовал картинку
Низ 0,35, между лентами 0,14
+
avatar
0
  • EugeneKl
  • 21 сентября 2020, 06:53
Дмитрий спасибо за разьяснения!
Платформа по видимому будет другая. Все это изобилие на Nano не влезет.
Я думаю что 90% гирлянду мотают конусом. А это получается главным условием 5 скечча.
Очень интересо. Будем ждать. В этой теме его можно будет найти?
Успехов и здоровья!
4 плюс закрыт для скачивания
+
avatar
0
подправил ссылку https://yadi.sk/d/dL5-cMM_awGAAg
+
avatar
0
Я не очень умный, и только начал разбираться с Ардуино, поэтому долго ломал голову над ошибкой компиляции. Проблема была в том, что двух библиотек IRremoteInt.h и IRremoteBoardDefs.h нет в общей папке, они почему-то спрятаны в подпапке \IRremote\src\private. После того, как перенёс в \src\, вроде бы всё заработало. На всякий случай держу в курсе.
+
avatar
0
  • Ingvar1
  • 06 октября 2020, 11:56
Добрый день, Дмитрий!
Я в Arduino новичок.
Куплено на AliExpress: Модуль NANO на ATMega328, гирлянда WS2812B 4х50=200светодиодов.
По Вашему примеру каждый светодиод закатал в прозрачную термоусадку.
Предистория:
В апреле:
скачал скетч 4+, библиотеки FastLED и Irremote. Установил. Собрал. Скомпилировал, не сразу (так как я новичок), но заработало! Понравилось!
Захотел управлять с пульта. Не проходила проверка Ошибка: отсутствие IRremoteInt. Долго искал, но нашел. Проверил, скомпилировал, пульт заработал, но на одну кнопку пульта на мониторе выскакивало много разных кодов. Выбрал те, которые наиболее часто повторялись. Но гирлянда на пульт или не реагировала, или реагировала с большим опозданием или выдавала не то, что я программировал.
В октябре:
Чтоб заработал пульт, принял решение скачать последнии версии скетч 4+, и библиотеки.
Во время скачивания Ардуино предложил мне обновить и другие библиотеки. Новое должно было быть лучше старого.
Но:
1. Слетели предыдущие библиотеки. (Установил новые и cкетч)
2. В гирлянде появились белые моргающие светодиоды (один и тотже), которые жили своей жизнью и не зависили от эффектов (на всех эффектах не исследовал).
3. Когда ставил 1 на пульт, то при проверке и компеляции появлялась надпись:
4. «Ошибка компиляции для платы Arduino Nano» и «Не используется: C:\Users\Igor\Documents\Arduino\libraries\FastLed-3.2.9» Когда я повторно хотел проверить, то вконце вместо 9 появился 0 FastLed-3.2.0
5. Пульт не видит.
Что посоветуете?
+
avatar
0
  • Ingvar1
  • 06 октября 2020, 12:13
При возврате на апрельский Скетч +4 гирлянда заработала нормально, но работа пульта не восстановилась дальше надпись: «Ошибка компиляции для платы Arduino Nano» и «Не используется: C:\Users\Igor\Documents\Arduino\libraries\FastLed-3.2.9» Когда я повторно хотел проверить, то вконце вместо 9 появился 0 FastLed-3.2.0
Я в ступоре и не знаю, что дальше делать???
+
avatar
+2
Доброго здоровья.
За два года разработчик IRremote внес изменения в свою библиотеку, теперь она стала не совместима
Как временное решение устанавливаем версии библиотек проверенные FastLED и IRremote Будет время постараюсь адаптировать
+
avatar
+4
  • Ingvar1
  • 08 октября 2020, 20:44
Доброго здоровья, Дмитрий!
Спасибо за Ваше внимание к людям!
Спасибо, что дарите радость людям!
Спасибо, что дарите красоту, праздничное настроение на протяжении всего года!
Спасибо что стараетесь помочь всем, кто нуждается в Вашей помощи!
Спасибо за Ваше терпение, независимо от знаний, подготовки, образования Ваших собеседников!
Счастья и здоровья Вам и Вашим близким!
+
avatar
0
  • lauder
  • 09 октября 2020, 10:50
Спасибо Дмитрий, за прекрасный скетч, все отлично работает.

По поводу нерабочих библиотек IRremote, при компиляции не хватает двух файлов
IRremoteInt.h
IRremoteBoardDefs.h

Они перенесены в папку private, в папке с исходниками.
Простое копирование этих файлов в папку с исходниками, достаточно для компиляции и работы, или добавить путь до файлов.
+
avatar
0
Я об этом уже сообщил буквально несколькими комментариями выше :)
+
avatar
0
  • Ingvar1
  • 09 октября 2020, 15:35
Доброго дня!
Обновил библиотеки, но не могу удалить «RobotIRremote».
В «Arduino / libraries / RobotIRremote» его не видно, однако в списке (там, где устанавливают библиотеки) Arduino IDE он есть.
У меня некорректно работает пульт.
Возможно это из-за RobotIRremot.
Где он «Спрятался»?
Помогите, пожалуйста, пошагово удалить «RobotIRremote».
Спасибо.
+
avatar
0
Посмотрите в C:\Program Files (x86)\Arduino\libraries, если у вас x64 версия Windows, или в C:\Program Files\Arduino\libraries, если x86 версия.
+
avatar
+1
Дмитрий, доброго времени суток. Спасибо за прекрасный проект и особо за то что не бросаете им заниматься!
Добавил в ваш проект Светодиодный LED дисплей на базе драйвера TM1637, чтобы видеть номер текущего эффекта.
Может кому пригодится. Библиотеку взял у Гайвера, вот, что вставил:


uint8_t Protocol = 0; // Temporary variables to save latest IR input
uint32_t Command = 0;

// Вывод номера режима — #define CLK 2
#define DIO 3
#include «GyverTM1637.h»
GyverTM1637 disp(CLK, DIO);


// Общие переменные — uint8_t allfreq = 32; // Меняет частоту. Переменная для эффектов one_sin_pal и two_sin.
uint8_t bgclr = 0; // Общий цвет фона. Переменная для эффектов matrix_pal и one_sin_pal.
uint8_t bgbri = 0; // Общая фоновая яркость. Переменная для эффектов matrix_pal и one_sin_pal.
bool glitter = GLITER_ON; // Флаг включения блеска
bool background = BACKGR_ON; // Флаг включения заполнения фона



if (StepMode>=NUM_LEDS)
{ ledMode = newMode;
StepMode = MAX_LEDS;
disp.displayByte(0, _P); // 0 ячейка, буква P
#if LOG_ON == 1
Serial.println(F(«End SetMode»));
#endif
}
nblendPaletteTowardPalette(gCurrentPalette, gTargetPalette, NUM_LEDS);


//-------------------OTHER ROUTINES----------------------------------------------------------
void strobe_mode(uint8_t mode, bool mc){ // mc stands for 'Mode Change', where mc = 0 is strobe the routine, while mc = 1 is change the routine

if(mc) {
fill_solid(leds,NUM_LEDS,CRGB(0,0,0)); // Clean up the array for the first time through. Don't show display though, so you may have a smooth transition.
disp.clear();
disp.brightness(7); // яркость, 0 — 7 (минимум — максимум)
disp.displayInt(mode);


Вот что получилось:


Буква Р добавляется, после команды End SetMode.

Еще изменил управление яркостью, на более плавное.

void getirl() { // This is the IR function that gets the value and selects/performs command.

if (Protocol) {
#if LOG_ON == 1
Serial.print(F(«Command: 0x»));Serial.println(Command,HEX);
#endif

switch(Command) {

#if IR_Key_Brightness_plus
case IR_Key_Brightness_plus: ////////////////////////////////////////////////////////////////////////// Увеличить максимальную яркость
if (max_bright< 255) max_bright=max_bright +10;
LEDS.setBrightness(max_bright);
#if LOG_ON == 1
Serial.print(F(«Brightness+ „)); Serial.println(max_bright);
#endif
break;
#endif

#if IR_Key_Brightness_minus
case IR_Key_Brightness_minus: ///////////////////////////////////////////////////////////////////////// Уменьшить максимальную яркость
if (max_bright>10) max_bright=max_bright -10;
LEDS.setBrightness(max_bright);
#if LOG_ON == 1
Serial.print(F(“Brightness- „)); Serial.println(max_bright);
#endif
break;
#endif

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

Пробовал подключать вывод информации на OLED 0.96“ I2C/SPI, но катастрофически не хватает памяти. Делал на Меге ради интереса, но не хочу ее в этом проекте использовать.
Можно попробовать с другими библиотеками (я пробовал с Adafruit_GFX.h и Adafruit_SSD1306.h ) ASOLED или iarduino_OLED_txt или SSD1306Ascii, они без экранного буфера, чисто текстовые.

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

yadi.sk/d/RovmmrLr8Odf7A

yadi.sk/d/L1xL2cWkXaBAlA

yadi.sk/d/0zmScnljVEJE3g

Поскольку кнопками я не собираюсь пользоваться — убрал, чтобы нее мешали (может где-то и осталось, побоялся лезть в EEPROM).
Почему-то не компилируются 8-ми значные коды пульта в последних 4-х строках, выдает ошибку.
Насчет светодиодов, они упоминаются у Гайвера. Они залиты прозрачным компаундом и светят ярче (миниатюрнее), но недостатком являются тонкие провода. На два куска по 50 светодиодов не хватает напряжения, приходится запитывать с обеих сторон. Пробовал поставить три куска с питанием с обеих сторон, все равно не хватает. Так что если делать длинную гирлянду придется дополнительно тянуть питание, в результате пропадет весь смак в незаметных проводах.
Вид с задней стороны:


Вид с лицевой стороны:



А брал я их здесь AliExpress BTF-LIGHTING- Store.
+
avatar
0
Проверил, ошибок не нашел
в файле command в конце не правильно написано число там должно 4 или 8 знаков, правильно писать так
#define IR_Key_Solid_SkyBlue                0x00FD22DD  // ||    (||)              //  Установить цвет Голубой
#define IR_Key_Solid_Blue                   0x00FDC03F  // []    (Blue)            //  Установить цвет Синий
#define IR_Key_Solid_Violet                 0x00FDE01F  // ><    (●Rec)            //  Установить цвет Фиолетовый
#define IR_Key_Solid_White                  0x00FD20DF  // Zoom  (■)               //  Установить цвет Белый
+
avatar
0
Добрый вечер. Спасибо за подсказку, с 8-ю знаками работает стабильней.
Единственно не понятно, почему-то оранжевый и желтый цвет уходят в зеленый спектр на этих светодиодах (при том на обычной адресной ленте все цвета в норме). Может быть китайцы поставили туда чип SK6812, но по нему информации очень мало.
Дополнительная информация

Пришлось поменять Yellow на DarkOrange — стало по естественней. В связи с эти возникает вопрос: можно ли в solid = CRGB::DarkOrange; объявить цвет напрямую HEX кодом?
+
avatar
0
Это надо смотреть возможности библиотеки FastLed там есть коррекция цвета, попробуйте тип гирлянды поподбирать
#define CHIPSET       SK6812     //Тип микросхемы светодиодов в гирлянде
либо другими значениями, список можно взять в папке, где лежить библиотека FastLed, в файле keywords.txt
+
avatar
0
Судя по всему эти гирлянды сделаны на чипе SK6822. Они имеют 6 контактов, что дублирует канал данных.

В библиотеке FastLed версии 3.3.3 они есть. Цветовая гамма не изменилась. Но улучшилась стабильность работы. Раньше на Solid_White мигали последние 10-12 светодиодов (хотя запитаны с двух сторон), сейчас такого нет. Единственно при использовании FastLed 3.3.3 расходуется больше памяти.
Еще хотелось бы узнать, за что отвечает параметр: Initial delay: 0ms delay.
+
avatar
0
  • tienye
  • 27 декабря 2020, 18:23
Здравствуйте. Получилось с hex значением? У меня даже DarkOrange какой-то зеленый на этой. Новые гирлядны, кстати, приходят хоть и с более жестким проводом, но для двух гирлянд достаточно питания с одного конца. На елку их я вообще пять штук повесил и запитал с двух концов, вроде бы нормально
+
avatar
0
  • mitel
  • 14 октября 2020, 21:41
Здравствуйте! не смог найти описание эффектов, где его можно посмотреть?
+
avatar
+1
Эффектов очень много Эффекты накладываются друг на друга, описанию не поддается :)
В начале статьи есть видео первых эффектов, видео эффекта огня тут последний скетч частично можно посмотреть тут
+
avatar
0
  • mitel
  • 17 октября 2020, 13:30
Плохо, что нет описания я бы например выбрал штук двадцать, которые побыстрее, не будешь же 100 эффектов по одному заливать для просмотра
+
avatar
+1
Помоему можно минут за 15 посмотреть все эффекты
Включаем лог, чтоб смотреть номер эффекта и с пульта переключаем, вперед назад,
первые сорок они одного вида, после сорока там бегущий огонь, который можно программировать как охота.
+
avatar
0
еще нашел запись переключения эффектов, будет время запишу видео всех эффектов
+
avatar
0
Снял видео всех эффектов тут
+
avatar
0
  • babajaga
  • 16 октября 2020, 11:49
Повторил, очень понравилось!
Как закольцевать 4+ программу?
Что добавить в скетч?
Спасибо!
+
avatar
0
Что вы имеете ввиду под словом закольцевать?
Она итак не останавливается и повторяется.
Если нужны только отдельные эффекты то выбираем DEMO_MODE 3 или 4
и в MY_MODE через запятую указываем эффекты, которые надо повторять в цикле
+
avatar
0
  • neomagic
  • 17 октября 2020, 17:35
Дмитрий, спасибо за труды. Дети в восторге! Единственное осталось для меня не понятным. В настройках скетча (4+) стоит время демонстраций 60 секунд, чипы ws2811 (по умолчанию стояло ws2812b), ардуино нано, режим демонстрации: подряд все эффекты, без кнопок. Мне показалось, что эффекты стали повторяться примерно через 15-20 минут. Сами эффекты отображаются по 60 секунд. Может ли быть такое, что из-за того, что я прописал в настройках ws2811 количество отображаемых эффектов стало меньше? Спасибо

P.S. пока писать комментарий обнаружил, что стал повторяться один и тот же режим,
примерно через 40 мин. после включения.
+
avatar
0
Проще всего проверить, посмотрев лог. Эффекты похожи, меняются только настройки
+
avatar
0
  • neomagic
  • 18 октября 2020, 11:06
Спасибо, буду смотреть лог. Скетч 4 работает хорошо и не зависает.
+
avatar
0
  • neomagic
  • 18 октября 2020, 17:11
Посмотрел лог. Всё норм, режимы доходят до 122 и начинаются сначала. Однако заметил, что с 42-го режима и дальше у меня показывается один и тот же режим, меняя только палитру.
+
avatar
0
С 42 режима бегущий огонь, проверю в понедельник, не проверял с января
+
avatar
0
  • Ingvar1
  • 18 октября 2020, 15:57
Добрый день, Дмитрий!
Сегодня запустил гирлянду по последнему скетчу и библиотекам.
Работает.
Гирлянда 4х50=200.
+
avatar
0
  • Ingvar1
  • 18 октября 2020, 16:09
Пульт работает, но живет своей жизнью. Не могу найти логики в его работе, с какого раза и когда будет с него реакция. Еще исследуем.
НО: не хватает индикации текущего эффекта.
Возможно ли использовать LED дисплей на базе драйвера TM1637, который применил avtopilot1 (см комментарий от 10.10.20)?
Я новичок в программировании. Это мой первый проект на Arduino. Поэтому пока пользуюсь готовыми версиями.
Если не трудно, дополните, пожалуйста, скетч notamesh4plus, который вы выложили 21.09.20 (https://yadi.sk/d/dL5-cMM_awGAAg), LED дисплеем на базе драйвера TM1637 и в полной обновленной версии буду скетч ждать (ловить) в комментариях.
До Нового Года осталось мало времени. У нас в супермаркетах уже появились шоколадные Деды Морозы.
Спасибо.
+
avatar
0
Пульт срабатывает не сразу, особенность такая, надо на пульте нажать команду от пустить нажать отпустить пока не сработает. длинное нажатие на кнопку пульт дает команду повтора
Проверку пульта лучше делать с включенным логом

Хорошо добавлю TM1637
+
avatar
0
  • Ingvar1
  • 18 октября 2020, 18:48
Спасибо.
Адресные светодиоды закатал в термоусадку по вашей рекомендации:
+
avatar
0
Здравствуйте.Будьте добры подскажите какой диаметр термоусадки Вы использовали.
+
avatar
0
диаметр 9,5мм, длинна 25мм
+
avatar
0
Большое спасибо
+
avatar
0
  • Ingvar1
  • 19 октября 2020, 14:42
В моём случае диаметр 9мм, длинна 30мм
+
avatar
0
Извините может быть я задам глупый вопрос но скажите Вы термоусадку как надевали на каждый светодиод начиная с первого ведь там разьемы.
+
avatar
0
Ну так то я паял, так проще всего, но подскажу другой способ, можно вынуть контакты из разъема
+
avatar
0
Дмитрий Спасибо за ответ.Можно Вынуть контакты Из разьема надеть кусок термоусадки и протянуть ее на 50 диод затем на 49 итак до первого диода затем проити термофеном-закатать термоусадку и вставить контакты на место.Я правильно Вас понял? И еще вопрос-могу ли я использовать 10 мм термоусадку?
+
avatar
0
Я так и делал, когда не было паяльника, термоусадку можно любую, если будет большой диаметр, то не сильно сожмется, если будет маленький диаметр то не налезет
+
avatar
0
Спасибо Вам огромное. С нетерпением ждем Ваших новых разработок.Удачи счастья и здоровья Вам и вашим родным!
+
avatar
0
  • fred2035
  • 20 октября 2020, 11:31
здравствуйте, а можно сделать кнопку как у Алекса гайвера, убрав пульт ду?
+
avatar
+1
Используйте проект Гайвера, зачем плодить копии.
Кнопки и так есть в этом проекте
+
avatar
0
  • fred2035
  • 20 октября 2020, 13:22
да я уже делал, режимы, вроде, разные. Ваши гораздо интереснее.
+
avatar
+2
Сделал, тестируем…
+
avatar
0
  • fred2035
  • 23 октября 2020, 21:34
спасибо большое, я то сам вообще не понимаю в этом ничего, только повторяю, поэтому еще раз спасибо )))
+
avatar
+2
Добавляю в этот проект TM1637 и все, для NANO это предел.

Скоро будет этот проект на ESP32, развитие этого проекта перейдет туда, там есть куда стремится. И это будет другая тема
+
avatar
0
  • mitel
  • 20 октября 2020, 13:02
До нового года успеете? Мне надо на 600 диодов!
+
avatar
0
  • Serg730
  • 21 октября 2020, 19:37
Скажите это ESP32 подойдёт для нового проекта?
https://aliexpress.ru/item/item/32802431728.html
+
avatar
+5
У меня куплена эта плата и будет ссылка на плату для ленивых, где уже все запаяно как надо, только прошить
Схема и скечь будет на оба варианта один, у людей будет выбор либо делать самим либо купить готовый в корпусе…
С завтрашнего дня начинаю перевод скетча под ESP32
+
avatar
0
  • CrazyMax
  • 24 октября 2020, 08:08
Искал как сделать гирлянду, и набрел на эту статью. Это лучшее что есть по этой теме! От програмирования и пайки далек. Светодиоды заказываю как у вас, дайте пожалуйста ссылку на плату ESP32 где ничего паять не нужно здесь или в личку, закажу вместе с светодиодами, чтобы точно успело к новому году дойти. А то у нас в последнее время по 2 месяца и больше посылки идут(
+
avatar
0
Приоткрою занавес.Наше руководство давно хотело открыть электронный магазин. Бухгалтер сейчас научится работать с кассовым аппаратом, откроем магазин на али, я к тому времени доделаю программу.
Выставим 10-15 устройств внешний вид такой внутри так
Это пока мой тестовый образец, на рабочем может не быть SD разъема (я его еще не проверил как работает) и провод один.
Отправка будет почтой России
Остальное зависит от руководства
Цену пока не знаю.
+
avatar
0
  • CrazyMax
  • 24 октября 2020, 13:51
Круто! Будем подождать тогда) Главное чтобы потом до нового года успело прийти.
+
avatar
0
  • EugeneKl
  • 21 октября 2020, 09:20
Добавляю в этот проект TM1637 и все, для NANO это предел.

Дмитрий приветствую Вас!
После добавления TM1637 NANO потянет 250 светодиодов?
+
avatar
0
Доброго здоровья, Как всегда, все отключаемо, можно оставить то что влезет
+
avatar
0
Есть желающие протестить новый скетч?
https://yadi.sk/d/nPBxMYT-LkwtOw
Добавлена работа с кнопками и индикатором от Алекса Гувера
Скетч причесан, настройки в одном месте, с описанием, думаю теперь все просто настраивать
+
avatar
0
Доброго времени суток. Спасибо за обновления, завтра протестирую. Еще вопрос: никак не могу разобраться за что отвечает параметр meshdelay?
+
avatar
0
Задержка.
FastLED.delay(meshdelay*100);                                     // Here's our notamesh wait upon keypress. Oh god I'm so sorry there's a delay statement here. At least it's only used upon mode change keypress.
+
avatar
+1
  • EugeneKl
  • 22 октября 2020, 09:12
Добавлена работа с кнопками и индикатором от Алекса Гувера

Дмитрий доброго времени суток!
Схема включения индикатора как у Гувера?
+
avatar
+1
Библиотека его, настраивается также.
Индикатор подключается к пинам как предложил avtopilot1 10 октября (к 2 и 3)
Кнопка 1 подключена к пину как у Гувера в его гирлянде (тоже к 2 пину)
Для работы поменяйте настройки пинов как у вас, т.к пины пересекаются
Схема включения индикатора как у Гувера?
это я не понял, схем у Гувера много где используется индикатор
+
avatar
+1
Сделал уже настроенную программу под схему Гайвера
Проверьте, у меня нет этой схемы чтобы проверить
+
avatar
0
  • fred2035
  • 23 октября 2020, 21:43
схема с одной кнопкой и все?
+
avatar
0
А у гайвера было больше? ссылку на схему пожалуйста скиньте
+
avatar
0
  • fred2035
  • 24 октября 2020, 18:46
не не, надо именно с одной)))

alexgyver.ru/christmaslights/
+
avatar
0
Arduino: 1.8.5 (Windows 10), Плата:«Arduino Nano, ATmega328P»

C:\Program Files (x86)\Arduino\libraries\notamesh4Gyver\_main.ino:27:100: fatal error: GyverButton.h: No such file or directory

#include «GyverButton.h» // библиотека GyverButton

^

compilation terminated.

exit status 1
Ошибка компиляции для платы Arduino Nano.

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»

вот, что пишет
+
avatar
+1
У вас отсутствует библиотека GyverButton.h
Скачайте по ссылке: github.com/AlexGyver/GyverLibs/releases/download/GyverButton/GyverButton.zip
Распакуйте содержимое архива, т.е. папку GyverButton, и поместите её со всем содержимым по адресу: C:\Program Files (x86)\Arduino\libraries
+
avatar
0
работает, но при выключении с кнопки однократным нажатием — не включается. надо подключать плату к юсв, тогда включается. режимы переключаются двойным нажатием. как то так. )
+
avatar
0
Дмитрий, в первую очередь хотелось бы Вас поблагодарить за очень большую проделанную работу, гирлянда получается просто замечательная. Не хватает лишь одной опции, которая бы сделала для меня этот проект идеальным. Я пытался разобраться, как сделать это самостоятельно, чтобы Вас не беспокоить лишний раз. Но, видимо, я и программирование — вещи не совместимые.

Я не понимаю логики смены палитр с пульта (автосмена выключена). Палитра вроде бы меняется, но проходит один цикл, и после этого изменения откатываются. При этом случайные цвета меняются на другие случайные. Можно ли как-то сделать, чтобы это работало как, например, в механических клавиатурах: выбираешь желаемый режим мигания светодиодов (их здесь вроде бы 40), и, при заданном режиме, кнопками переключаешь палитры? В том числе, простые однотонные (дитё просит розовую елочку :) ). Может это уже как-то реализовано, и я просто не разобрался где это включить?
+
avatar
0
про умолчанию идет перебор палитр.
По командам перебора палитр Command_Palette_Previous или Command_Palette_Next происходит останов автоматического перебора палитр
для восстановления автоматического перебора надо запустить команду Command_Palette_Auto
для установки нужной палитры, достаточно выполнить поиск палитры командой Command_Palette_Next
+
avatar
0
Да, но, как я написал выше, новая палитра применяется ровно на один цикл, а затем сбрасывается на ту, с которой этот режим начался. Т.е., например, бегает по гирлянде желтая полоска -> нажимаю кнопку следующей палитры -> желтая полоска становится, например, голубой -> через несколько секунд само откатывается на желтую.
+
avatar
0
Можете лог прислать переключения палитр?
+
avatar
0
Я бы с удовольствием, только не знаю, как это сделать. Просто скопировать лог из монитора порта? Вот, например.
Mode: 4
74632
End SetMode
Command: 0xFFB04F
Palette+ 15
Command: 0xFFFFFFFF
Command: 0xFFB04F
Palette+ 16
Command: 0xFFB04F
Palette+ 17


Выбрал 4 режим. Там переливающийся градиент из синего+желтого+красного (что-то вроде этого). 3 раза нажал кнопку смены палитры, 3 раза появлялись другие цвета, но через несколько секунд возвращались на изначальные синий+желтый+красный.
+
avatar
0
Так, извиняюсь за беспокойство, вроде бы разобрался. Сделал немного по-другому. У меня #define PALETTE_TIME стояло 0, и так почему-то не работало. Сейчас поставил 5, и если после автоматической смены я начинаю менять вручную (т.е. отключаю автосмену), то всё отлично меняется и сохраняется.
Спасибо еще раз за потраченное время и замечательный проект.
+
avatar
+1
Не во всех режимах палитра может переключатся, У таких режимов в лог выводится строка
Change palette OFF
+
avatar
0
Хорошо, в таком случае может быть Вы можете помочь платно?
+
avatar
+1
Все сделаю, последовательно, перевожу сейчас на ESP32 (памяти море, на 4000 светодиодов заработала но медленно, контроллер не успевает) доделаю и займусь палитрой
+
avatar
0
Понял, спасибо большое заранее.
+
avatar
0
del
+
avatar
0
Еще один небольшой вопрос, если можно. У моей ленты очень странные цвета, но, как оказалось, в FastLED можно легко корректировать их. Попробовал на простом скетче — работает отлично. Но в notamesh почему-то не работает, как я ни старался. В интернете тоже очень мало информации на эту тему.

Я добавляю команду в самом начале функции setup:
void setup() {
FastLED.setCorrection(CRGB(255,100,100));
}

но это совершенно никак на цвет не влияет, проверял с разными значениями. Может Вы можете подсказать, что я делаю не так?
+
avatar
+1
Поставили в тупик, я корректировками не занимался.
В поиске находится только способ корректировки в момент инициализации
FastLED.addLeds<LED_TYPE, DATA_PIN, COLOR_ORDER>(leds, UM_LEDS).setCorrection(TypicalLEDStrip);
В нашем случае могу предположить прописать ее в этих строках
Строки программы тут
#if LED_CK

    LEDS.addLeds<CHIPSET, LED_DT, LED_CK, COLOR_ORDER>(leds, MAX_LEDS);
    
  #else 
  
    LEDS.addLeds<CHIPSET, LED_DT, COLOR_ORDER >(leds, MAX_LEDS);                   //Для светодиодов WS2812B
    
  #endif
Наверное проще коррекцию провести выбрав правильный тип ленты, как например тут
+
avatar
0
Спасибо огромное, Ваш вариант сработал.
+
avatar
+6
Всем Доброго здоровья.
Официально выходить новый скетч с дополнительными библиотеками notamesh4Biblio.zip
1. Компилируется на ESP32 без ошибок и работает (кроме: TM1637_ON не совместима с ESP32, пульт не проверял)
2. Добавлены следующие устройства
TM1637_ON (индикатор от Гайвера),
До 4 Кнопок (Библиотека Гайвера),
До 2 Светодиодов
3, расширен набор команд, Добавлены команды для работы с кнопками работать стало удобнее.
4. Добавлен режим настройки, где свой набор команд.
5, исправлены ошибки
Начинаю создавать новую тему на муське про ESP32 с использованием данного скетча, все развитие темы перейдет туда.
+
avatar
0
а можно ссылку на новую тему?
+
avatar
0
продолжение в железе на ESP32 тут https://mysku.club/blog/aliexpress/83072.html
+
avatar
0
Дмитрий приветствую!
Тоже прошу ссылку на новую тему — очень прошу
+
avatar
0
продолжение в железе на ESP32 тут https://mysku.club/blog/aliexpress/83072.html
+
avatar
0
Очень интересно, ждем анонса )))
+
avatar
0
  • Ser_Go
  • 02 ноября 2020, 17:34
В прошлом году успел изготовить гирлянду на 100 диодов, с вашей прошивкой четвертой версии, с пультом. Народ тупо залипал, дети пищали от восторга! Спасибо вам за труды и советы в течение всего года!
Скоро Новый год, хочу добавить еще сотню диодов.
Вопрос — можно просто прошить ардуинку последней прошивкой notamesh4Biblio, изменив количество диодов, или какие-то изменения необходимы еще?
Просто как-то подзабылось все уже за год, с октября по новой все изучаю.
Купил ESP, жду, когда придет, но просто уже не успею собрать, очевидно…
+
avatar
+1
Если помните какой версией шили, то достаточно в той версии поменять количество светодиодов и прошится
Для последнего варианта настройки те же, но их стало больше и они перекочевали в главный файл.
Если пульт не используете то надо поставить правильно несколько параметров порты и тип гирлянды и должно работать
если есть пульт, то надо скопировать коды клавиш со старого на новый, ну или настроить заново, по инструкции в шапке.
+
avatar
0
  • Ser_Go
  • 02 ноября 2020, 18:28
Спасибо!
Сейчас пробую уже подключить и прошить.
Пульт куда-то дел, найду позже.
Пока нашел вторую платку, без пульта, с кнопкой и с прошивкой notamesh4Gyver.
Вопрос по кнопке, можно ли ее использовать параллельно с пультом.
В новой прошивке указано:
#define BTN1_PIN 34 // Номер пина, куда подключена кнопка 1,
в прошивке notamesh4Gyver:
#define BTN1_PIN 3 // Номер пина, куда подключена кнопка 1 (так и подключено)
Кнопка живет своей жизнью.
По однократному нажатию может выключить, а может и нет. Также и с включением. Переключение эффектов (2х-3х кратное нажатие) и изменение яркости (удержание) не работает.
+
avatar
+3
В новом скетче можно использовать и пульт и кнопки, в новом скетче добавлены команды, по аналогии с теми что использовал Гайвер, также добавлены новые команды как раз что бы отказаться от пульта в пользу 4 кнопок и
двухцветного светодиода, именно в такой конфигурации стартует проект на ESP32 ( 4 кнопки и 2 светодиода) и пойдет развитие в сторону Wifi, SD card.
Также будет адаптация под ESP8266 (4 кнопки и 2 светодиода) макетку я сейчас делаю…

Будет время подправлю notamesh4Gyver.( там есть ошибки, т.к. строился на тестовом выходе notamesh4Biblio

По поводу пинов, я же не знаю куда на этой плате кнопка подключена
+
avatar
0
  • Ser_Go
  • 02 ноября 2020, 20:50
Спасибо, буду разбираться.
Вот адаптированный вариант под ESP8266 хотелось бы успеть до Нового года опробовать, тем более все комплектующие под руками…
+
avatar
+4
Картинки рисую, видео снимаю, как будут готовы выложу
+
avatar
0
  • van4uk
  • 03 ноября 2020, 20:30
Спасибо большое за проект! Сегодня получил светики, 100 штук. Подключил половину, запитал от лбп, потребление примерно 0.6 — 0.75А. Теперь жду термоусадку.
+
avatar
0
0.6 — 0.75А
Это среднее. Пиковое при всех включенных светодиодах на максимальной яркости белого цвета должно быть существенно выше.
+
avatar
+6
Снял видео всех эффектов, кто то спрашивал
+
avatar
0
  • mitel
  • 04 ноября 2020, 00:50
Спасибо я спрашивал, отлично все пронумеровано, теперь надо проверить у меня 600 диодов.
+
avatar
0
Дмитрий, если не сложно можно добавить эффект «пульсация» с разнообразными режимами этой пульсации?
+
avatar
0
Пульсация это стробоскоп?
+
avatar
0
Не совсем, но стробоскопы полицейские тоже былоо-бы круто добавить если не трудно.
Про пульсацию я имел ввиду эффект показанный на этом видео вот ссылка youtu.be/ifYAJ5LyKDE?t=428
+
avatar
+3
продолжение в железе на ESP32 тут https://mysku.club/blog/aliexpress/83072.html
+
avatar
0
  • Ser_Go
  • 04 ноября 2020, 16:02
А мне задумывался такой эффект…
От начала гирлянды бежит ярко-белый огонек, оставляя за собой гаснущий след (градация белый-желтый-оранжевый-красный), такой «бикфордов шнур», по достижении конца гирлянды следует взрыв — белая вспышка всей гирлянды с переходом в произвольный эффект — падающая волна, радуга, да хоть что…
Но поскольку могу только повторить паяльником, да простой правкой прошивки под свое железо, идея остается идеей…
+
avatar
0
У меня в голове уйма идей для эффектов. Изначально как раз и планировал как-то под себя их поменять/дописать недостающие, поэтому заказал Ардуинку, а не готовый контроллер с 300+ эффектами. Реальность оказалась суровей, и программист из меня не получился :D
Надеюсь до НГ найти где-то хаб с большим количеством готовых эффектов, и научиться их вручную добавлять в этот проект.
+
avatar
+2
В данной теме уживались в ограниченности ресурсов NANO. Сложно будет добавить… Сейчас проще использовать что то из ESP и ресурсов побольше и тоже самое работает.
Если надо что то, добавлю, только опишите
+
avatar
0
Спасибо огромное за ответ и готовность помочь, но не наберусь наглости тратить Ваше время на хотелки, которые, скорее всего, кроме меня одного никому не нужны :) Тем более, у Вас добавился еще один проект.
Единственное, был бы Вам очень сильно благодарен, если бы Вы помогли с включением/выключением гирлянды. Скорее всего это уже есть, но, к своему стыду, я не нашел. Как сделать, чтобы на одну и ту же кнопку пульта гирлянда включалась и выключалась? Например на IR_Key_Solid_Black. Если при этом еще будет включаться на последнем эффекте и палитре — вообще идеально, но совершенно не обязательно.
+
avatar
+1
Пока скетч общий на два проекта.
Команда в новом скетче
#define Command_Start_Stop                   BTN1_2       //Кн1 2 клик            // Старт/стоп
Корректность работы проверю в ближайшее время
Если надо помочь с настройкой то спрашивайте
+
avatar
0
Спасибо большое.
+
avatar
+1
Понял, добавлю
+
avatar
0
Возможно-ли вот эту сборку перенести на мегу или в следующий проект на esp? www.youtube.com/watch?v=AtGeC1MMdO8
+
avatar
0
задал вопрос повторителю и вам задаю.как там с кодов слепить скетч?
+
avatar
0
Не понял, что за повторитель? где там? что за коды?
Человек просил добавить эффект, будет время добавлю
+
avatar
0
там проект в виде кода*я так понимаю ето вкладки для скетча)
с веб управлением и веб приложением
вот ето проект, но я не знаю как скачат его, я вижу вкладки и не знаю как использовать
+
avatar
0
Извините не понимаю.
Ser_Go задал вопрос
А мне задумывался такой эффект…
От начала гирлянды бежит ярко-белый огонек, оставляя за собой гаснущий след (градация белый-желтый-оранжевый-красный), такой «бикфордов шнур», по достижении конца гирлянды следует взрыв — белая вспышка всей гирлянды с переходом в произвольный эффект — падающая волна, радуга, да хоть что…
Но поскольку могу только повторить паяльником, да простой правкой прошивки под свое железо, идея остается идеей…
я ответил
Понял, добавлю
Где здесь ваш вопрос
задал вопрос повторителю и вам задаю.как там с кодов слепить скетч?
и этот
там проект в виде кода*я так понимаю ето вкладки для скетча)
с веб управлением и веб приложением
вот ето проект, но я не знаю как скачат его, я вижу вкладки и не знаю как использовать
Я не понимаю как вам ответить на ваш вопрос.
+
avatar
0
как из етих кодов на гитхабе сделать скетч? www.youtube.com/watch?v=h7lKsczEI7E сделайте пожалуйста.
я прошью.
считаю ето наилучшим проектом.где ест все что мне нужно и даже больше.и веб
+
avatar
+1
Я уже отвечал, в чужих проектах разбираться очень долго, времени уйдет много, лучше просите разработчика,
+
avatar
-1
Гайвер сказал что на заказ не делает.
говорю твоя гирлянда говно, есть с веб управленем, даже тут вам человек показывал еффекты. нескольких у вас точно нет. говорит гирлянда не умный дом, может быть и говном.
поставил ваш скетч.какое то переливание сплошное быстрое.
еще такой прикол… вы мне как делали мегу, там под 2812.дж р б
у меня 2811.сменил на жрб и огонь еффект синий а не красный))
по ходу дальше гдето изменено что ли… в скетче.
Разработчики как правило молчат.есть проект выложенный на гитхабе.
готов заплатить за преобразование его в скетч.
+
avatar
0
Для проекта notamesh4Biblio цвет задается строкой
//                          Настройка FastLED

#define MAX_LEDS      200        // Максимальное количество светодиодов,  очень влияет на память 

#define COLOR_ORDER   GRB         //Очередность цвета светодиодов  RGB или GRB
надо ставить или COLOR_ORDER GRB или COLOR_ORDER RGB

Для проекта notamesh4ESP32 цвет задается при помощи кнопок или
при установленной EXTEND_FLAG 0 задается также как в проекте notamesh4Biblio
+
avatar
+2
Я буду заниматься другим проектом, если те кто подписан на проекты notamesh4Biblio и notamesh4ESP32 согласятся, что я не буду заниматься их проектом и заброшу его на год.
+
avatar
-1
не бижайтесь, проекты на кнопках и еффекты полная фигня.в сравнении с 2мя веб, описываемыми ранее.
ищу пока под свои.нашел проект который компилируется в непонятной проге
второй по блютусу или включается тиристором с подачей питания на вход ардуино, третий говорит у меня есть веб, еффекты в виде кодов будут, скрипты…
-аааа!
вы стараетесь, пишете новые еффекты и добавляете функции, а все лучшее уже есть
в веб версиях есть авто перебор еффектов.но они такие краткие что там не видно где какая функция.
естьконтролер от итайцев.там хоть 200 еффектов, но все надоели и фуфло.а обовлять они 2 года не спешат.
кстати прошивки Гайвера часто ругаюся на кирилицу или библиотеки.ваши ложаться без руганий.я уже все по очереди пробую, посмотрев перед етим что там есть.веб, еффекты, кнопки.на отсуствие… лутуса.Демо ищу.
я не понимать если в прошивке есть строки где задаются точка доступа и пароль,
зачем заходить в примеры и там прописывать… что то у меня не вяжется.
говорите что должны работать 11 вместо 12х.библиотека под 12е написана.
не поможете вы-найду прошивку с веб с еффектами поблескивания и бегущих красивых огней, а то все ети какая то фигня.или мутные 11 диоды.12е лучше светят.может потому такое впечатление плохое о переливании цветов…
+
avatar
+3
Вы тоже не обижайтесь, Управление по веб это баловство и хвастовство, не более,
Зачем светофору веб интерфейс, включили и он работает
Контроллеру елки также, подали питание и он работает,

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

Eсли есть деньги найдите программиста он вам напишет, напишите в яндексе программисты фрилансеры

Я уже больше трех раз говорил, чужие проекты я не переделываю

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

Если вам не нравится мой проект не используйте, все просто

Вы уже повторяетесь и пишете вопросы по нескольку раз одно и тоже, я просто перестану отвечать.
+
avatar
-2
не переделываете чужие проекты а 2 года тому ето сделали и морочите его до сих пор.5 версий по версии раз в пол года..)
вам трудно дописать в свой веб или такие еффекты которых нету в вашем проекте.
веб потому что там например из 55 еффектов 10 супер клевые.а у вас их намного больше, и включен либо весь перебор, либо нечего перебирать ибо таковых нет.
целиком логично взять проект получше чем тот что 2 года тому.
но вы еще меня тут забаните, больше ничего, молчу.
+
avatar
+5
Да я долго разбирался в чужом проекте я его теперь веду и выпускаю версии,
Для вашего сведенья я на ESP32 перешел меньше месяца, все в этой теме мне ставят в вину что нет веб, я за этот месяц успел только исправить ошибки.
ВЫ теперь мне настойчиво говорите его бросить и делать другой проект, я считаю это трата моего личного времени впустую.
Я буду развивать свой проект как считаю нужным…
Я устану и просто удалю эти две темы, я банить никого не буду, И поймите я никому ничего не должен,
+
avatar
+5
Дмитрий, поражаюсь Вашему терпению, выдержке и такту. Просто диву даюсь, какие кадры иногда попадаются в комментариях.
Ну и трудолюбию, само собой. Многие уже давно бы забросили. Что-то подсказывает мне, что вы на НГ будете смотреть на эти переливающиеся огоньки с немного другими чувствами, нежели мы :)
Еще раз огромное спасибо и низкий поклон за этот замечательный проект.
+
avatar
+2
Обновил программу под плату Gyvera
ссылка
+
avatar
+1
  • Ingvar1
  • 11 ноября 2020, 23:48
Доброго всем времени суток!
22.10.20 Вы, Дмитрий, выложили скетч для желающих протестировать.
Я протестировал.
Сначала фотоотчет, потом комментарий:
+
avatar
+1
  • Ingvar1
  • 11 ноября 2020, 23:55
+
avatar
+1
  • Ingvar1
  • 12 ноября 2020, 00:01
+
avatar
+2
  • Ingvar1
  • 12 ноября 2020, 00:07
Здесь видно реальный ток, когда светят все 200 светодиодов белым цветом
+
avatar
+1
В настройках скетча можно поиграться с параметрами
POWER_V       5           // напряжение блока питания в Вольтах
#define POWER_I       5000        // Ток блока питания в миллиАмперах
Можно поставить ток блока питания не 5000 а 3000.
+
avatar
0
вот у меня пиково было 6а на 300штук 2811..а так 2-3 максимум 5
в скетче 5 выставлено
мигает белым с остатком зеленого.поставлю 6
вопрос: поставил без резистора на порту, быстро мерцает.ето потому может быть или не хватает питания?
и кстати 2812 прописаны в скетче, а диоды 2811 не работают хоть застрели.
уже взял другую ардуину.прошивка от мега168 пошла.иду notamesh4 поставлю.
вайфая там нет, кнопки нет, елка на улице.бужет перебор еффектов.
хотелось бы вместе с теми что у вас в скетче з 3мя кнопками.кажется вы мне часть давали чтоб еффект добавить
+
avatar
0
Я не знаю про какую библиотеку (какой скетч) У FastLED проблем не замечал с работой 2811 и 2812 все работает как часы, особенно если правильно прописать все.
Если контроллер работает от 5 В (нано, уно, мега) то должно работать без резистора
Если контроллер работает от 3.3В то надо ставить преобразователь из 3,3 вольт в 5 вольт
Я считаю резистор вредным, он ток уменьшает

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

Я вот все слышу про елку на улице, а контроллер, блок питания и гирлянда защищены от влаги? может поэтому и не работает
+
avatar
0
вот етот скетч как бы под 2811 pikabu.ru/story/prostaya_girlyanda_na_rgb_svetodiodakh_5589134
и тот с ютуба.называется «готовимся к новому году.мегакрутая гирлянда».
опыт есть, скетч шьется… что еще неправильно…
без резистора Гайвер говорил что можно выход сжечь.но их там несколько))
с резистором на 220м 300 2811 перебор еффектов прекратился.красный цвет и все.
Не дело в том что на улице, если не работает то сразу, а не перестает работать.Вемос коннектится, ето видно по вебсервере.типа кнопки тыкаешь в веб а диоды не светсяся.зараза!!!
вот попробую потом 2812. мне кажется что заведется.
сампроизвольно у меня не работает… что 5 амер что 7, нотамеш4 чуть ли не хаотично моргает, броуновское движение.очень быстро проходят еффекты и часто мигает.хм…
попробую старые версии. те еффекты что вы мне выбрали для мега 128 наилучше.
поставлю версию постарее. вообще у меня начало гирлянды сверху.но не думаю что оно так могло повлиять на все еффекты.
я вижу ваши скетчи отличаются пояснениями и детальной настройкой.
вот хотелось бы тот с веб включит демо, и хз где ето. скетчи очень компактные, хм…
я на улице втулил 15 амерный по 5 в блок о компа.со временем решил заменить на 5-6а.но пока так.
+
avatar
0
Проект под ESP8266 контроллер имеет выводы под 3,3 В, гирлянде надо размах 5 вольт, вы еще резистор ставите, И еще наверно длинный провод. и получается по сигнальной линии напряжение снижается до 2,8 вольт вот у вас и не работает.
Ставьте преобразователь с 3,3 на 5 вольт и будет счастье ставить надо как можно ближе к контроллеру.

если WS2812FX написана правильно и тайминги соблюдены, то должны работать что 2812 так и 2811, главное преобразователь уровней

Гайвер говорил про короткие провода и если случайно закоротить, а зачем вам коротить?
+
avatar
0
да.сигнальный провод 2-3 метра.каждые 100 диодов дополнительное питание.ето да, проверено на практике.да 5 вольт.там все ок.
другой проект же работает.
почему то ваши еффекты слишком быстро отображаются.получается какой то хаос.
убедился что мой вемос ардуина программируется но не работает.
возник вопрос могу ли я сам добавлять и запрещать ефекты?
вот насколько я шарю, у вас 40 еффектов написано, вижу окк 20ти.
их просто закомментировать? запретить
новые добавить ето вкладку и там дописать?))
+
avatar
0
Я уже тоже испытал проблемы с контроллерами 3,3 вольтовыми
Можно поставить 2 транзистора, или один по схеме, я обычно ставлю логический элемент например такой SN74LVC1G08DBVR ну либо купить китайский модуль, их много

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

Эффекты можно выбирать тут
#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 отключаются
при этом демо режим надо выбирать или 3 или 4 #define DEMO_MODE
+
avatar
0
  • linkar
  • 20 ноября 2020, 23:02
Я считаю резистор вредным, он ток уменьшает
Скорее речь про искажение фронта сигнала (rc-цепочка), но он защищает пин от перегрузки. У пина довольно малая нагрузочная способность.

быстро мерцает.ето потому может быть или не хватает питания?
Смотреть питание + зашунтировать поближе к ленте электролитами+керамика.

с резистором на 220м 300 2811 перебор еффектов прекратился.красный цвет и все
А какое расстояние от контроллера до первого светодиода? Может дело в длиной сигнальной линии?
+
avatar
+1
У гирлянды ТТЛ логика, там не должно быть нагрузки
Думаю преобразователь логики из 3,3 в 5 вольт решит ситуацию
+
avatar
0
  • linkar
  • 21 ноября 2020, 01:04
там не должно быть нагрузки
Там фронты крутые и если длина сигнального провода достаточно большая, их емкость начинает играть роль.

В даташите, к слову, об этом есть внятная рекомендация



Думаю преобразователь логики из 3,3 в 5 вольт решит ситуацию
Это само собой, я же о резисторе.
+
avatar
0
С datasheet не поспоришь, но это все же рекомендация, и сопротивление по рисунку надо ставить у светодиода. и этих сопротивлений ни разу не видел.
+
avatar
0
  • linkar
  • 21 ноября 2020, 01:46
и этих сопротивлений ни разу не видел
Ну вот же он, распаян на out, R1, 75 ом, подстраховывает саму микросхему.



Иногда, просто чтобы запустить ленту, достаточно перепаять первый светодиод поближе к esp, он «поймает» сигнал, а дальше пойдет уже «правильного» уровня. Это если ничего под рукой нет и нужно проверить — влияет ли емкость сигнального провода или нет.
+
avatar
0
Хорошо я увидел, но это не доказывает, что надо ставить сопротивление у контроллера
Во первых нет сопротивления на выходе на этой плате, как по даташиту
Во вторых, зачем ставить после контроллера, если сопротивление стоит у светодиода, опять же по даташиту нет сопротивления у контроллера.

С перепайкой поближе как вариант, все же, преобразователя уровня из 3,3 в 5 вольт
На передачу больше влияет нормальные уровни напряжения, чем согласование линии.

Хотя вы и правы, когда плохо работает на длинных линиях можно поиграться с сопротивлением, но это все пассивные элементы, они вносят свои искажения, я привык применять активные, мне проще 485 интерфейс кинуть и не думать, будет работать завтра или нет
+
avatar
0
  • linkar
  • 21 ноября 2020, 03:00
Во первых нет сопротивления на выходе на этой плате, как по даташиту
Как раз наоборот, сопротивление стоит на выходе. В идеале там должно быть 2x33 Ом, один на вход, один на выход — но вы же знаете этих китайцев, экономят даже на этом. Итого — на входе у нас ничего нет.

Отсюда и танцуем.

PS: в тру-варианте, т.е. коммерческом и/или массовом, который должен работать всегда и везде, желательно ставить и согласование уровней и защитное сопротивление. Потому что мы не имеем представление, какая у нас будет лента и на какую длину мы работаем. Тот случай, когда кашу маслом не испортишь.

но это не доказывает, что надо ставить сопротивление у контроллера
Вообще это мы даже не там смотрим, надо открывать даташит на контроллер — зная нагрузочную способность пина, зная примерную емкость нагрузки, частоту/скважность, прикинуть будем мы в параметрах или нет. И ставить это сопротивление нужно как можно ближе к пину контроллера, перед светодиодом оно нам уже не поможет )
+
avatar
0
Если есть эта плата прозвоните, сопротивление стоит на входе

Убедили, буду ставить сопротивление, но преобразователи уровня тоже ставить надо, с двумя сопротивлениями сильно затухает сигнал. много раз спотыкался на этом.
+
avatar
0
  • linkar
  • 21 ноября 2020, 05:56
сопротивление стоит на входе
На днях должна придти, обязательно посмотрю. Но если там входе — то это вообще ни в какие ворота, согласитесь.

но преобразователи уровня тоже ставить надо
Безусловно, я категорически за. Возможно, хватить только преобразователя (по факту достаточно простого повторителя, все равно сигнал идет в одну сторону).
+
avatar
+1
  • Ingvar1
  • 12 ноября 2020, 00:13
1. 200 светодиодов.
2. У меня все телевизоры SONY, чтобы одновременно с елкой не переключались телеканалы, купил пульт от Самсунга.
3. Купил TM1637
4. Скетч скачал, все собрал, проверил:
5. Ошибка компиляции – нехватка памяти.
6. Отключил ЛОГ — ииии – ЗАРАБОТАЛО!
7. На индикаторе от 0 до 122 вариантов
НО!:
Пульт как не работал, так и не работает корректно. Срабатывает не сразу, с многих нажатий.
Вы как-то писали, что из-за нехватки памяти невозможно прописать корректную работу пульта.
Я уже купил MEGA 2560.
Вопрос к ВАМ:
1 Поможет это для корректной работы пульта?
2 Можете ли Вы дописать скетч от 22.10.20 с учетом MEGA 2560 и для корректной работы пульта?
Хочется добиться работы гирлянды и закончить этот проект.
PS: сегодня 11.11.20 я на Aliexpress купил ESP32 для нового проекта. Но сначала хочу довести этот проект до логического конца.
Спасибо
+
avatar
+1
Пульт работает корректно процентов 50-70, просто к этому надо привыкнуть, нажали, не сработало, отпустили, нажали заново
Я это описывал тут
и потом тут
+
avatar
+1
  • Ingvar1
  • 12 ноября 2020, 00:19
+
avatar
0
  • Ingvar1
  • 12 ноября 2020, 07:32
Еще раз прочитал Вашу ссылку.
Вы пишете: «я хотел выжать максимум, на что способен Нано здесь идет жесточайшая экономия памяти с максимальными возможностями»
Вопрос:
Так как я докупил MEGA 2560, у которого больше памяти,:
1. Поможет это для корректной работы пульта?
2 Можете ли Вы дописать скетч от 22.10.20 с учетом MEGA 2560 и для корректной работы пульта?
Хочется добиться работы гирлянды и закончить этот проект.
+
avatar
0
Библиотека FastLed и Библиотека пульта они крайне враждебны между собой

попробуйте вставить строку
#define FASTLED ALLOW INTERRUPTS 1
в любое место notamesh4Biblio.ino
если не поможет, можно добавить еще эту строчку
#define FASTLED INTERRUPT RETRY COUNT 1

Или попробуйте поставить старую библиотеку пульта

я ничего сделать не смогу, библиотеки написаны не мной и постоянно корректируются разработчиками
+
avatar
0
  • Ingvar1
  • 12 ноября 2020, 07:48
Поможет ли для корректной работы пульта применение MEGA 2560, у которого больше памяти?
Если нет, то дописывать скетч не нужно.
Спасибо.
+
avatar
0
  • Ingvar1
  • 12 ноября 2020, 16:58
Ок
Спасибо.
+
avatar
0
  • Ingvar1
  • 12 ноября 2020, 17:01
В новом проекте на ESP32 с пультом будет та же история?
+
avatar
0
Если FastLED перевести на SPI или i2s до будет работать, На ESP32 есть движения в этом направлении, тогда прерывания отключать не будут, и пульт заработает
+
avatar
0
По пульту повторяю, библиотеки FastLED и IRremote в стандартном режиме вместе не работают

IRremote подключается к таймеру и считает тики приходящие с пульта
FastLED в момент отправки FastLED.show(); Таймер отключается (отключаются прерывания)
Поэтому если нажата кнопка пульта и в этот момент идет отправка, то данные о нажатой кнопки пульта теряются.

Я в скетче применил проверку, если идет подсчет тиков (нажата кнопка пульта, то отправка откладывается
while (!irrecv.isIdle());
Пульт стал вести себя более предсказуемо

Если светодиодов много, то время на передачу увеличивается. и вероятность попадания нажатия кнопки в момент отправки тоже увеличиваются.

Что делать.
1. Ничего не делать, просто если не сработало на пульте нажать еще раз
2. Отказаться от пульта или отказаться от этого проекта
3. Ждать пока разработчик библиотеки FastLED исправит ситуацию, перейдет на аппаратную передачу данных
+
avatar
0
  • Ingvar1
  • 12 ноября 2020, 21:47
Спасибо, Дмитрий, за Ваш труд!
+
avatar
0
я в отчаянии.нужен совет.
ест опыт 2 лампы Гайвера и гирлянды 2.
ардуино вемос д1 мини шьется, не работают.диоды 2811.
ругается что есть лишние библиотеки, но ето ничего.веб работает.то есть программировал гирлянду с управлением по вайфаю.веб есть, диоды не светят. думал может выход спалил.менял на 2й.не помогло.
3 проекта так не работаеют.диоды проверял на работоспособность.
+
avatar
0
Если только не работает гирлянда на 2811, а другие гирлянды работают, то проверяйте гирлянду

Проверьте пайку, проверьте разъемы, тут проходило, что китайцы поставили разъемы наоборот, выход и вход местами

Если есть какой то готовый проект, подключайте к нему 2811 работает там где работает 2812, только цвет переставлен (красный и зеленый)
+
avatar
0
гирлянда работает на другой плате ардуино.я ваш проект брал и дописывал кол свтодиодов, такое…
как бы проблема в ардуино.или несовместимость где то или плата такая не рабочая.
толком проверю когда опять придут заказанные 2812.
помнил что может быть что 4й выход ето 5 например… подставлял.диоды бы засветились сразу при втыке.а может и нет.
сейчас пошел проверять на модуле свтодиодном.вроде 2812.тоже нет.но замигали вместе.
2811 вместо 12 взаимозаменяемы, должны работать?
+
avatar
0
Как я понял гирлянда работает «гирлянда работает на другой плате ардуино»
Значит не правильно настроен скетч под вашу плату, проверьте номер пина

гирлянды на ws2811 и ws2812 взаимозаменяемы, только у них цвета красный и зеленый поменяны местами
+
avatar
0
скетчи разных проектов.
поскольку прежний опыт есть успешный,4 платы 3 проекта.
то могу предположить что пин 5й по факту 6й например.
но ету версию проверял.не хочет
д1 вемос самый дешевый.может брак какой то.компилируется нормально.
вариантов ошибиться платой всего 2.думаю 2 подходящие.wemos d1 и d1 mini.
вот как то бы проверить выдает ли ардуина на выходе.
спасибо за внимание.
+
avatar
0
на ESP8266 не проверял, но работать должно, там очень критично выбрать правильный пин
+
avatar
0
  • Andrey31
  • 10 декабря 2020, 19:50
я в позапрошлом году, когда только автор выложил проект, запускал на wemos. пин к сожалению не вспомню, но светодиодам хватало 3,3 вольта (для управления, питал отдельно 5 вольт). Работало все прекрасно, даже ДУ. только смысла в этом без приложения нет.
+
avatar
0
Скажите, пожалуйста, а можно каждой лампочке в гирлянде WS2812 присвоить порядковый номер и прописать скетч, чтобы например сперва загорелись лампочки: 5, 15, 23, 46,112, затем они потухли и загорелись лампочки 12, 25, 47, 83;? Если можно напишите пожалуйста как это прописать в скетче, через какие функции.
Это я хотел сделать для реализации: Есть гирлянда WS2812 из 200 лампочек (50х4), эту гирлянду повесить на елку по принципу «серпантин», и чтобы загоралось сперва верхнее (первое) кольцо (лампочки 1-5), затем второе кольцо (лампочки 6-23), далее третье кольцо (лампочки 24-54) и т.д.
Или также гирлянда-серпантин. Сперва загоралось первое кольцо — полностью (лампочки 1-5), затем во втором кольце загорались только те лампочки, которые расположены под лампочками первого кольца (лампочки 9, 13, 16, 19, 22) и т.д. Чтобы получился эффект бегущего огонька по прямой сверху вниз.
Такие эффекты можно прописать только после повешивания гирлянды на елку. И для каждой елки будет индивидуальный скетч.
Скажите, пожалуйста, можно это реализовать или нет? Если да, то КАК?
+
avatar
+1
это называется матрица соответствия (таблица соответствия)
Это будет реализовано в проекте на ESP32
Создается дополнительно массив итоговой, который будет выводится

В цикле переносится согласно матрицы соответствия, данные из массива расчета в массив итоговой при каждой прорисовке

в нано памяти не хватит
+
avatar
0
  • VKOT
  • 21 ноября 2020, 21:08
ЗДРАВСТВУЙТЕ! автору-что изменить в скетче чтоб заполнение черного цвета стало не синим а бельім фоном.Спасибо!
+
avatar
0
Даже не представляю, что у вас получится, логика всех эффектов нарушится
Файл addings.h
Фрагмент кода
///////////////////////////////////////////////////////////////// Черный фон
void addbackground() 
{
  #if MAX_LEDS < 255
    uint8_t i; 
  #else
    uint16_t i;
  #endif

   for (i = 0; i < NUM_LEDS ; i++ ) 
    if (  (leds[i].r < 5) &&
          (leds[i].g < 5) &&
          (leds[i].b < 5) )
    leds[i].b +=CRGB(5,5,5);  
}

заменить последнюю строкуleds[i].b +=CRGB(5,5,5); на эту leds[i] =CRGB(255,255,255);
+
avatar
-2
в 6 утра родил еффект)
2811 не хотели работать вместо 2812. библиотеки написаны пож дж р б.ето как минимум.и под 2812.
уже отчаялся и думал искать скетч под 2811 диоды.
но сделал все как надо и пошло.гирлянда на веб управлении ето не кнопки.еффекты натомеш лучше, есть автоперебор.
поскольку моя гирлянда на улице, вывел 2 провода для подключения ардиуно в комнате.метров 7-10))
по дата проводу пошли наводки.часть гирлянды то светится частично то мигает.
прошивка скомпилировалась и работает не по тому порту выходу что программировалась.хм…
+
avatar
+4
Вы зачем пишите сюда не по теме, Людей вводите в заблуждение, У данной разработки нет веб управления, есть пульт.
Если к текущему проекту сделали веб интерфейс, то я рад за вас

Если хотите обсуждать свой проект, создайте тему и пишите туда, вам ответят и там подскажут,
+
avatar
+3
Обновления в скетче
Добавлены настройки:
.
#define TOP_POSITION  2           // Позиция вершины елки (используется только в эффекте огня) 
                                  //        0 - не определена 1 - Вершина в начале гирлянды 2 - Вершина в конце гирлянды
#define TOP_LENGTH    0           // Выделять вершину цветом 0 - не выделять, больше 0  сколько светодиодов выделять в вершине
#define TOP_COLOR     CRGB::Red   // Цвет выделения вершины
#define TOP_EFFECT    2           // 0 - Просто залить цветом, 1 - случайное переливание, 2- переливание сверху вниз 3- переливание снизу вверх
#define TOP_DELAY     150         // Задержка эффекта в милисекундах
#define TOP_FADING    5           // Затухание
TOP_POSITION — это только для эффекта огня (потом будет использоваться и в других местах
Остальные параметры для задания эффектов для вершины гирлянды (например можно сделать звезду, снежинку, Черепушку, голову Д.Мороза и т.д)
TOP_LENGTH — задает сколько светодиодов используется в вершине, если 0 то отключено и память не расходует
TOP_COLOR — задает основной цвет, вокруг которого будут все эффекты CRGB::Red -красный, CRGB::Blue — синий Цвета можно брать отсюда готовые
TOP_EFFECT — задает эффект
TOP_DELAY — задает время паузы между следующим состоянием в миллисекундах, Чем меньше число, тем быстрее эффект.
TOP_FADING — задает скорость затухания цвета до черного. Чем больше число, тем быстрее цвет станет черным
параметрами TOP_DELAY и TOP_FADING можно поиграться и найти очень интересные эффекты
+
avatar
0
  • alexx27
  • 07 декабря 2020, 23:05
Где скачать скетч с самым последним обновлением для вершины гирлянды? Так и не понял. пожалуйста, ткните пальцем
+
avatar
0
Четвертый вариант скетча с поддержкой библиотек Gyvera, это последний скетч, notamesh4Biblio содержит дополнения с вершиной
+
avatar
0
  • alexx27
  • 08 декабря 2020, 01:02
Спасибо!
+
avatar
+3
Больше в NANO не впихнуть, надо что то отключать
+
avatar
0
  • Ser_Go
  • 28 ноября 2020, 08:14
Добавил этот блок в скетч. 200 диодов в гирлянде, последних (для звезды) обозначил 6. Компиляция и загрузка проходит корректно. Выделения шести последних диодов визуально не наблюдается. Или выделение только на эффекте пламени?
+
avatar
+1
Я в пятницу проверял работало, в понедельник проверю еще, может я что напутал, и скинул не тот скетч
+
avatar
+1
Перепроверил, все работает.
+
avatar
+4
  • SebSeb
  • 30 ноября 2020, 22:46
Специально подписался, чтобы сказать ОГРОМНОЕ СПАСИБО за разработку и поддержку этого проекта. И отдельное спасибо за бесконечную выдержку и такт в топике (Сразу видно наше родное Советское воспитание:). Ваш яндекс кошелек в скетче правильный? Вчера запустил гирлянду, любуемся всей семьей, так что хочу шампанским на Новый год угостить!
+
avatar
+1
Спасибо. за добрые слова, Но развитие данной темы не представляется возможным из за нехватки памяти. Идей много и развитие пойдет в ветке ESP32 (ESP8266). Яндекс кошелек правильный. 410011655180757
+
avatar
+1
  • SebSeb
  • 01 декабря 2020, 11:58
Готово. Буду следить за новой веткой. Но этот проект, думаю, еще долго будет актуален. Скетч работает, ардуинок еще много в запасе, так что можно всю квартиру гирляндами завесить:) Управление всеми свести на один пульт и все, новогоднее украшение готово.
+
avatar
+2
  • watso
  • 03 декабря 2020, 14:39
Добрый день, друзья а не поделитесь ссылочкой (лучше видео) на пошаговую инструкцию для настройки. А то почитал эту тему, и загорелся желанием сделать такую гирлянду, заказал ARDUINO Nano V 3.0 и 2 такие ленты.
До этого дела с ARDUINO вообще не имел. Вот и хотелось бы найти инструкцию для дураков, чтобы поэтапно что установить и куда нажать.
А то в этой инструкции написано добавьте скетчи, а как это сделать, что куда нажимать не понятно.
Буду использовать на уличной елке, соответсвенно кнопки и пульта не надо, достаточно чтобы при подачи питания включался режим авто и прогонялись все подряд режимы.
Может есть готовая прошивка со всеми настройками?
Заранее спасибо.
+
avatar
+1
Давайте так, вы получите и я вам покажу что делать пошагово,
Вопросов на самом деле больше, чем вы написали
+
avatar
0
  • watso
  • 10 декабря 2020, 11:03
Спасибо большое Дмитрий. Все пришло, в выходные наверное попробую собрать, тогда к вам и обращусь.
+
avatar
+1
Наваял обзор как подключать правильно гирлянды. Может кому пригодится.
+
avatar
0
  • SebSeb
  • 04 декабря 2020, 22:56
Подскажите, пожалуйста, где выставить уровень яркости при запуске после сброса? Уж больно ярко 255:)
+
avatar
0
файл _main.ino
где то 82 строка
uint8_t max_bright = 255;                                     // Overall brightness definition. It can be changed on the fly.
+
avatar
-6
  • ataman_i
  • 07 декабря 2020, 05:50
+
avatar
+2
Не морочьте людям голову, то что вы кидаете нельзя запустить на NANO
+
avatar
-3
  • ataman_i
  • 07 декабря 2020, 15:19
нано позапрошлогодняя тема))
+
avatar
0
  • abomin
  • 07 декабря 2020, 18:32
ПоскажИте, плиз. Можно ли как-то сократить скетч, чтобы он уместился в 8 килобайт Attiny85? Ну там, ИК пульт отпилить, или эффекты проредить?
+
avatar
0
Я в шоке, в 8 кб памяти програм, это куда не шло но оперативы всего 512 байт один стек скушает половину
Максимум что можно это демо пример библиотеки FastLED на 50 светодиодов
минимум это ATMEGA168A в шапке есть скетч.
+
avatar
0
  • abomin
  • 07 декабря 2020, 23:01
Да, про 512 ОЗУ я и забыл…
+
avatar
0
Подскажите пожалуйста, можно ли сделать на светодиодах GS8208 0,5W 12V, если да, то там четыре провода +12, GND, DI1 и DI2, ну питание и земля понятно, а как быть с di1 и di 2?
+
avatar
0
Нет, Библиотека FastLED не поддерживает данный тип.
Вот все что поддерживается
+
avatar
0
Завелась со скетчем с сайта Гайвера, тип микросхемы в скетче поставил ws2811, каналы связи соединил в один. Работают отлично.
+
avatar
+1
значит и этот заработает, скетч от Гайвера основан на этом
+
avatar
+2
Контроллер должен быть 5 вольтовый (Nano, Mega)
Для 3,3 вольтовых надо на контроллер подавать не 12 вольт а 5 вольт, стабилизатор может не выдержать
+
avatar
0
Во время экспериментов я использовал 2 источника питания, на 12 и на 5 вольт, 5 питает контроллер Nano, 12 вольт сами диоды, землю от диодов тоже на контроллер, на тот же пин, что и земля от 5 вольт. Хочу Ваш скетч, завтра попробую поковыряться. Спасибо.
+
avatar
+1
  • kor0lev
  • 09 декабря 2020, 15:29
Вам плюсик в карму и копеечку на кошелек! супруга в восторге)
пока юзаю Гайверовскую версию, с кнопкой, на неделе начнем ковырять 4+
+
avatar
+1
Спасибо. и от меня Хорошего настроения, Удачи, Доброго здоровья!!!
+
avatar
0
  • kor0lev
  • 10 декабря 2020, 15:43
возникла проблема с пультом
датчик у меня «для тупых», распаяный на пате с обвязкой и индикацией
так вот индикация указывает на наличие сигнала, когда его нет (не на всех режимах, закономерность отследить не было времени), после чего ардуина вообще отказывается отзываться на пульт до перезагрузки
куда копать? питаю телефонный БП, 50 диодов, по напряжению есть просадка, хотя тока должно быть с запасом (ток ограничиваю в прошивке) может добавить конденсаторы для сглаживания? электролит и керамику для надежности… или вообще разворачиваться в стороу нормального БП
сорян, если обсудалось, но вроде всю тему просмотрел
+
avatar
+1
Потребность в блоке питания проверяется подключением USB (разъем должен быть на плате)
во первых вы подаете стабильное напряжение,
Во вторых можно посмотреть лог
+
avatar
0
  • kor0lev
  • 10 декабря 2020, 17:04
Лог я отключил из экономии, но вчера тестил с внешним питанием и USB и пульт работал без проблем
спасибо за подсказку, вопрос снят)
+
avatar
0
Добрый день! в последней версии хочу использовать дисплей и аналоговые кнопки, но не могу найти файл commands.h, где настроить действия этих кнопок?
+
avatar
0
мы говорим про скетч notamesh4Biblio
Все управление и настройки теперь в одном месте в главном файле notamesh4Biblio.ino
Команды в конце
со строки 270
Читайте комментарии там все показано как делать
+
avatar
0
  • Berebes
  • 11 декабря 2020, 21:05
Может кто знает почему кнопка с пульта определяется несколькими кодами? В предыдущей версии прошивки можно было выбрать тип пульта. В последней не нашёл такой настройки, может в этом дело?
+
avatar
+1
Разработчик библиотеки прикрыл эту возможность. Тип пульта можно выбрать в файле IRremote.h, он находится в папке библиотеки

Загружайте демо от IRremote и сотрите, там много диагностических скетчей
+
avatar
0
Добрый вечер! как сделать чтоб параметр Glitter (блеск) по умолчанию был выключен, в настройках эффектов параметр GLITER_ON ставил и 0 и 1 всё равно по умолчанию включен, только кнопкой выключается.
+
avatar
0
режим GLITER теперь хранится в EEPROM
Один из вариантов, который нравится:
1) Либо Устанавливаете как надо и нажимаете кнопку с командой
Setup_Command_Setup_Mode_Off ( Выход из режима настройки)
2) либо Закомментируйте 317 строку файла _main.ino
ExtFlag.Byte = EEPROM.read(EXTFLAG);                        // Прочитаем расширенные настройки
Теперь настройки Очередность Цветов, включения блеска, заполнения фона и включения свечей берется из настроек
3) либо просто отключить запись в EEPROM для этого SAVE_EEPROM сделать равным 0
+
avatar
0
  • Fenixbel
  • 16 декабря 2020, 00:25
Вечер добрый.
Как сделать чтобы в эффекте огонь не менялось направление? А то получается задаем верхушку елки, но через некоторое время меняется направление и верхушка становится снизу.
+
avatar
0
Есть параметр настройки
#define TOP_POSITION  0           // Позиция вершины елки (используется только в эффекте огня) 
                                  //        0 - не определена 1 - Вершина в начале гирлянды 2 - Вершина в конце гирлянды
+
avatar
0
  • Fenixbel
  • 16 декабря 2020, 01:43
Да, я выставляю этот параметр, эффект включается верно, но через время указанное в строке:
#define DIRECT_TIME 20 // Через сколько секунд менять направление если 0 — не меняем
направление само меняется и огонь получается вверх ногами.
+
avatar
0
Спасибо подправил
+
avatar
+2
Исправил ошибки скетча
1) направление огня теперь правильно отрабатывает
2) ввел параметр SAVE_EEPROM 2 (это когда не используется вход в режим настройки)
#define SAVE_EEPROM  2           // Сохранять настройки запуска в EEPROM
                                  // 0 - ничего не хранить
                                  // 1 - хранить стартовый режим, длинна гирлянды, скорости и расширенные настройки 
                                  //                        (очередность цвета,состояние блеска, фона, свечей)
                                  // 2 - хранить стартовый режим, длинна гирлянды, скорости

3) исправил мелкие ошибки
Скечь доступен по старой ссылке https://yadi.sk/d/nPBxMYT-LkwtOw
Все скетчи в одном месте по ссылке https://yadi.sk/d/wn_vaw2hgcQ5Yg?w=1
без скобочек (х) и без даты текущая версия скетча, скобочки или дата это предыдущие версии
Например:
notamesh168.zip -текущая версия
notamesh168 (1).zip — прошлая версия
notamesh4Biblio.zip — текущая версия
notamesh4Biblio_<дата>.zip прошлые версии, где дата, момент перехода
+
avatar
0
  • Inmate57
  • 16 декабря 2020, 17:04
Дмитрий, здравствуйте. Я правильно понимаю, что для того, чтобы обновить версию, нужно скачать обновлённый скетч, и заново делать все настройки, вбивать коды клавиш, и т.д.? Нет какого-то более удобного способа? Если нет, может быть планируется страница на Гитхабе, где можно было бы удобно отслеживать историю версий и изменений?
Спасибо заранее за ответ и за замечательный проект.
+
avatar
0
Сейчас сделано наоборот очень удобно, все настройки в одном файле notamesh4Biblio.ino
Скачиваете скетч, туда бросаете свой notamesh4Biblio.ino и все, все настройки готовы
Я все изменения по файлу notamesh4Biblio.ino публикую новым комментарием, достаточно прочитать, и подкорректировать если надо
+
avatar
0
  • Fenixbel
  • 17 декабря 2020, 22:27
Вечер добрый.
Подскажите пожалуйста сигнальный провод на диоды 2812 подойдет по сечению как от шлейфа IDE?
По питанию понял, что желательно не менее 0,14 и отдельно на каждые 100 диодов, а на сигнальный пойдет тонкий?
+
avatar
0
Да тонкий подойдет, но желательно длинной в разумных приделах
+
avatar
0
Обновил Скетч под плату Gyvera
+
avatar
0
GButton btn1_gyver(BTN1_PIN, LOW_PULL )
выдает ошибку, как починить?
(я не разбираюсь в програмировании)
+
avatar
0
Мой косяк, подправил, ошибок не выдает, скачать по той же ссылке
+
avatar
0
Здравствуйте! Была такая же ошибка. После установки актуальной библиотеки Gyverbutton ошибка ушла.
+
avatar
0
Добрый день! подскажите можно ли где то подкорректировать цвета, у меня красный горит вместо синего и наоборот. Проверял выставлением на аналоговые кнопки включение основных цветов в RGB, в GRB вообще ни один не на своем месте.
+
avatar
0
Ставите свойство SAVE_EEPROM 0 (или SAVE_EEPROM 2 в последнем изменении) и корректируете
#define COLOR_ORDER   RGB         //Очередность цвета светодиодов  RGB или GRB
                                  // если стоит SAVE_EEPROM  1 , то очередность цветов регулируется в режиме настройки
+
avatar
0
Да, именно так и делаю (скачал сегодня последнюю версию, SAVE_EEPROM стоит 2), ставлю RGB — итог — зелёный-зелёным, синий-красным, красный синим, ставлю GBR -итог- зелёный-синим, синий-красным, красный-синим, любые другие вариации дают такой же результат, как и GBR,
Эффект огонь, у меня сине-голубой, как только включаю, вся гирлянда загорается красным цветом и первый эффект начинается заполнение снизу вверх синим цветом. Я так понимаю, что из за несоответствия цветов я вижу эффекты не так как Вы их задумывали.
+
avatar
0
не подтвердилось.
Скачал последний скетч
ничего не менял (там стоит SAVE_EEPROM 2 и COLOR_ORDER RGB)
загрузил в NANO
на верху гирлянды мигает красным (у меня подключены светодиоды WS2811)
Поменял COLOR_ORDER на GRB
Загрузил в NANO
на верху гирлянды мигает зеленым
Поверьте.
+
avatar
0
Я думаю, что у меня из за того, что тип ленты GS8208, я в настройках ставлю WS2811, все работает, но по всей видимости неправильно.
+
avatar
0
  • dpd_69
  • 18 декабря 2020, 21:08
Привет! Куда подключить LED1 и LED2? С уважением
+
avatar
0
К любым двум свободным пинам, обычно не к аналоговым например D6 или D7, я использовал двойной светодиод с общим коллектором, но это не принципиально, все настраивается, Если сразу будут светится то меняем эти строки
#define LED1_On           digitalWrite(LED1_PIN, HIGH)          //Включить светодиод 1
#define LED1_Off          digitalWrite(LED1_PIN, LOW)           //Выключить светодиод 1
#define LED2_On           digitalWrite(LED2_PIN, HIGH)          //Включить светодиод 2
#define LED2_Off          digitalWrite(LED2_PIN, LOW)           //Выключить светодиод 2
HIGH и LOW местами
+
avatar
0
  • dpd_69
  • 18 декабря 2020, 23:18
В скетч если я поменяю-- #define LED1_PIN 26 и #define LED2_PIN 25 с PIN D6 и PIN D5 получится, так?
+
avatar
0
Надеюсь я правильно понял
Если у вас светодиоды будут подключены к D5 и D6, то настройка такая
#define LED1_PIN        5           // Номер пина, куда подключен 1 светодиод
#define LED2_PIN        6           // Номер пина, куда подключен 2 светодиод
+
avatar
0
  • dpd_69
  • 19 декабря 2020, 00:00
Попробую, спасибо большое!
+
avatar
0
  • kor0lev
  • 21 декабря 2020, 22:40
почему-то постоянно яркость падает до минимума, хотя я даже убрал такую опцию с кнопок пульта
с чем может быть связано? питание?
+
avatar
+1
Если в логах нет Brightness- то блок питания виноват
+
avatar
0
  • Ser_Go
  • 22 декабря 2020, 17:50
На моей гирлянде тоже такое проявляться начало, именно после монтажа на елку. До этого спираль из 200 светодиодов была намотана на трубу пластиковую d110 мм (испытательный стенд), работало без затыков на БП 3А (ограничение в скетче ставил в 2А), после установки елки подключил БП 5А, ограничение поставил 3А. Может вечер проработать без неожиданного уменьшения яркости, может в течение часа и два, и три раза неожиданно уменьшить яркость до минимума, эффекты работать при этом продолжают…
Непонятки какие-то…
Елка далековато стоит от компа, попробую на ноут ArduinoIDE поставить, посмотреть логи…
+
avatar
0
Понял, проверю
+
avatar
0
  • Ingvar1
  • 22 декабря 2020, 10:47
Дорброго дня.
Прошу прощения за невнимательность, но не могу найти, на каком этапе появилось ЛЕД1 и ЛЕД2. Ведь гирлянда одна!
Дайте ссылку на схему. Или на дату, где началось обсуждение.
Спасибо
+
avatar
+1
Началось отсюда
Выход на гирлянду один, гирлянд может быть несколько (на ESP32 может работать до 80 гирлянд по 50 светодиодов в каждой) Вы можете подсоединить несколько гирлянд последовательно по цепочке столько сколько хватит памяти в устройстве.

Светодиоды LED1 и LED2 введены для индикации, не каждому удобно к елке подключать лог.
На данный момент LED1 завязан на кнопки Gyvera, LED2 показывает вход в режим настройки
Пользователь может самостоятельно их переназначить
Схему подключения Индикаторных светодиодов можно взять в интернете
+
avatar
+3
  • lantari
  • 22 декабря 2020, 12:54
Про палитры.
Встроенные палитры показались слишком синюшными. Сделал свой набор палитр, поярче («С блек-джеком и шлюхами» © Бендер). Файл с палитрами: yadi.sk/d/mHxFDeoQUTsLKQ. Картинки палитр: yadi.sk/i/HbXSb1EWzSjS-A
+
avatar
0
Спасибо, добавлю
+
avatar
0
я правильно понимаю что палитра стала «белой»?
попробовал подменить файл что был у автора файлом данным вами… кардинальных изменений не заметил, показалось более «белым»(бесцветным) свечение.
+
avatar
+2
  • lantari
  • 23 декабря 2020, 10:25
Что бы использовать мой файл с палитрами нужно поместить его в папку с файлами проекта и в файле _main.ino заменить
#include «gradient_palettes.h»
на
#include «gradient_palettes2.h»
примерно в 242 строке.
+
avatar
0
зачем так сложно? а просто переименовать «gradient_palettes2» в «gradient_palettes»? или программисты не ищут легких путей?
Я заменил файл в папке, и мне показалась палитра белой. но я все эффекты не перебирал, просмотрел штук 5

ага, спасибо за картинки, теперь явно видно преобладание светлых тонов. предыдущая палитра НА КАРТИНКЕ была более темной, а вживую диоды светились «цветом», на новой палитре более желто-белое, что вживую дает свечение диодов белым цветом, и желтым не отличимым от белого.
Это мое мнение, но предыдущая градация цветов мне больше нравится… я-б немного изменил — зеленого добавил. (в палитру автора)
+
avatar
0
  • lantari
  • 23 декабря 2020, 12:19
Можно и так. Писал для себя, и, что бы не удалять файлы из прошивки (что бы можно было вернуться к первоначальному состоянию) создал новый файл с другим именем.
Сравнил сейчас картинки палитр: да, в моём наборе палитр больше белого, чем в изначальном наборе. Будет время ещё поэкспериментирую с палитрами. Еще бы разобраться как используются палитры: по времени изменяется цвет по палитре, по местоположению диода, по яркости или еще как…
+
avatar
0
  • Serg730
  • 23 декабря 2020, 20:27
Мне ваша палитра больше понравилась. В ней цветов больше и некоторые эффекты стали смотреться более интереснее. Но я также соглашусь, что белого цвета стало через чур много. Убавить бы белого. Тогда было бы отлично.
+
avatar
+1
  • lantari
  • 24 декабря 2020, 12:29
Поправил палитры. Новый вариант: yadi.sk/d/kUHqLAqKxlH-vw
+
avatar
0
Тут режимы настолько невзрачные, что для меня они все слились в бесконечное переливание цветов. Посоветуйте, на каком режиме лучше тестировать палитры, чтобы разницу было заметно?
+
avatar
0
  • Serg730
  • 24 декабря 2020, 17:59
Да нормально тут с эффектами. Просто их тут больше, чем во многих других проектах. И со стандартными палитрами многие кажутся очень похожими друг на друга. С альтернативными ( по-моему мнению) стало заметно разницу между похожими эффектами.
И ещё в других проектах ( обычно) не более 10. Так и тут можно выбрать самые крутые и их зациклить. И будет всё тоже самое. ИМХО конечно
+
avatar
0
Да, дело вкуса конечно. Но что я, что домашние, между доброй половиной эффектов особой разницы не заметили :) Надо прям сидеть и внимательно вглядываться, особенно если отключить анимацию перехода. Хочется хотя бы несколько простых и понятных вариантов как в обычных гирляндах или RGB-девайсах игровых, на фоне которых замороченные лгбт-переливания будут смотреться еще выигрышней. Но опять же, это вкусовщина полнейшая, это понятно.
Надеюсь, что в следующем году можно будет собрать прошивку со своим набором эффектов.
+
avatar
0
  • Serg730
  • 24 декабря 2020, 19:03
А зачем ждать. Выберите понравившиеся вам эфекты. в строчке

#define MY_MODE 0,1,2,4,5,9,10,11,14,16,17,18,19, \

запишите их порядковый номер через запятую
и в строчке поставте

#define DEMO_MODE 3 // Режим при включении

// 3 — демо режим с последовательным перебором выбранных эффектов
+
avatar
0
Я в курсе про этот режим, я говорил о возможности добавлять свои эффекты, которых изначально в скетче нет.
+
avatar
0
Как вы собираетесь добавлять, если памяти нет совсем больше?
Я сейчас добавлю новое и все скажут не компилируется
+
avatar
0
Я понимаю, я говорю про ESP.
+
avatar
0
  • linkar
  • 24 декабря 2020, 22:43
Так может стоит перейти в ветку с EPS?)
+
avatar
0
Нет, не стоит, т.к. это было логическое продолжение обсуждения, которое началось здесь. И надеюсь, что оно уже закончилось, т.к. всё обсудили.
+
avatar
+2
оригинальных эффектов 17, остальные эффекты образованы настройками параметров этих эффектов,
Да в планах есть добавление эффектов, но сейчас я сосредоточен прикручиванием bluetooth к esp32.
+
avatar
0
блин, если к новому году успеете прикрутить — будет нереально круто!!!
+
avatar
0
  • Serg730
  • 25 декабря 2020, 20:42
Спасибо. Но как оказалось. Самый лучший для меня оказался второй вариант. (Ваш первый. Который вы предложили) На нём и останусь.
+
avatar
+1
  • lantari
  • 23 декабря 2020, 10:34
В исходных палитрах было больше синего, зеленого и фиолетового (картинка с исходными палитрами: yadi.sk/d/ntxpV4_-Mwq8VQ). Добавил больше красного и желтого.
+
avatar
+1
Самое смешное я на прошлой неделе тоже сделал перебор палитр, убрал все черные, добавил желтых.

Я добавлю настройку по выбору палитр, плюс сделаю (уже сделал) режим вывода градиента, чтобы смотреть на палитры, включение будет с пульта
+
avatar
0
  • kymip
  • 23 декабря 2020, 20:07
Есть какая-то программа на смартфон, чтобы управлять гирляндой, через ИК-порт? Стоит Galaxy S4 Universal Remote, где можно добавлять кнопки и прописывать к ним коды, десятиричные и шестьнадцатиричные. А тут формат другой.
+
avatar
0
Ну не знаю, на Xiaomi штатная программа работы как пульт при выборе телевизора LG управляет гирляндой.
+
avatar
0
  • Contr
  • 24 декабря 2020, 15:56
Дмитрий, спасибо большое за Ваш скетч!!! Такой вопрос. Можно ли сделать, чтобы было 2-3 группы демо режимов выбранных эффектов и нажатием на кнопку можно было их выбрать. Например, MY_MODE_1 0,1,2,3,4,5 и MY_MODE_2 11,22,33,44,55,66. Допустим, жена включает кнопкой свои избранные эффекты, я – свои. Если можно, то как? (В программировании не силён)
+
avatar
+1
Добавлю.
+
avatar
0
Подскажите плиз, а как в этот вариант Четвертый ПЛЮС вариант скетча — добавить управление одной кнопкой? Заранее спасибо.
Или в том варианте что Вы даете в начале с управлением кнопкой там столько же эффектов?
+
avatar
0
В четвертом плюс управление только пультом и аналоговой кнопкой
далее четвертый плюс обновился в четвертый библио с добавлением библиотек Гайвера
Если вам надо именно четвертый плюс он у гайвера в проекте елки
Я вам рекомендую взять четвертую библио с настройками под одну кнопку
+
avatar
0
Спасибо большое за ответ, взял то что Вы посоветовали, буду пробовать. Пытался сделать с пультом, но почему то мой датчик не считывает пульт. В консоли выдаёт что подключено, нажимаю кнопки мигает индикатор на платке с диодом но код не получаю( поэтому решил оставить просто на кнопке)
+
avatar
0
Для, начала надо проверить на примере из библиотеки пульта
+
avatar
0
Подскажите пожалуйста что может быть не так, взял 4ю библио что ссылку дали выше с настройками на одну кнопку, но почему то не переключается кнопкой( Настройки вроде все проверил.
+
avatar
0
Я написал настройку по аналогии как у гайвера но не проверял, и никто не прокомментировал, что не работает
Скиньте лог нажатий, сюда
+
avatar
0
А как правильно этот лог вытащить? Я правильно понял если тут стоит вот так
#define LOG_ON 1 // Включить лог 1 — включить лог
то лог пишется? но как его вытащить я не знаю(
+
avatar
0
Подключить USB, в среде ардуино зайти в меню Инструменты/ Монитор порта
+
avatar
0
Вроде сделал, надеюсь правильно.
Это получается кликает но с задержками?
09:56:44.911 -> \⸮⸮'⸮⸮4(⸮؁Z⸮<⸮4⸮⸮x
09:57:22.758 -> ---SETTING UP---
09:57:23.732 -> Initial delay: 0ms delay.
09:57:23.732 -> Initial strand length: 150 LEDs
09:57:23.732 -> EXTEND Setup
09:57:23.732 -> GRB LEDS
09:57:23.732 -> Glitter On
09:57:23.732 -> Background On
09:57:23.732 -> Candle Off
09:57:23.732 -> Mode: 255
09:57:23.732 -> 1006
09:57:23.732 -> Change palette off
09:57:23.781 -> DEMO MODE 1
09:57:23.781 -> ---SETUP COMPLETE---
09:57:24.205 -> Mode: 0
09:57:24.205 -> 1450
09:57:24.205 -> Change palette off
09:57:30.829 -> End SetMode
09:58:21.760 -> Start SetMode
09:58:22.136 -> Mode: 1
09:58:22.136 -> 60393
09:58:22.136 -> Change palette off
09:58:28.914 -> End SetMode
09:59:20.213 -> Start SetMode
09:59:20.614 -> Mode: 2
09:59:20.614 -> 120397
09:59:20.614 -> Change palette ON
09:59:27.510 -> End SetMode
09:59:49.820 -> New Palette: 23
10:00:19.513 -> New Palette: 24
10:00:19.513 -> Start SetMode
10:00:19.890 -> Mode: 3
10:00:19.890 -> 180409
10:00:19.890 -> Change palette ON
10:00:26.653 -> End SetMode
10:00:48.081 ->
10:00:48.081 -> ---SETTING UP---
10:00:49.092 -> Initial delay: 0ms delay.
10:00:49.092 -> Initial strand length: 150 LEDs
10:00:49.092 -> EXTEND Setup
10:00:49.092 -> GRB LEDS
10:00:49.092 -> Glitter On
10:00:49.092 -> Background On
10:00:49.092 -> Candle Off
10:00:49.092 -> Mode: 255
10:00:49.092 -> 1006
10:00:49.092 -> Change palette off
10:00:49.092 -> DEMO MODE 1
10:00:49.092 -> ---SETUP COMPLETE---
10:00:49.521 -> Mode: 0
10:00:49.521 -> 1450
10:00:49.521 -> Change palette off
10:00:56.158 -> End SetMode
10:01:06.821 ->
10:01:06.821 -> ---SETTING UP---
10:01:07.807 -> Initial delay: 0ms delay.
10:01:07.807 -> Initial strand length: 150 LEDs
10:01:07.807 -> EXTEND Setup
10:01:07.807 -> GRB LEDS
10:01:07.807 -> Glitter On
10:01:07.807 -> Background On
10:01:07.807 -> Candle Off
10:01:07.807 -> Mode: 255
10:01:07.807 -> 1006
10:01:07.807 -> Change palette off
10:01:07.853 -> DEMO MODE 1
10:01:07.853 -> ---SETUP COMPLETE---
10:01:08.261 -> Mode: 0
10:01:08.261 -> 1450
10:01:08.261 -> Change palette off
10:01:14.884 -> End SetMode
10:01:24.913 ->
10:01:24.913 -> ---SETTING UP---
10:01:25.917 -> Initial delay: 0ms delay.
10:01:25.917 -> Initial strand length: 150 LEDs
10:01:25.917 -> EXTEND Setup
10:01:25.917 -> GRB LEDS
10:01:25.917 -> Glitter On
10:01:25.964 -> Background On
10:01:25.964 -> Candle Off
10:01:25.964 -> Mode: 255
10:01:25.964 -> 1006
10:01:25.964 -> Change palette off
10:01:25.964 -> DEMO MODE 1
10:01:25.964 -> ---SETUP COMPLETE---
10:01:26.391 -> Mode: 0
10:01:26.391 -> 1450
10:01:26.391 -> Change palette off
10:01:35.473 ->
10:01:35.473 -> ---SETTING UP---
10:01:36.488 -> Initial delay: 0ms delay.
10:01:36.488 -> Initial strand length: 150 LEDs
10:01:36.488 -> EXTEND Setup
10:01:36.488 -> GRB LEDS
10:01:36.488 -> Glitter On
10:01:36.488 -> Background On
10:01:36.488 -> Candle Off
10:01:36.488 -> Mode: 255
10:01:36.488 -> 1006
10:01:36.488 -> Change palette off
10:01:36.488 -> DEMO MODE 1
10:01:36.534 -> ---SETUP COMPLETE---
10:01:36.958 -> Mode: 0
10:01:36.958 -> 1450
10:01:36.958 -> Change palette off
10:01:43.580 -> End SetMode
10:02:34.515 -> Start SetMode
10:02:34.845 -> Mode: 1
10:02:34.845 -> 60393
10:02:34.845 -> Change palette off
10:02:41.658 -> End SetMode
10:03:32.963 -> Start SetMode
10:03:33.330 -> Mode: 2
10:03:33.330 -> 120407
10:03:33.330 -> Change palette ON
10:03:40.192 -> End SetMode
10:04:02.590 -> New Palette: 13
10:04:32.185 -> Start SetMode
10:04:32.185 -> New Palette: 7
10:04:32.586 -> Mode: 3
10:04:32.586 -> 180415
10:04:32.586 -> Change palette ON
10:04:39.403 -> End SetMode
10:05:01.673 -> New Palette: 8
10:05:31.172 -> New Palette: 9
10:05:31.219 -> Start SetMode
10:05:31.583 -> Mode: 4
10:05:31.583 -> 240411
10:05:31.583 -> Change palette ON
10:05:38.633 -> End SetMode
10:06:00.446 -> New Palette: 31
10:06:29.654 -> New Palette: 32
10:06:29.654 -> Start SetMode
10:06:30.031 -> Mode: 5
10:06:30.031 -> 300423
10:06:30.078 -> Change palette ON
10:06:37.084 -> End SetMode
10:06:59.170 -> New Palette: 22
10:07:28.638 -> New Palette: 23
10:07:28.638 -> Start SetMode
10:07:29.059 -> Mode: 6
10:07:29.059 -> 360420
10:07:29.059 -> Change palette ON
10:07:35.838 -> End SetMode
10:07:58.122 -> New Palette: 29
10:08:27.605 -> New Palette: 30
10:08:27.653 -> Start SetMode
10:08:28.031 -> Mode: 7
10:08:28.031 -> 420425
10:08:28.031 -> Change palette ON
10:08:34.880 -> End SetMode
+
avatar
0
По логу ни одна кнопка не нажималась
Можете скинуть, как вы подключили кнопку физически, к какому контакту и как?
+
avatar
0
Подключил к D3 и через пин к GND


В скетче вот так
#define BTN1_PIN 3 // Номер пина, куда подключена кнопка 1
это ж и есть этот пин, или нет?(
+
avatar
0
попробуйте поставить настройку
#define BTN1_LOW       0            // Кнопка 1 0- привязка к питанию 1- привязка к земле
+
avatar
0
Спасибо огромное, так заработало. На кнопку реагирует. вкл\выкл работает переход тоже, единственное удержание кнопки уменьшает яркость, но обратно ее не возвращает, просто выключил из розетки и включил обратно) В этом году оставляю как есть, очень круто получилось, а на следуйщий год уже перейду на Ваш новы проект где другая плата используется)
+
avatar
0
  • Fondorin
  • 27 декабря 2020, 08:22
Благодарю! Все собрал, работает :) С Наступающим!
+
avatar
0
Дмитрий, простите если вопрос не совсем по адресу, но вдруг что-то подскажете.
Я вдохновился палитрами lantari, и решил попробовать сделать свой набор. Разобрался как это сделать, но столкнулся со странной проблемой: палитры без коррекции выглядят намного светлей, чем должны, а палитры, взятые с cpt-city, и которые используются в этом проекте, т.е. с коррекцией FastLED «converted for FastLED with gammas (2.6, 2.2, 2.5)» у меня на гирлянде становятся практически белыми. Гирлянда, кстати, точно такая же как у вас, на WS2811.
Цвета, где хотя бы один из каналов на максимуме (например, 255,0,0 — красный, 0,255,0 — зеленый, 255,255,0 — желтый) выглядят правильно, там коррекция по сути ничего не делает.
Но берём, например, самый насыщенный розовый — 255,0,128. Без изменений на гирлянде он выглядит как очень светлый розовый. Если сделать корректировку, близкую к той, что используется в проекте (gamma 2.2), мы получаем значения (255,0,186), и на моей гирлянде это практически белый цвет. Причем, что самое интересное, почти белым он выглядит только когда используется в палитре, а если вывести его просто как solid цвет, то всё отображается правильно. Чтобы получить искомый цвет палитры, мне приходится сделать корректировку в обратную сторону (например, gamma 0.3), тогда цвет будет (255,0,26), и вот тогда на гирлянде это действительно выглядит как насыщенный розовый, близко к тому цвету, что я вижу на мониторе. Еще раз перепроверил на оранжевом (255,128,0). Без коррекции это чистый желтый, с гаммой 2.2 (255, 186, 0) уже салатовый, с гаммой 0.3 (255, 26, 0) действительно выглядит как оранжевый.
Если у вас есть догадки, из-за чего это может быть, подскажите пожалуйста. Переделывать каждую палитру в фотошопе боюсь до НГ не успеть :) Вряд ли это могут быть проблемы с питанием, т.к. вывод сплошных цветов не через палитры даёт правильные цвета, о чём я писал выше.
+
avatar
0
Вопрос снят, разобрался. Всё правильно там скрипт конвертирует. Он пишет про gamma 2.2, а по факту использует что-то типа 0.45, что похоже на правду. В общем, еще чуть-чуть повозиться, и будут правильные цвета.
+
avatar
+1
  • Inmate57
  • 27 декабря 2020, 17:36
Заметил, что при выборе эффекта (у меня настроено, чтобы в этом случае перебор останавливался) вместе с перебором эффектов останавливается и перебор палитр. Причем, я даже пробовал нажимать кнопку возобновления перебора с пульта. Я вижу в логе строчку 'Continuous palette change', но перебор не стартует. Эффекты выбираю те, в которых есть возможность смены палитр. Версия скетча вроде бы последняя, все библиотеки обновлены.
Можно ли это поправить? Спасибо большое заранее.
+
avatar
0
  • tienye
  • 27 декабря 2020, 20:28
Здравствуйте Дмитрий. Спасибо за труд. Собрал гирлянду на мелких, и на первый взгляд классных светодиодах от BTF-LIGHTING, о которых уже писали выше, но как оказалось желтый на них выглядит как зеленый. Путем перебора нашел что-то похожее на желтый CRGB(255,65,0) и оранжевый CRGB(255,28,0). Т.е. можно смело уменьшать кол-во зеленого минимум процентов на 60, а то и 70, чтобы цвета были нормальными. Как-то можно это сделать в вашей прошивке или только все палитры править руками? Вроде как fastled позволяет делать коррекцию — ссылка. Можете, пожалуйста, добавить такую возможность или подсказать как это можно сделать? Спасибо.
+
avatar
+4
Это нормально, что зелёный светодиод ярче других, это не говорит о качестве. У Дмитрия вроде бы есть в планах добавить коррекцию цвета, пока могу рассказать, как её сделал я. Это не так сложно.
На вкладке main с 383 строки идёт 4 варианта инициализации гирлянды. Найдите ваш, в зависимости от типа диодов и RGB или GRB очерёдности. Например, у меня 2811 RGB, это 386 строчка, там код:
LEDS.addLeds<CHIPSET, LED_DT, RGB >(leds, MAX_LEDS);

прямо после скобки добавляем код, и получается:
LEDS.addLeds<CHIPSET, LED_DT, RGB >(leds, MAX_LEDS).setCorrection(CRGB(255,255,255));

3 числа в скобках — это яркость красного, зелёного и синего светодиодов. В вашем случае второе число нужно уменьшить, значение подбирайте опытным путём :) Например (255,150,255). Палитры править точно не нужно.
+
avatar
0
  • tienye
  • 27 декабря 2020, 22:44
О, большое спасибо! Именно это и искал. С наступающим )
+
avatar
0
  • kor0lev
  • 02 января 2021, 12:34
очень поправило картину
палитры стали нереально сочными!
доработка обязательная к испольнению)
+
avatar
0
  • rdn3
  • 28 декабря 2020, 19:46
Здравствуйте! Собрал гирлянду на Wemos mini. Хочу все эффекты вашего скетча с использованием кнопки. Скетчи компилируются без ошибок. Запускается только номер 3 и то без кнопки. Четвертый с расширенными библиотеками не работает. Компиляция и загрузка проходит. Что можно сделать? Я только начал разбираться в этом.
+
avatar
0
Программа автономная, должна работать без периферии, если правильно указан пин выхода на гирлянду

Берете последний скетч заходите в настройку (файл notamesh4Biblio.ino)
И отключаете периферию
#define FastLED_ON    1           // Если равен 1  используется FastLED (даже если 0 все равно используется FastLED :)
#define LED_ON        0           // Количество светодиодов (0- светодиоды не используются, максимум 2 светодиода 
#define IR_ON         0           // Если равен 1  используется пульт библиотеки IRremote
#define KEY_ADC_ON    0           // Если равен 1  используются кнопки подключенные к аналоговому входу
#define KEY_GYVER_ON  0           // Количество кнопок подключенных к библиотеке GyverButton (0- библиотека отключена, максимум 4 кнопки) 
#define TM1637_ON     0           // Если равен 1  используются индикатор из библиотеки GyverTM1637 
указываете правильно пин и все если ресурсов контроллера хватает, то должно работать
А потом спокойно добавляете периферию если оно надо
+
avatar
0
  • rdn3
  • 28 декабря 2020, 21:13
Без периферии действительно все заработало! Спасибо! Осталось разобраться с кнопкой. Кнопка сенсорная, подключена к пину D6. Перепробовал все варианты прописания в скетче. Не получается. Просто гирлянда не запускается. Подсажете как прописать правильно? Может пин не верный? По Вашей картинке вроде назначение похоже.
Есть уточнение по кнопке. Перемычку «А» замкнул, так как на других скетчах без этого не прошивалось и не работала гирлянда. Может в ней дело…
+
avatar
0
поменяйте эти настройки на 0
#define BTN1_LOW       1            // Кнопка 1 0- привязка к питанию 1- привязка к земле
#define BTN2_LOW       1            // Кнопка 2 0- привязка к питанию 1- привязка к земле
#define BTN3_LOW       1            // Кнопка 3 0- привязка к питанию 1- привязка к земле
#define BTN4_LOW       1            // Кнопка 4 0- привязка к питанию 1- привязка к земле
+
avatar
0
  • rdn3
  • 29 декабря 2020, 04:08
К сожалению не получается. Вечером попробую перемычку на кнопке убрать. Может в этом дело.
+
avatar
0
  • rdn3
  • 29 декабря 2020, 19:23
Нет, и перемычка не помогла. Кнопку так и не смог запустить. Только она появляется в скетче, гирлянда не горит. Жаль. Но не знаю куда копать дальше
+
avatar
0
Вы точно пин правильно указали? не все пины можно использовать, выберите другой вход
+
avatar
0
  • san_q
  • 07 января 2021, 17:09
Здравствуйте! Всех С Новым Годом и Рождеством!
Дмитрий спасибо за проделанную работу! Главный праздник прошел и можно заняться работой над ошибками дальнейшим усовершенствованием. У меня маленькая елочка и на ней поместилось всего 68 диодов и то 10 из них в звезде. ESP-32 отлично справилась со своей задачей и восторгу собравшихся не было предела. Но я считаю ЕСП-эшка избыточна для 68 диодов, хотя управлять с телефона гирляндой это Дорогой Понт.

Arduino Nano с одной кнопкой и на случай показухи IR -пульт я думаю самое то.

Короче! взял notamesh4Biblio.ino, прописал «свои ноги» как нарисовано у Гайвера включил и настроил Ir и GyverButton, пришлось отключить Лог и залил в Nano. Все работает кроме кнопки. Проверьте пожалуйста.
И вот моя елочка, правда коты внесли в украшение некоторые коррективы.
+
avatar
0
  • san_q
  • 07 января 2021, 22:02
Я дико извиняюсь! Все с кнопкой нормально, заработало!
Как говорит мой друг — Если с пятого раза не получается, надо читать инструкцию.
+
avatar
0
  • Inmate57
  • 29 декабря 2020, 18:38
Дмитрий, извините за настырность, но очень бы хотелось иметь возможность отключить смену режимов, но оставить смену палитр. Я чуть выше об этом спрашивал. Скажите пожалуйста, можете ли вы поправить эту ошибку? Или это у меня что-то не так работает? Может быть это не ошибка, и всё так и задумывалось? Просто чтобы знать ждать/не ждать.
+
avatar
0
Вариантов много это сделать
1) без всего DEMO_MODE 3, PALETTE_TIME 30, SAVE_EEPROM 0, MY_MODE Х где Х выбранный эффект

2) с пульта или с кнопки просто выбрать эффект (Command_Next_mode) и все если палитра не переключается то командаCommand_Palette_Auto ее включает

Не понимаю почему вы не можете включить
Я забегался, поэтому и не отвечал.Вопросов много.
Если это ошибка я исправлю
Вы ведь в курсе, что не все эффекты имеют палитры (то есть переключение палитр не возможно)
+
avatar
0
  • Inmate57
  • 30 декабря 2020, 00:19
с пульта или с кнопки просто выбрать эффект (Command_Next_mode) и все если палитра не переключается то командаCommand_Palette_Auto ее включает
Именно так и делаю. Выбираю эффект, отключается автосмена эффектов, и смена палитр тоже отключается (соответствующее сообщение об этом в логе не выводится кстати). Я жму кнопку с пульта, я вижу сообщения 'Continuous palette change' в логе, но автосмена палитр не включается. Пробую на эффектах где смена палитр возможна.
+
avatar
0
  • Inmate57
  • 30 декабря 2020, 01:09
New Palette: 28
New Palette: 29
New Palette: 30
Start SetMode
Mode: 3
360479
Change palette ON
End SetMode
Command: 0xFFE21D
Next mode
Mode: 4
376081
Change palette ON
End SetMode
Command: 0xFFC23D
Continuous palette change
Command: 0xFFC23D
Continuous palette change

4 режим, палитры менять можно. Дважды нажал кнопку автосмены палитр, сижу любуюсь на 30 палитру уже минут 5, не меняется :)
+
avatar
+2
Я понял утром проверю
+
avatar
+2
Да действительно, если остановить демо, останавливалась и палитра, подправил
+
avatar
+3
Обновлен скетч,
Исправлены проблемы с палитрой
+
avatar
0
  • Inmate57
  • 30 декабря 2020, 12:27
Да, теперь всё работает отлично. Спасибо огромное. С наступающим!
+
avatar
0
А можете давать ссылки на обновлённые версии? Или номеровать "_****1.2", "_****1,5" итд. Я уже запутался что есть последней версией. вы ошибки или просьбы выполняете часто, а что скачать с «новинками» я затрудняюсь…
В начале страницы есть 9 ссылок на разные прошивки…
+
avatar
0
что не понятного то
всего 4 версии, плюс усеченная для atmega168
notamesh
notamesh2
notamesh3
notamesh4
notamesh168

Каждая из этий версий это переписывание всей логики работы

Каждая из этих версий может может быть наращена библиотеками управления, (к основному имени добавляется название добавленного функционала) без замены логики работы при этом эти добавки отключаются в скетче
для возврата к исходному варианту
notamesh4plus — добавлен бегущий огонь
notamesh4biblio — Добавлены управление кнопками и светодиоды и возможность компилировать под серию ESP
notamesh4gyver — тоже самое но под проект гувера (он использовал в своей разработке мой проект в декабре 2019 года и там есть ошибки и мало возможностей)
notamesh4BLE — это библио плюс управление по BlueTooth (чисто для ESP32)

вам зачем версии, все ссылки ведут на актуальную версию, ошибки я исправляю быстро
+
avatar
0
Вы выше написали об правке палитр.
Я решил скачать исправленный архив. но что качать?
скачал 4 архива
notamesh4Biblio
notamesh4plus
notamesh4
notamesh4BLE

Исправления вижу в файле "_main" в архиве notamesh4Biblio. значит остальные архивы не правленые? и там файла "_main" вовсе нет.
Вот я и говорю что запутался.
+
avatar
0
notamesh4BLE последний
+
avatar
0
  • dpd_69
  • 01 января 2021, 16:58
Привет! А где обновлен скетч?
+
avatar
0
+
avatar
0
  • dpd_69
  • 01 января 2021, 17:32
notamesh4BLE?
+
avatar
0
Вы смеетесь, как запустить BLE на NANO, ни аппаратной ни программной возможности нет
+
avatar
0
  • dpd_69
  • 01 января 2021, 17:49
Понял.Спасибо большое!
+
avatar
0
Если вам надо BLE, то это другая ветка и он тестовый, и пока не вышел,вот ссылка
+
avatar
0
Назрел вопрос
Нужны ли старые версии?
Перейти на нумерацию версий проекта как предложил уважаемый Lahmandey?
голосуем
1 — оставить как есть
2 — за то, что убрать старые версии из упоминания (почистить обзор) оставить только notamesh, notamesh2, notamesh3, notamesh4 и notamesh168 (notamesh4Biblio будет notamesh4)
3 — Вести нумерацию (notamesh4plus будет notamesh4.1, notamesh4Biblio -> notamesh4.2 notamesh4BLE -> notamesh4.3)
+
avatar
0
3 думаю так
+
avatar
0
я тоже за 3
но обзор почистить нужно.
+
avatar
+5
  • Inmate57
  • 30 декабря 2020, 22:29
вам зачем версии
Минорные версии нужны для того, чтобы понимать, какая версия в данный момент актуальная, а какой пользуешься ты сам, и нужно ли тебе обновляться. Пока это понять можно только по дате на ЯД.

По поводу голосования, опять же, это чисто моё мнение, но 3 вариант не очень удачный, т.к. многие будут качать без раздумий версию 4.3, считая её самой актуальной.
Думаю, стоит оставить текущее разделение, но добавить нумерацию версий.

Но вообще, ничего удобней гитхаба пока не придумано. Там не только удобно следить за обновлениями, там еще можно публиковать список изменений. Если ты год не следил за развитием проекта, сейчас узнать обо всех нововведениях ты можешь только прочитав все комментарии.
+
avatar
+1
  • pc63
  • 03 января 2021, 17:59
Точно надо ввести версионность и разделить по веткам( типам платформ). Я так пока не въехал, какой последний проект под NANO. И какие точно библиотеки.
И надо WiKi.
Сообщество поможет. Я считаю что те, кто скачал и поставил морально обязаны черкнуть хоть пару абзацев. А это наиболее нудная часть работы. Готов поучаствовать. Если/когда сам разберусь)

А про GitHub и речи нет. Тут без вариантов. Размещать и даже не думать!
+
avatar
0
Сделал несколько подарочных гирлянд на Новый Год. Но к сожалению на всех проявился один и тот же эффект — через некоторое время гирлянда уходит в чёрный режим и больше не на что не реагирует (ни не кнопку, ни на пульт). Поставил в режим лога и наблюдал за поведение системы. Гирлянда работала в режиме последовательного перебора всех эффектов. После завершения первого круга заново пошёл эффект 0, 1 и на 2 ушла в чёрный цвет. Интересно то, что ЛОГ продолжал работать и эффекты переключались, но гирлянда оставалась в «чёрном» режиме (вообще не светилась) и кнопка с пультом не меняли программы. С чем это может быть связано?
+
avatar
0
у меня 3 гирлянды все 3 работают идеально
1.диодная лента на окне. WS2812 (ардуино)
2.купленная на али проводная лента на елке. WS2812 (есп32)
3.купленная на али проводная ламповая(диодная) на крыше дома. WS2811 (ардуино)
все 3 гирлянды работают по 3-5 часов без перерыва и проблем.
+
avatar
0
А сколько светодиодов? У меня по 200. Может ли не хватать памяти со временем?
+
avatar
0
проверяйте блок питания, напряжение, нано может работать и при напряжении 1,8 вольт, а светодиоды нет, программа работала неделю без выключения без сбоев
+
avatar
0
Спасибо за совет. Блок усилил до 8А плюс конденсатор на Ардуино поставил. Просадки напряжения вроде нет, но проверю отдельно. Может в защиту уходит?!
+
avatar
0
С напряжением точно всё в порядке. Интересное выявилось поведение: если долго не подходить, то через время чёрный цвет меняется на слабое свечение и отработку эффекта, но потом снова уходит в чёрный режим. Пока две гипотезы: 1) палитра (но по логу этого не видно) и 2) яркость уходит в 0. Второе похоже на правду, так как яркость иногда снижается сама и с пульта её приходится поднимать. Может быть какой-то эффект даёт изменение переменной яркости?!
Ну или аппаратный глюк ардуинки.
Но у меня 6 гирлянд и все ведут себя примерно одинаково
+
avatar
0
по второму, перепроверил установкой яркости занимается команда setBrightness.
упоминается в 2 файлах _main.ino в функцииsetup() влиять не может, не главный цикл
и в файле getirl.h где отработка команд с пульта, но тут все в логах отражается
команды
Command_Start_Stop,
Command_Start,
Command_Stop
Command_Brightness_minus_R
Command_Brightness_minus
Command_Brightness_plus_R
Command_Brightness_plus
+
avatar
0
Отловил ситуацию через лог
13:54:27.140 -> Mode: 38
13:54:27.140 -> 1900686
13:54:27.140 -> Change palette ON
13:54:27.140 -> New Palette: 15
13:54:27.140 -> Brightness: 135
13:54:37.891 -> Brightness: 75
13:54:37.891 -> End SetMode
13:55:16.016 -> New Palette: 16
13:55:16.016 -> Brightness: 75
13:55:16.204 -> Start SetMode
13:55:16.577 -> Mode: 39
13:55:16.577 -> 1950550
13:55:16.577 -> Change palette off
13:55:24.608 -> Brightness: 75
13:55:24.608 -> End SetMode
13:56:06.046 -> Start SetMode

На 38 эффекте что-то установило Brightness: 135, затем Brightness: 75… Дальше ещё какое-то время работало и через мин 10-15 ушло в чёрный. Но лог не успел записать так как переделывал программу и расставил Serial Print чтобы найти виновника. 38 эффект — это noise8_pal.h.

Это точно не IR так как там SerialPrint показал бы срабатывание. Остаётся два варианта или «GyverButton.h» или noise8_pal.h.
+
avatar
0
получается у вас скетч отличается от того что выложен тут
Во первых нет команды вывести лог "Brightness:" в моем скетче она выглядит Brightness+ или Brightness-
Во вторых в 39 эффекте (noise8_pal.h) нет управления яркостью
Если вы установили скетч с форума Гайвера то ищите ошибки там, у него, в его скетче полно ошибок
Поставьте нормальный скетч, настройте и будет вам счастье
+
avatar
0
Это я уже сам дописал «Brightness:” команду для наблюдения за переменной. Но Вы правы, возможно я таки взял скетч с того форума. Решил, что они одинаковые… Спасибо ещё раз за помощь и советы. Попробую с «чистого листа».
+
avatar
0
Там у него идет управление с кнопки, по идее кнопка не должна нажиматься, даже если не подключена, либо глюк в библиотеке,
Если делали по схеме гайвера, попробуйте поставить сопротивление от 1 до 10 кОм между питанием и ножкой кнопки,
так будет правильнее,
Вы кнопки используете (кроме пульта)?
Попробуйте скетч отсюда, там все выведено в лог и легко найти проблему
+
avatar
0
Кнопка у меня подключена но без резистора (напрямую на пины GRD и D3). Похоже, что в таком подключении идёт «дребезг контактов». По правде говоря физическую кнопку не использую, так как пульт отлично выполняет свои функции.
Программно отключил кнопку через #define USE_BTN 0 и уже 30 мин работает!!! Вероятно таки глюки библиотеки GyverButton.h :(
Спасибо ещё раз за помощь!
+
avatar
0
После отключения кнопки с скече всё работает уже 2 часа. Дело было в ней. Ещё раз спасибо.
+
avatar
0
Дмитрий, извините за беспокойство, но ссылки на скетчи не открываются. Браузер висит и не выдаёт переход кроме как на эту же самую страницу. Причём все ссылки как те, что в теле статьи, так и та, что Вы мне порекомендовали в комментарии выше. Там нужны ещё какие-то права помимо регистрации на сайте?
+
avatar
0
ссылка
Муска странную ссылку дала
+
avatar
0
+
avatar
0
Посмотрел у Гайвера, там тоже нетBrightness: я вообще не понимаю, что происходит

Вы что то переделали сами
+
avatar
0
по первому, если вы сами поставили черную палитру, в скетче черных палитр нет
+
avatar
0
ушла в чёрный цвет. Интересно то, что ЛОГ продолжал работать и эффекты переключались, но гирлянда оставалась в «чёрном» режиме (вообще не светилась)
отработка команды стоп по поведению, ищите в логах
+
avatar
0
  • Ser_Go
  • 11 января 2021, 20:56
vskorohod,
Вы точно описали поведение моей гирлянды, 200 светодиодов, БП 5А, ограничение в скетче 3А.
Позже тоже отключу кнопку, все равно управляем только с пульта.
Но факт такой — до монтажа на елку гирлянда была намотана на «испытательный стенд» — пластовую трубу d110 мм, испытывалась около 2-х месяцев, ни одного подобного сбоя не было…
+
avatar
0
После программного отключения кнопки работает без проблем. Раньше также в тестовом режиме работала без проблем. Но тогда монтаж был открытым без упаковки в коробочку.
У меня следующее электромеханическое объяснение: возможно из-за наводок от сигнального кабеля гирлянды. Там высокая частота и может вызывать «дребезг» если провода расположены рядом. Но это лишь гипотеза.
+
avatar
+1
Для этого и надо ставить сопротивление от 1 до 10 кОм между питанием и ножкой кнопки.
Хотя контроллер должен подтягивать сопротивление сам, но если их в внутри контроллера нет, или они слишком большие, то появляется шум
+
avatar
+1
Спасибо, Дмитрий!!!
+
avatar
0
  • Ser_Go
  • 13 января 2021, 19:47
Ну точно так же…
Обкатывал на монтажной плате, после запихивания в коробочку и монтажа на елку начались безобразия с угасанием и пропаданием…
Со Старым Новым Годом!


Звезду брал в FixPrice, аккуратно раскрыл ее, потрошки выкинул убрал в загашник, вставил в звезду 6 конечных диодов.
+
avatar
0
  • Ser_Go
  • 14 января 2021, 17:20
Отключил кнопку, баги исчезли.
Спасибо всем за советы и помощь!
+
avatar
+1
  • Ingvar1
  • 13 января 2021, 14:46
+
avatar
+1
  • Ingvar1
  • 13 января 2021, 14:50
+
avatar
+1
Отлично, с Новым годом!!!
Главное, чтобы радовало и приносило счастье
+
avatar
+1
  • Ingvar1
  • 13 января 2021, 14:54
+
avatar
0
  • Ingvar1
  • 13 января 2021, 15:12
Фотоотчет гирлянды и блока управления с Нового Года.
Управление с пульта работает нормально.
Скетч от 21.10.2020г.

Спасибо, Дмитрий!!!
+
avatar
0
  • Ser_Go
  • 17 января 2021, 12:44
Новый год прошел, Старый Новый год отпраздновали, тема заснула до октября…
+
avatar
+2
ну для кого как,
Я на базе своего сайта решил сделать цикл статей, форум и FAQ по этому проекту, тут уже превышен лимит по объему и искать невозможно и неудобно все. Все запутались.
+
avatar
0
  • san_q
  • 18 января 2021, 00:05
А можно ссылку на ваш сайт?
+
avatar
0
Там пока ничего нет, но будет. https://syswork.ru/
+
avatar
0
  • Ser_Go
  • 22 января 2021, 17:29
Вот это замечательно! Сразу — в закладочки, а наполнение появится!
+
avatar
0
  • san_q
  • 18 января 2021, 04:05
Ранее писал в версии notamesh4biblio у меня не хотела работать кнопка, потом после долгих мучений и чтения заработала. НО! не все комбинации нажатий. Некоторые команды у меня прописаны и для IR-пульта и для кнопки.
А получается — нельзя прописать одну и ту же команду и для пульта и для кнопки. Будет работать только та которая прописана первой одна, не важно для чего прописана первой — для пульта или кнопки. Можно это как то победить?
+
avatar
0
можно, читайте ниже комментарий от 20 декабря 2021, 13:08
+
avatar
0
или еще вариант от разработчика
Посмотрите как сделана команда Setup_Command_Setup_Mode_Off
давайте для примера добавим еще одну команду на на примере Command_Stop Как сейчас:
Код
#if Command_Stop
          case Command_Stop :              ///////////////////////////////////////////////////////////////////////////  Стоп 
                                    SetOff(demorun); 
                                    ledMode = 255; palchg=0;
                                    solid = CRGB::Black;
                                    FastLED.setBrightness(0);
                                    #if LOG_ON == 1
                                      Serial.println(F("Stop"));
                                    #endif
                                    break;         
        #endif
Переделываем, добавляем после
Код
case Command_Stop :              ///////////////////////////////////////////////////////////////////////////  Стоп
строчки
Код
#if Command_Stop1
   case Command_Stop1 :
#endif
итого код должен получится такой
Код
#if Command_Stop
          case Command_Stop :              ///////////////////////////////////////////////////////////////////////////  Стоп 
             #if Command_Stop1
                  case Command_Stop1 :
             #endif
                                    SetOff(demorun); 
                                    ledMode = 255; palchg=0;
                                    solid = CRGB::Black;
                                    FastLED.setBrightness(0);
                                    #if LOG_ON == 1
                                      Serial.println(F("Stop"));
                                    #endif
                                    break;         
        #endif
теперь у вас появилось две команды на одно действие Command_Stop и Command_Stop1

еще раз добавить три строки
#if Command_Stop1
case xxxxxxx:
#endif
где xxxx новая команда (после нее должна стоять символ двоеточие)
+
avatar
0
Супер, так даже удобнее. Спасибо
+
avatar
0
  • SebSeb
  • 22 января 2021, 22:15
Добрый вечер! Появилась потребность управлять гирляндой одной сенсорной кнопкой. Не могли бы подсказать, какая прошивка из всех существующих подходит для этой цели? А то, боюсь, тут столько новой информации, что не осилить…
+
avatar
0
Ну по вашей информации любая подойдет, все будут работать. Последняя прошивка эта
+
avatar
+3
Ввел нумерацию, тема отсюда, Обновил обзор
+
avatar
0
  • kpv591
  • 22 февраля 2021, 19:26
Добрый вечер! Помогите разобраться с прошивкой. Есть лента 2811 2х50, планирую использовать на улице. Кнопка и пульт не нужны.
Достаточно режима ДЕМО. Порекомендуйте версию и что в ней нужно исправить. Сам в этом разбираюсь плохо.
+
avatar
0
на данный момент можно использовать 2 платформы ардуино: на базе AVR (NANO, UNO, MEGA и др) и ESP (ESP32, ESP8266 (говорят работает)
Демо режим работает автоматом везде, можно ничего не припаивать из периферии, кроме выхода на гирлянду.

для AVR последний скетч
для ESP последний скетч
отличаются только периферией, в демо режиме они одинаковые
Настройки выставляются в заголовочном файле, если будут проблемы пишите
+
avatar
0
  • kpv591
  • 23 февраля 2021, 19:55
Спасибо. В выходные займусь.
+
avatar
0
  • kpv591
  • 24 февраля 2021, 10:47
FastLED надо скачать отдельно или она уже установлена в скетче?
+
avatar
0
да, надо ставить отдельно, вот проверенный FastLED или можно скачать последнюю версию с официального сайта
Ставится легко, Заходите в папку с установленной arduino IDE, в ней есть папка libraries, в папку положить разархивированный архив (в моем случае это C:\Arduino\libraries\FastLED-master)
+
avatar
0
  • kpv591
  • 24 февраля 2021, 11:39
А тот FastLED, который уже установлен в IDE уничтожить?
+
avatar
0
Да, главное чтоб был один, либо старый, либо новый
(для спокойствия, если оставите, IDE при компиляции будет говорить что обнаружил два экземпляра)
+
avatar
0
  • kpv591
  • 24 февраля 2021, 21:51
скачал, открыл в ide в первой вкладке в перифирии оставил- #define FastLED_ON 1 -изменил тип микросхемы, закоментировал /#define PIN_IR 8
//#def/ine IR_REPEAT 1
вопрос: кнопки и команды также закоментировать или они уже не будут вызываться?
И что означают эти команды: #define LED1_PIN 26
#define LED2_PIN 25
+
avatar
0
  • san_q
  • 24 февраля 2021, 22:37
delete
+
avatar
0
  • san_q
  • 24 февраля 2021, 22:52
Поставьте так, коментирование не нужно — могут быть проблемы
//                          Подключенная периферия
#define FastLED_ON    1           // Если равен 1  используется FastLED (даже если 0 все равно используется FastLED :)
#define LED_ON        0           // Количество светодиодов (0- светодиоды не используются, максимум 2 светодиода 
#define IR_ON         0           // Если равен 1  используется пульт библиотеки IRremote
#define KEY_ADC_ON    0           // Если равен 1  используются кнопки подключенные к аналоговому входу
#define KEY_GYVER_ON  0           // Количество кнопок подключенных к библиотеке GyverButton (0- библиотека отключена, максимум 4 кнопки) 
#define TM1637_ON     0           // Если равен 1  используются индикатор из библиотеки GyverTM1637

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

Вывод лога тоже можно отключить, поставив «0»

что означают эти команды: #define LED1_PIN 26
#define LED2_PIN 25
это подключение двухцветного светодиода для индикации «служебных режимов», таких как Включение режима настройки,
+
avatar
0
  • kpv591
  • 27 февраля 2021, 14:25
Прошил, собрал гирлянду все работает. Питание 12v, контроллер NANO, резистор не ставил вроде работает нормально. Вопрос по цветам, тип изменил на WS2811, а RGB надо менять на GRB?
+
avatar
0
без кнопок, дополнительно отключить хранение RGB в EEPROM
#define SAVE_EEPROM   0           // Сохранять настройки запуска в EEPROM
                                  // 0 - ничего не хранить
                                  // 1 - хранить стартовый режим, длинна гирлянды, скорости и расширенные настройки 
                                  //                        (очередность цвета,состояние блеска, фона, свечей)
                                  // 2 - хранить стартовый режим, длинна гирлянды, скорости
и выставить правильно очередность цвета
#define COLOR_ORDER   RGB         //Очередность цвета светодиодов  RGB или GRB
                                  // если стоит SAVE_EEPROM  1 , то очередность цветов регулируется в режиме настройки
+
avatar
0
  • kpv591
  • 27 февраля 2021, 15:18
Дмитрий я не ахти спец по этим вопросам, #define COLOR_ORDER RGB //Очередность цвета светодиодов RGB или GRB для моей ленты надо прописать GRB?
+
avatar
0
Если у вас точно WS2811 то RGB
Можно проверить на эффекте огня 39

либо временно поменяйте в файле _main.ino
найдите строки в функции void setup() это примерно 410 строка
#if BLACKSTART == 1
    solid = CRGB::Black;                 //Запуск с пустого поля
    #if CHANGE_ON == 1
      newMode = ledMode;
      StepMode = 1;      
    #endif
    ledMode =255;
  #endif
поменяйте вторую строку на solid = CRGB::Red это при старте теперь должен быть красный цвет, если он будет зеленый, то RGB не правильно стоит, надо GRB
+
avatar
0
  • lomnik
  • 11 марта 2021, 16:10
ТОВАРИЩИ ПОМОГИТЕ!!!
Бьюсь уже месяц! эти гады переписали библиотеку IRremote теперь не могу подружить ни один пульт с гирляндой. В декабре 20-го сделал, только голову сломал какие коды пульта подставлять в скетч. Вариант — запустить из примеров IRrecvDemo и из него переписать — не работает, у кого работает по шагам с примерами в студию пожалуйста! Спасло ситуацию включение в IRremote.h функции DEBUG, только так удалось отследить какие команды декодирует скетч, так вот они оказались вообще третьим набором кодов, не похожие на первые два из примеров IRremote и IRLremote. К сожалению все наработки пропали вместе с компьютером.

Только что загрузил в ардуину скетч Цветомузыки Гайвера, там библиотека IRLremote и коды кнопок отличаются от IRremote от того же пульта! Так с IRLremote библиотекой нормально пульт работает! Значит всё-таки проблема в обновлении IRremote. Подскажите, у кого работает, а лучше скиньте весь проект с библиотеками ( lomnik@yandex.ru ). Задолбался уже!

Конкретно с примером пожалуйста какой код вы видите в скетче примера IRremote и какой реально вписываете в скетч с гирляндой и как это у вас работает? яф перепробовал 10 пультов, НИФИГА НЕ РАБОТАЕТ!

ПОМОГИТЕ!
+
avatar
0
поставьте старую версию, с новой разберусь позже.
Ссылка на старую есть в теме искать по словам Проблемы с Новой библиотекой Пульта
+
avatar
0
  • lomnik
  • 12 марта 2021, 21:52
Да Вы-ж мой спаситель! УРА ЗАРАБОТАЛО! а ведь я по порядку все библиотеки перепробовал и ничерта не помогло!
Вот кусок кода с командами под простенький пульт как у Гайвера в цветомузыке

///Все команды которые обрабатывает скетч брать из файла GetIrl.h
// 0х + код кнопки на пульте из примера IRremoteDEMO (старая библиотека)
#define Command_Brightness_plus_R 0xFF6897 // * Яркость по кругу 18 ступеней
#define Command_Start_Stop 0xFFB04F // # Старт/стоп (отключите автоповтор)
#define Command_Glitter 0xFF38C7 // OK Включить/выключить сверкание
#define Command_Previous_mode_Demo 0xFF4AB5 // Dwn Предыдущий эффект+Демо
#define Command_Next_mode_Demo 0xFF18E7 // Up Следующий эффект+Демо
#define Command_Speed_minus 0xFF10EF // Lft Медленнее
#define Command_Speed_plus 0xFF5AA5 // Rgt Быстрее
#define Command_SetMode_0 0xFF9867 // 0 Начать с 0-го эффекта
#define Command_SetMode_1 0xFFA25D // 0 Начать с 10-го эффекта
#define Command_SetMode_2 0xFF629D // 0 Начать с 20-го эффекта
#define Command_SetMode_3 0xFFE21D // 0 Начать с 30-го эффекта
#define Command_SetMode_4 0xFF22DD // 0 Начать с 40-го эффекта
#define Command_SetMode_5 0xFF02FD // 0 Начать с 50-го эффекта
#define Command_SetMode_6 0xFFC23D // 0 Начать с 60-го эффекта
#define Command_SetMode_7 0xFFE01F // 0 Начать с 70-го эффекта
#define Command_SetMode_8 0xFFA857 // 0 Начать с 80-го эффекта
#define Command_SetMode_9 0xFF906F // 0 Начать с 90-го эффекта
+
avatar
0
Здравствуйте, а не могли бы вы поделиться прошивкой? shevaromantsevich@gmail.com
Спасибо большое.
+
avatar
0
  • lomnik
  • 12 марта 2021, 22:02
Вот бы ещё добавить стартовый эффект на команду Вкл или Вкл/Выкл под названием " Ёлочка гори! "
Суть эффекта: вспыхивает белый на всю яркость на 3 секуды, включается блеск, общая яркость плавно падает до ноля, а блеск остаётся, затем блеск становится радужным и плавный переход на десятый эффект «радуга», далее в демо режим или другой выбранный.
А то вкл-выкл какой-то бестолковый.
Этот эффект тоже можно сделать отключаемым как «Свечи»
СПАСИБО ЗА ПОМОЩЬ! дочку порадую! )))
+
avatar
0
  • 4esser
  • 23 апреля 2021, 14:54
Всем привет!!!
Наконец то заработало). Свои пять копеечек к теме «Проблемы с Новой библиотекой Пульта».
Наконец то взялся за этот проект, время позволило. Возможно и сам где то чего напутал но всё по шагам делал, благо всё расписано достаточно доходчиво. Но всё же.
Пульт не реагировал ну никак. С библиотекой была непонятка но решилась довольно просто. В мониторе порта во время запуска при работающей в демо режиме гирлянде выскакивали крякообразы. И подбирая по очереди значение скорости (бод) добился появления команд в правильном формате и соответственно текст выполняемой команды. Может кому и поможет. Удачи!!!
+
avatar
0
  • 4esser
  • 23 апреля 2021, 16:15
Кстати, дальше в лес- страшнее леший))
А вопрос в следующем. Отстраниться от пульта (думаю вообще не использовать)и через блутуз с телефона в случае нужды контролировать гирлянду.
Соответственно два вектора действий. первый апк под андроид и второй переделки с самим скетчем. Если у кого есть наработки буду благодарен. Спасибо. Хотелось бы эту красоту осветить)))
+
avatar
0
+
avatar
0
  • 4esser
  • 23 апреля 2021, 17:00
Спасибо. Изучим.
+
avatar
0
  • 4esser
  • 05 мая 2021, 00:25
После нескольких дней танцев с бубном получилось вот что.
Поскольку, в такой сложный (по моим меркам) скетч лазить и ковырять рано ещё нашёл свой путь к Голгофе))). В итоге один ретранслятор который принимает сигналы по bluetooth от андроида и ретранслирует его в виде NEC кода.
Логично, что ларчик проще открывается и в дальнейшем буду думать над тем что было предложено выше, однако там не ардуинка коих у меня имеется штук десять с которыми хотелось бы как то поиграть.
Вот схема.

Программа для андроида сделана на 2MIT ну и скетч на сколько позволили знания.

Это основной экран МЕНЮ.

Примечательно что RESTART появляется когда связь по bluetooth активирована.
Кому интересна переделанная версия скетча под это приложение, и само приложение пожалуйста… поделюсь.
+
avatar
0
А можно, скетч и приложение?;-)
+
avatar
0
  • LLIHYP
  • 28 июня 2021, 13:58
Здравствуйте. Я в ардуино дуб дубом, подскажите, как исправить ошибку?

Arduino: 1.8.9 (Windows 10), Плата:«Arduino Nano, ATmega328P (Old Bootloader)»

In file included from C:\Arduino\notamesh4plus\notamesh4plus.ino:325:0:

rainbow_beat.h:1:0: error: unterminated #ifndef

#ifndef RAINBOW_BEAT_H

^

In file included from C:\Arduino\notamesh4plus\notamesh4plus.ino:329:0:

blendwave.h:1:0: error: unterminated #ifndef

#ifndef BLENDWARE_H

^

In file included from C:\Arduino\notamesh4plus\notamesh4plus.ino:330:0:

fire.h:1:0: error: unterminated #ifndef

#ifndef FIRE_H

^

In file included from C:\Arduino\notamesh4plus\notamesh4plus.ino:331:0:

candles.h:1:0: error: unterminated #ifndef

#ifndef CANDLES_H

^

Несколько библиотек найдено для «FastLED.h»
Используется: C:\Program Files (x86)\Arduino\libraries\FastLED-master
Не используется: C:\Program Files (x86)\Arduino\libraries\FastLED-3.2.9
exit status 1
unterminated #ifndef

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»

По библиотеке понял, а все остальное нет.
+
avatar
0
  • LLIHYP
  • 28 июня 2021, 18:16
Установил последнюю версию программы, ошибка изменилась.
Arduino: 1.8.15 (Windows 10), Плата:«Arduino Nano, ATmega328P (Old Bootloader)»

In file included from C:\Arduino\notamesh4plus\notamesh4plus.ino:332:0:

colorwave.h:78:2: error: #endif without #if

#endif

^~~~~

Несколько библиотек найдено для «FastLED.h»

Используется: C:\Program Files (x86)\Arduino\libraries\FastLED-master

Не используется: C:\Program Files (x86)\Arduino\libraries\FastLED-3.2.9

exit status 1

#endif without #if

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»
+
avatar
0
Доброго здоровья, Только что скачал 4 plus.
запустил IDE Arduino: 1.8.13 (Windows 10),
выбрана Плата:«Arduino Nano, ATmega328P
Скетч не менял, все откомпилировалось

Версия «FastLED version 3.004.000»

скачайте по ссылке и попробуйте откомпилировать
+
avatar
0
  • LLIHYP
  • 29 июня 2021, 19:55
Так я ни чего и не понял, ни чего не менял кроме версии программы, установил 1.8.13 и все заработало. Как так?
+
avatar
0
Я поставил среду IDE 1.8.15 и получил ваши ошибки
Причина, файл в формате UTF-8 и в начале есть служебный символ (его не видно) и При компиляции идет сбой
Самое простое решение, удалить первый символ в файле и записать его заново (в моем случае символ «решетка»)
и так сделать во всех файлах, где ошибка

я обновил 4 plus
+
avatar
0
  • LLIHYP
  • 30 июня 2021, 00:03
Еще есть один вопрос. Заметил что светодиоды ни когда не затухают, черный экран светит синим. Как это можно исправить?
+
avatar
0
Это не ошибка, это так и должно быть.
Отключается в 115 строке файла notamesh4plus.ino
#define BACKGR_ON     1           // Включить заполнение черного цвета фоном
1 заменить на 0
#define BACKGR_ON     0           // Включить заполнение черного цвета фоном
+
avatar
0
  • LLIHYP
  • 30 июня 2021, 16:24
Спасибо большое, все получилось!
+
avatar
0
Всем привет! Помогите разобраться, где я «косячу» Сам в программировании я не спец.
Когда в скетче notamesh4plus в строке 33 #define IR_ON 0 стоит 0, то есть работа без пульта, скетч прекрасно компилируется.
но если поставлю 1 ( использование пульта) получаю вот это Error compiling for the Arduino Nano board.
Что не так?
+
avatar
0
Доброго здоровья Ошибка переводится «Ошибка компиляции для платы Arduino Nano»
Вы наверное не все сюда вывели из того что было в логе.
могу только гадать, ошибка связана с библиотекой пульта
+
avatar
0
Вот полный текст
In file included from C:\Users\Dimitri\Documents\Arduino\Girljanda\notamesh4plus\notamesh4plus.ino:166:0:
C:\Users\Dimitri\Documents\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.009
# pragma message «FastLED version 3.002.009»
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\Dimitri\Documents\Arduino\Girljanda\notamesh4plus\IRremote.h:24:0,
from C:\Users\Dimitri\Documents\Arduino\Girljanda\notamesh4plus\notamesh4plus.ino:169:
C:\Users\Dimitri\Documents\Arduino\libraries\IRremote/IRremoteInt.h:206:23: error: 'RAWBUF' was not declared in this scope
unsigned int rawbuf[RAWBUF]; // raw data
^~~~~~
exit status 1
Fehler beim Kompilieren für das Board Arduino Nano.
+
avatar
0
Ошибка в библиотеке IRremote (не моя, а разработчика)
Замените ее на библиотеку, что закреплена в шапке этой темы
Компиляцию проверил на notamesh4.2_(Biblio): Версия Arduino IDE 1.8.15
+
avatar
0
Спасибо за быстрый ответ!
Эту библиотеку я уже установил. Однако в списке библиотек в среде Ардуино заметил, что присутствует наличие Робота. Удалил его отовсюду. Но он, зараза, таки сидит в списке. Как от него избавиться — ума не приложу. Весь комп через «поиск» прошерстил — нету! А в списке — есть!
+
avatar
0
Можно еще поискать через примеры, найти пример, и он должен лежать в папке рядом с библиотекой
+
avatar
0
Здравствуйте! После успешных испытаний варианта на ESP32 BLE, решил попробовать собрать гирлянду на notamesh4Biblio без IR, с 4-я кнопками от Гайвера и дисплеем от него же. Скетч компилируется хорошо! Но возникает один вопрос — Куда подключать эти самые кнопки? В скетче указаны пины 34,35,32,33. Но сколько я не разглядывал свою Нану, пинов с такими номерами не нашёл! Ясен-тополь, что нужно использовать другие «ноги». И, как я своим умишком понимаю, ноги должны быть с буквой D. Подскажите, пожалуйста, есть ли какие-то специальные условия для подключения этих «конечностей», или я могу использовать любые на свой цвет и вкус?
+
avatar
0
Доброго здоровья!
Вы должны заменить номера пинов на свои, куда вы подключили кнопки, пины любые можно и аналоговые, подробно тут (можно без буквы или с буквой A) вот первоисточник как подключать кнопки
И еще, если будите подключать по способу Гайвера, не забудьте поставить
#define BTN1_LOW       0            // Кнопка 1 0- привязка к питанию 1- привязка к земле
#define BTN2_LOW       0            // Кнопка 2 0- привязка к питанию 1- привязка к земле
#define BTN3_LOW       0            // Кнопка 3 0- привязка к питанию 1- привязка к земле
#define BTN4_LOW       0            // Кнопка 4 0- привязка к питанию 1- привязка к земле
+
avatar
0
Спасибо! Только что собрал и запустил. И, естесссно, сделал ошибку с привязкой. Сейчас поправлю. Но почему-то дисплей не запустился. Вроде все верно соединил… Будем искать!..
+
avatar
0
С дисплеем сложнее, я вставил чужой код и не проверял, мне неначем проверить
+
avatar
0
С дисплеем всё отлично! Работает как надо! Просто у одного человека (не будем на меня пальцем показывать) мозг переклинило.
А вот с кнопками Гайвера — беда! Уверенно и адекватно работает только 1-я. Остальные — никак. Но до меня таки дошло, что если в логе посмотреть какая команда высвечивается, то… Открывается обширное поле для творчества.
Фуф! Хорошо, что я сейчас занялся этим делом! До Нового года должен успеть! :)
+
avatar
0
Поздравляю!, Я рад, что еще один человек стал изучать тему электроники и контроллеров.

С кнопками есть одна беда, которую Гайвер не озвучивает.
По всем канонам электроники, если вы кнопку закорачиваете на землю то должны поставить подтягивающий резистор к питанию, и наоборот, если кнопку коротите на питание, должны поставить подтягивающие сопротивления к земле.
Внутри контроллера есть внутри маленькие сопротивления, и как бы драйвер Гайвера их включает, но… иногда этих сопротивлений может не быть, а иногда на длинных проводах, кнопка, может срабатывать самопроизвольно,
Если паять сопротивления никах, попробуйте заменить пин.
+
avatar
0
Спасибо! К электронике меня давно «тянуло», с детства. Но, как-то не сложилось. Заниматься более-менее плотно начал пару лет назад. Благо появилась возможность весьма дёшево покупать детали в Поднебесной. Но пока из уровня дилетантства я не вышел, да и вряд ли уже выйду.
Но это дело мне нравится! Благодаря интернету и таким людям, как Вы, есть возможность учится, и делать что-то своими руками!
+
avatar
0
Подтягивающие сопротивления по 1кОм поставил. Сделал так, как показано на рисунке в теме про ESP32.
Всё, останавливаюсь на этом варианте — 4 гайверовские кнопки и дисплей. Работает как и дОлжно! Конечно, надо бы ещё скетч под себя «причисать» — объяснить кнопками, что я от них хочу. Но без фанатизма! Например, выполнять глубокую настройку через кнопки делать не буду. Это ж неудобно! Да и… Через полгода я забуду, как это делается! А писать подробную инструкцию… А оно надо?! Чем проще — тем лучше! По крайней мере для меня. Включил — заработало! Кнопками выбрал режим и алга! А если что, так USB порт всегда доступен!
+
avatar
0
проект делался как автономный, включил питание и все, остальное от лукавого…
Если нужны подсказки, то все же рекомендую esp32 и телефон, там подсказки отображаются.
Скоро доделаю и будет все хорошо
+
avatar
0
Ну Дмитрий, так не пойдёт! Я уже «причесал» под себя скетч, подобрал корпус, кнопки, кабеля и проч. арматуру! А тут… На тебе! Скоро будет что-то новое! Нет, я понимаю — совершенству нет предела! И что мне теперь делать?!
Ну а если серьёзно, то вариант с ESP32 мне нравится больше. Просто у меня «не пошло» (от слова «идти»). Да, кстати, дисплей TM1632 наотрез отказался работать с ESP… Или наоборот… Но, опять же, это не критично!
Так что… Ждём'с!
+
avatar
0
И что мне теперь делать?!
Желаете профинансировать?
Что за наезды?
так не пойдёт!
Вам же сказали:
остальное от лукавого
Мы все ждем, но налегать не надо.
+
avatar
0
Профинансировать? Да не проблема! Хорошему человеку всегда рад помочь.
Наезды? А вот с этого места, пожалуйста, поточнее! В чём усматривается наезд? По крайне мере, с моей стороны его нет! А вот Вы, похоже, пытаетесь это сделать. Либо у Вас проблемы с чувством юмора, либо Вы невнимательно прочитали моё сообщение, адресованное Дмитрию.
+
avatar
0
Здравствуйте, Дмитрий! Как я уже писал, собрал замечательную гирлянду на Nano, 4 гайверских кнопки и его же дисплей. Пока 100 диодов, но планирую удвоить. Прошивка 4biblio. Без пульта.
Уже несколько дней гирлянда «пашет» без нареканий! Однако возник у меня вопрос. Можно ли в скетче изменить изначальную яркость светодиодов? При включении они светят сразу на максимум. А мне желательно примерно 50%. Конечно, можно кнопками это дело урегулировать, но… Каждые раз привключении давить на кнопки… Сам я не нашёл, где и как это подправить.
+
avatar
0
Доброго здравия! Яркость выставляется в файле _main.ino, в ней ищите примерно 109 строку вида
uint8_t max_bright = 255;                                     // Overall brightness definition. It can be changed on the fly.
, число 255 это максимум, для 50% ставим число 127, то есть uint8_t max_bright = 127;
+
avatar
0
Спасибо за быстрый ответ! Всё получилось!
+
avatar
0
  • Yuriygen
  • 22 октября 2021, 21:36
Здравствуйте, Дмитрий! Подскажите пожалуйста, где в скетче можно увидеть номер и описание эффекта, что бы выбрать наиболее понравившиеся (я наверное это где-то пропустил).Или, если не трудно, напишите допустим:1-- радуга,2 — бегущий огонь и тд.
Зарание спасибо!
+
avatar
0
Здравствуйте В логе, в нем отображается номер эффекта. (Меню/Инструменты/монитор порта), С описанием сложнее, я не знаю как одним двумя словами выразить описание эффекта (практически везде перетекание радуги в другую радугу)
+
avatar
0
  • Yuriygen
  • 23 октября 2021, 10:40
Здравствуйте.Спасибо за ответ, к томуже, такой быстрый.А то от некоторых «умельцев», типа АГ, ответа никогда не дождёшься.Ещё раз спасибо и удачи вам!
+
avatar
0
  • Yuriygen
  • 23 октября 2021, 10:49
P.S. В мониторе порта отображаются квадратики вместо номеров эффектов.Как это исправить?
+
avatar
0
Странно, проверьте скорость (внизу монитора порта) должно быть 115200 или можно использовать стороннюю программу например эту, там надо правильно выбрать порт, скорость и нажать Connect
+
avatar
0
  • Yuriygen
  • 23 октября 2021, 18:39
Корректно заработало только на скорости 57600, а не 115200 это нормально? По умолчанию вообще стояла скорость 9600

Start SetMode
Mode: 2
30409
Change palette Stop
End SetMode
Start SetMode
Mode: 3
45420
Change palette Stop
End SetMode
+
avatar
0
Подскажите пожалуйста. Какие проблемы могут возникнуть при использовании блока питания от ПК, 250w? Есть гирлянда ws2811, 5v, 200 диодов + Arduino Nano.
+
avatar
0
Судя по моим тестам (особенно в Дополнительном разделе) для питания большой мощности не нужно 3 Ампера хватает на 400 светодиодов.
Главное:
1) запустите этот блок питания (не все умеют)
2) не перепутайте провода (надо Общий и 5 Вольт)
3) правильно подсоедините питание( должны быть отдельный нормальный провод на контроллер и через каждые 100 светодиодов)

Но мне кажется что блок питания будет избыточен
+
avatar
0
  • vduk
  • 17 ноября 2021, 12:31
Добрый день, у меня 200 светодиодов с пультом, Arduino Nano, есть зависания светодиодов, может кто подскажет что отключить чтоб памяти меньше стала жрать?
+
avatar
0
странно, должно работать,, точно с питанием нормально?
Во время зависаний, что лог пишет?
Если временно поставить 150 светодиодов то «глюк» пропадает?
+
avatar
0
То-же самое. Имею 200 диодов ws2811, Arduino Nano. Без пульта и кнопок. Загрузил 'Плюс', зависание минут через 30. Отключение питания и новый запуск не помогает уйти от этого зависания. Помогает только перепрошивка. Пробовал БП на 5А и от ПК. Отключал Лог, не помогает. С скетчем Гайвер работает стабильно, но в Плюсе больше нравятся эффекты.
+
avatar
0
  • vduk
  • 18 ноября 2021, 07:28
Примерно так же зависает через минут 20-30 работы скетчем Гайвер, питание 5 В. 8А. три дополнительных подключения по питанию, тестировал на 100 светодиодах, работает стабильно, просто не хватает памяти, не знаю как удалить пару эффектов для освобождения памяти.
Глобальные переменные используют 1739 байт (84%) динамической памяти, оставляя 309 байт для локальных переменных.Arduino Nano 328
+
avatar
0
Можете скинуть лог, последние 5-8 строк до зависания
+
avatar
0
Вот такие у меня настройки:

#define KOL_LED 200 // Сколько светодиодов в гирлянде при первом включении

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

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

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

#define IR_MAX_LEDS 200 // Максимальное количество светодиодов при работе с пультом должно быть больше
// или равно 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 GRB //Очередность цвета светодиодов RGB или GRB
#define CHIPSET WS2811 //Тип микросхемы светодиодов в гирлянде

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

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

//////////////////////////////////////// Параметры программы
////
#define BLACKSTART 1 // Первый запуск делать с черного экрана 0- начинать с эффекта, 1- начинать с черного экрана

#define GLITER_ON 1 // Включить блеск 0 — блеск отключен, 1- блеск включен

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

#define CANDLE_40 1 // Управление 40 эффектом (свечи) 1 = при запуске она будет включена по варианту efimova1969
// иначе при запуске она будет включена по моему варианту

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

#define DEMO_MODE 1 // Режим при включении
// 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 60 // Время отображение эффекта в демо режиме в секундах

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

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

#define DEV_NOISE16 50 // если Зависает на 22 и 37 режимах, то уменьшаем число

#define RUNNING_FIRE 0 // Включить эффекты бегущего огня

#define LOG_ON 0 // Включить лог 1 — включить лог
+
avatar
0
Можете скинуть лог, последние 5-8 строк до зависания?
+
avatar
0
Сейчас проблематично это сделать так как на работе. Дома комп в одной комнате, а гирлянда развешана пока на стене в другой комнате. Чтобы записать лог это же надо включить гирлянду, аурдинку подключить по USB к ПК и в скетче включить монитор? Просто я это не делал никогда.
+
avatar
0
  • vduk
  • 18 ноября 2021, 13:37
13:20:07.399 -> Change palette off
13:20:14.683 -> End SetMode
13:21:05.922 -> Start SetMode
13:21:06.249 -> Mode: 20
13:21:06.249 -> 1200414
13:21:06.249 -> Change palette ON
13:21:06.249 -> New Palette: 17
13:21:13.631 -> End SetMode
13:21:35.401 -> New Palette: 18
13:22:05.002 -> New Palette: 19
13:22:05.096 -> Start SetMode
13:22:05.424 -> Mode: 21
13:22:05.424 -> 1260453
13:22:05.424 -> Change palette off
13:22:12.714 -> End SetMode
13:23:04.258 -> Start SetMode
13:23:04.541 -> Mode: 22
13:23:04.541 -> 1320441
13:23:04.541 -> Change palette off

Изменил: DEV_NOISE16 70 // если Зависает на 22 и 37 режимах, то уменьшаем число, (был 100, поставил 70)
Работает уже 50 минут без зависания, но лог записался до 22 эффекта, а гирлянда работает и переключается с эффекта на эффект в демо режиме пока нормально, монитурю далеше.
+
avatar
0
У меня Гайвер не зависает. Зависает «Плюс»
+
avatar
0
  • vduk
  • 18 ноября 2021, 14:05
Отработал 55 минуты завис опять. Пробовал Гайвера и вариант 4,2 оба зависают.

Как урезать количество эффектов, чтоб освободить память?
+
avatar
0
Уменьши DEV_NOISE16 70 До 50-ти и отключи Лог.
+
avatar
0
У вас точно с питанием в порядке?
То что у вас блок питания на 8 ампер ничего ни значит, если провода плохие

1. проверить как работает с подключенным USB кабелем, чтоб сразу отмести проблему с питанием

2) отключение эффектов много памяти не добавят
что можно отключить для Plus:
1)лишние протоколы пультов (поставить 0)
Код
//Тип пульта на который будет реагировать устройство, ставим 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                     
2) отключить эффекты (поставить 0)
Код
#define BLACKSTART    1           // Первый запуск делать с черного экрана 0- начинать с эффекта, 1- начинать с черного экрана

#define GLITER_ON     1           // Включить блеск 0 - блеск отключен, 1- блеск включен

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

#define BACKGR_ON     1           // Включить заполнение черного цвета фоном
+
avatar
0
  • vduk
  • 18 ноября 2021, 15:26
Спасибо за помощь, с питание все нормально, питаю диоды проводом 0,75 в начале на соединение 100 шт. и на соединение 150, выход источника 5 В по питанию стоят кондеры 1000 мкФ на входе в ленту и на ардуинке тоже 1000 мкФ. проседает в конце делал замер на постоянно горящем белом 2,85 В. на эффектах скачет 4- 4,5 иногда 3.7 В. поменял блок на 3А. поставил ограничения 3А и питался еще от USB снимая лог, зависание было на 55 -й минуте, уменьшил DEV_NOISE16 70 До 60-ти пока работает уже 80 минут.
::: В файле notamesh4plus.ino спускаемся на строку 663 — не нашел такую строку у меня последняя строка 463 462 с комментарием настройка закончена.
+
avatar
0
я скачал по ссылке в начале темы, там больше 700 строк
+
avatar
0
  • vduk
  • 18 ноября 2021, 16:39
Я скачал версию 4.2 ну ладно, я нашел во вкладке main эти строки. Пока вроде бы работает, завтра протестирую лучше.
+
avatar
0
два года назад в плюсе была ошибка с зависанием, ее кстати Гайвер использовал у себя в проекте, я ошибку исправил, я на сайте у Гайвера с ошибкой так и висит проект
+
avatar
0
3) отключить плавную смену эффектов (поставить 0)
Код
#define CHANGE_ON     1           // Включить плавную смену эффектов
4) отключить эффекты бегущего огня (поставить 0)
Код
#define RUNNING_FIRE  0           // Включить эффекты бегущего огня
5) поотключать не используемые команды пульта В файле commands.h поставить 0 в неиспользуемых командах, либо просто удалить строки или закомментировать (поставить // перед строкой)

6) отключить эффекты. в файле notamesh4plus.ino спускаемся на строку 663 и комментируем не нужные команды (поставить // перед строкой)
Код
switch (mode) {                                          // First time through a new mode, so let's initialize the variables for a given display.

    case  0: if(mc) {thisdelay=10; palchg=0; } blendwave(); break; 
    case  1: if(mc) {thisdelay=10; palchg=0; } rainbow_beat(); break;
    case  2: if(mc) {thisdelay=10; allfreq=2; thisspeed=1; thatspeed=2; thishue=0; thathue=128; thisdir=1; thisrot=1; thatrot=1; thiscutoff=128; thatcutoff=192;} two_sin(); break;
    case  3: if(mc) {thisdelay=20; allfreq=4; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case  4: if(mc) {thisdelay=10; } noise8_pal(); break;
    case  5: if(mc) {thisdelay=10; allfreq=4; thisspeed=-1; thatspeed=0; thishue=64; thathue=192; thisdir=1; thisrot=0; thatrot=0; thiscutoff=64; thatcutoff=192;} two_sin(); break;
    case  6: if(mc) {thisdelay=20; allfreq=10; bgclr=64; bgbri=4; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case  7: if(mc) {thisdelay=10; numdots=2; thisfade=16; thisbeat=8; thisdiff=64;} juggle_pal(); break;
    case  8: if(mc) {thisdelay=40; thisindex=128; thisdir=1; thisrot=0; bgclr=200; bgbri=6;} matrix_pal(); break;
    case  9: if(mc) {thisdelay=10; allfreq=6; thisspeed=2; thatspeed=3; thishue=96; thathue=224; thisdir=1; thisrot=0; thatrot=0; thiscutoff=64; thatcutoff=64;} two_sin(); break;
    case 10: if(mc) {thisdelay=20; allfreq=16; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 11: if(mc) {thisdelay=50; mul1=5; mul2=8; mul3=7;} three_sin_pal(); break;
    case 12: if(mc) {thisdelay=10; } serendipitous_pal(); break;
    case 13: if(mc) {thisdelay=20; allfreq=8; bgclr=0; bgbri=4; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 14: if(mc) {thisdelay=10; allfreq=20; thisspeed=2; thatspeed=-1; thishue=24; thathue=180; thisdir=1; thisrot=0; thatrot=1; thiscutoff=64; thatcutoff=128;} two_sin(); break;
    case 15: if(mc) {thisdelay=50; thisindex=64; thisdir=-1; thisrot=1; bgclr=100; bgbri=10;} matrix_pal(); break;
    case 16: if(mc) {thisdelay=10; } noise8_pal(); break; // By: Andrew Tuline
    case 17: if(mc) {thisdelay=10; } plasma(11,23,4,18); break;
    case 18: if(mc) {thisdelay=20; allfreq=10; thisspeed=1; thatspeed=-2; thishue=48; thathue=160; thisdir=-1; thisrot=1; thatrot=-1; thiscutoff=128; thatcutoff=192;} two_sin(); break;
    case 19: if(mc) {thisdelay=50; palchg=0; thisdir=1; thisrot=1; thisdiff=1;} rainbow_march(); break;
    case 20: if(mc) {thisdelay=10; mul1=6; mul2=9; mul3=11;} three_sin_pal(); break;
    case 21: if(mc) {thisdelay=10; palchg=0; thisdir=1; thisrot=2; thisdiff=10;} rainbow_march(); break;
    case 22: if(mc) {thisdelay=20; palchg=0; hxyinc = random16(1,15); octaves=random16(1,3); hue_octaves=random16(1,5); hue_scale=random16(10, 50);  x=random16(); xscale=random16(); hxy= random16(); hue_time=random16(); hue_speed=random16(1,3); x_speed=random16(1,30);} noise16_pal(); break;
    case 23: if(mc) {thisdelay=20; allfreq=6; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 24: if(mc) {thisdelay=10; } plasma(23,15,6,7); break;
    case 25: if(mc) {thisdelay=20; thisinc=1; thisfade=2; thisdiff=32;} confetti_pal(); break;
    case 26: if(mc) {thisdelay=10; thisspeed=2; thatspeed=3; thishue=96; thathue=224; thisdir=1; thisrot=1; thatrot=2; thiscutoff=128; thatcutoff=64;} two_sin(); break;
    case 27: if(mc) {thisdelay=30; thisindex=192; thisdir=-1; thisrot=0; bgclr=50; bgbri=0;} matrix_pal(); break;
    case 28: if(mc) {thisdelay=20; allfreq=20; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 29: if(mc) {thisdelay=20; thisinc=2; thisfade=8; thisdiff=64;} confetti_pal(); break;
    case 30: if(mc) {thisdelay=10; } plasma(8,7,9,13); break;
    case 31: if(mc) {thisdelay=10; numdots=4; thisfade=32; thisbeat=12; thisdiff=20;} juggle_pal(); break;
    case 32: if(mc) {thisdelay=30; allfreq=4; bgclr=64; bgbri=4; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=128; thisrot=1; thisspeed=8; wavebright=255;} one_sin_pal(); break;
    case 33: if(mc) {thisdelay=50; mul1=3; mul2=4; mul3=5;} three_sin_pal(); break;
    case 34: if(mc) {thisdelay=10; palchg=0; thisdir=-1; thisrot=1; thisdiff=5;} rainbow_march(); break;
    case 35: if(mc) {thisdelay=10; } plasma(11,17,20,23); break;
    case 36: if(mc) {thisdelay=20; thisinc=1; thisfade=1;} confetti_pal(); break;
    case 37: if(mc) {thisdelay=20; palchg=0; octaves=1; hue_octaves=2; hxy=6000; x=5000; xscale=3000; hue_scale=50; hue_speed=15; x_speed=100;} noise16_pal(); break;
    case 38: if(mc) {thisdelay=10; } noise8_pal(); break;
    case 39: if(mc) {thisdelay=10; palchg=0;} fire(); break;
    case 40: if(mc) {thisdelay=10; palchg=0;} candles(); break;
    case 41: if(mc) {thisdelay=10; } colorwaves(); break;
//  case 42 .. 121: if(mc) {thisdelay=10; } running_fire(9,3,1); break;
    case 200: fill_solid(leds, MAX_LEDS, CRGB::Black); fill_solid(leds,NUM_LEDS,CRGB(255,255,255)); break;   //Зажеч гирлянду длинной NUM_LEDS (регулировка длинны гирлянды)
    case 201: fill_solid(leds, MAX_LEDS, CRGB::Black); fill_solid(leds,meshdelay,CRGB(255,255,255)); break;  //Зажеч гирлянду длинной meshdelay
    case 255: if(mc) {palchg=0; } fill_solid(leds, NUM_LEDS,  solid);break;     //Установить цвет
    default : 
              #if RUNNING_FIRE == 1
                 if (mode>=42 && mode <122) {
                  uint8_t mode_x = mode - 42;
                  if(mc) {thisdelay=10;}  running_fire(mode_x >> 3,(mode_x >> 1) % 3,mode_x % 1);
                  }
                  else
              #endif
                ledMode = 0;  
              break;        //нет такого режима принудительно ставим нулевой
  } // switch mode
+
avatar
0
Подскажите пожалуйста. За что отвечает в настройках #define DEV_NOISE16?
+
avatar
0
  • vduk
  • 19 ноября 2021, 07:20
Тоже хотел спросить интересно.
+
avatar
0
есть функция в библиотеке FastLED fill_noise16 (как я понял она генерирует рисунок по определенному закону (16 bit, fixed point implementation of perlin's Simplex Noise) это единственная функция которая при запуске «жрет» много памяти, а раз памяти нету, то зависает
параметр DEV_NOISE16 бъёт всю ленту на части кусками (каждый кусок равен DEV_NOISE16) и над каждым куском происходит отдельный расчет fill_noise16, памяти расходуется меньше.
если DEV_NOISE16 больше или равен длине ленты, то разбивки не происходит.
Естественно генерация целостного эффекта лучше смотрится, когда разбивка не происходит, или происходит крупными частями.
+
avatar
0
  • vduk
  • 19 ноября 2021, 14:17
Понятно спасибо!!! Есть еще вопрос управление одной кнопкой есть в варианте 4,2 как у Гайвер?
+
avatar
0
;)) (
Все есть и даже больше, гайвер просто вырезал функционал из проекта.
в шапке есть версия под железо гайвера (одна кнопка)
и есть полная версия с не обрезанным функционалом, можно добавить функций на кнопку, и добавить несколько кнопок
+
avatar
0
Дмитрий, добрый день. У гайвера недавно вышла новая библиотека для кнопок «EncButton», которую он описывает как «легче и быстрее GYVERBUTTON при это с ней совместима», случайно не смотрели её? есть ли смысл в её портировании в Ваши проекты?
+
avatar
0
пробежался по быстрому по библиотеке. вкратце это все же управление энкодером, чем кнопками
есть не все, например я не нашел обработчика 3 клика и потом удержание

енкодер без экрана тоже себе удовольствие, 10 поворотов налево, 3 направо и затем клик, лучше и дешевле просто три кнопки поставить. проше и функционал шире
+
avatar
0
Спасибо. Отлично я программирование не силен, но хотя бы с настройкой кнопкой разобрался. Смутило высказывание, что она «легче» при этом это симбиоз его двух библиотек gyverencoder и GyverButton
+
avatar
0
Дмитрий, подскажите пожалуйста. Собираю гирлянду на кнопках и дисплее tm1637 (ИК пульт не использую). Согласно библиотеке GyverButton, 1х, 2х, 3х, 4х-кратные клики кнопки распознаются как отдельные команды, хочется реализовать следующее для кнопки переключения эффектов:
1. При 2х, 3х, 4х и т.д. кратных нажатиях эффект переключался на номер соответствующий — ("№ текущего эффекта"+«кол-во нажатий»)
2. При удержании кнопки смены эффектов шла прокрутка эффектов, при отпускании включался соответствующий, прокрутку номеров отслеживать в реальном времени на tm1637.
По текущему пункту есть идеи по реализации алгоритма:
а) Прокрутка номеров эффектов происходит после удержания кнопки в течении 1,5-2 секунд;
б) скорость прокрутки сделать 2х ступенчатой, т.е. первый десяток номеров прокручивать к примеру за 4 секунды, последующие 10 номеров за 2 секунды (какую именно скорость настроить нужно выяснить опытным путем).

По моему такое управление сменой эффектов удобное, логичное и интуитивно понятное. Эффектов много, закомментировать «ненужные» совсем не хочется, т.к. это вкусовщина сегодня он не нравится а завтра понравился, поэтому пусть будут все. Зато можно запомнить пяток номеров любимых эффектов и при необходимости быстро удобно его выбрать. Знаю что через ИК пульт это делается на раз, можно ввести нужный номер, но лично мне его неудобно использовать, тем более судя по вышеописанным комментарием его библиотека с fastled работает весьма криво. Лично я за то чтобы гирлянда была автономным и не зависимым устройством.
+
avatar
0
а памяти хватит под то, что вы хотите?
1. При 2х, 3х, 4х и т.д. кратных нажатиях эффект переключался на номер соответствующий — ("№ текущего эффекта"+«кол-во нажатий»)
не понял
есть команды выбора эффекта
Код

//Вариант выбора используя кнопки 0-9  кнопками 0-9 число сдвигается на разряд и добавляется единица, соответствующая номеру кнопки
#define Command_SetMode_0                    0xFF20DF  //0                       // Набор номера выбор эффекта сдвиг + кнопка 0
#define Command_SetMode_1                    0xFFC03F  //1                       // Набор номера выбор эффекта сдвиг + кнопка 1
#define Command_SetMode_2                    0xFFE01F  //2                       // Набор номера выбор эффекта сдвиг + кнопка 2
#define Command_SetMode_3                    0xFFD02F  //3                       // Набор номера выбор эффекта сдвиг + кнопка 3
#define Command_SetMode_4                    0xFFF00F  //4                       // Набор номера выбор эффекта сдвиг + кнопка 4
#define Command_SetMode_5                    0xFF02FD  //5                       // Набор номера выбор эффекта сдвиг + кнопка 5
#define Command_SetMode_6                    0xFF22DD  //6                       // Набор номера выбор эффекта сдвиг + кнопка 6
#define Command_SetMode_7                    0xFF12ED  //7                       // Набор номера выбор эффекта сдвиг + кнопка 7
#define Command_SetMode_8                    0xFF32CD  //8                       // Набор номера выбор эффекта сдвиг + кнопка 8
#define Command_SetMode_9                    0xFF00FF  //9                       // Набор номера выбор эффекта сдвиг + кнопка 9
например можно сделать так, кнопка 1, быстро кликаете (выбор десятков) пауза, быстро кликаете (выбор единицы) то есть кликнули два раза и затем три раза выберется режим 23, для этого
просто добавляете команды на на 10 кликов сами вот тут
Код
// Команды связанные с действиями кнопки, менять не надо, просто используем
#define BTN1_1         1000        // кнопка 1 клик
#define BTN1_2         1001        // кнопка 1 два клика
#define BTN1_3         1002        // кнопка 1 три клика
#define BTN1_4         1003        // кнопка 1 четыре клика
#define BTN1_PRESS     1005        // кнопка 1 удержание
#define BTN1_1_PRESS   1006        // кнопка 1 один клик + удержание
#define BTN1_2_PRESS   1007        // кнопка 1 два клика + удержание
#define BTN1_3_PRESS   1008        // кнопка 1 три клика + удержание
#define BTN2_1         1100        // кнопка 2 клик
#define BTN2_2         1101        // кнопка 2 два клика
#define BTN2_3         1102        // кнопка 2 три клика
#define BTN2_4         1103        // кнопка 2 четыре клика
#define BTN2_PRESS     1105        // кнопка 2 удержание
#define BTN2_1_PRESS   1106        // кнопка 2 один клик + удержание
#define BTN2_2_PRESS   1107        // кнопка 2 два клика + удержание
#define BTN2_3_PRESS   1108        // кнопка 2 три клика + удержание
#define BTN3_1         1200        // кнопка 3 клик
#define BTN3_2         1201        // кнопка 3 два клика
#define BTN3_3         1202        // кнопка 3 три клика
#define BTN3_4         1203        // кнопка 3 четыре клика
#define BTN3_PRESS     1205        // кнопка 3 удержание
#define BTN3_1_PRESS   1206        // кнопка 3 один клик + удержание
#define BTN3_2_PRESS   1207        // кнопка 3 два клика + удержание
#define BTN3_3_PRESS   1208        // кнопка 3 три клика + удержание
#define BTN4_1         1300        // кнопка 4 клик
#define BTN4_2         1301        // кнопка 4 два клика
#define BTN4_3         1302        // кнопка 4 три клика
#define BTN4_4         1303        // кнопка 4 четыре клика
#define BTN4_PRESS     1305        // кнопка 4 удержание
#define BTN4_1_PRESS   1306        // кнопка 4 один клик + удержание
#define BTN4_2_PRESS   1307        // кнопка 4 два клика + удержание
#define BTN4_3_PRESS   1308        // кнопка 4 три клика + удержание
главное чтобы числа не повторялись например
#define BTN1_5 1015 // кнопка 1 четыре клика
#define BTN1_6 1016 // кнопка 1 четыре клика
#define BTN1_7 1017 // кнопка 1 четыре клика
и т.д
ну и вставляете коды кликов в команды
+
avatar
0
т.е. тем самым я задам новые функции для обработки n-кликов при том судя по последнему коду в спойлере для кнопки 1 диапазон свободных кодов кликов — от 1008 до 1100 верно?
+
avatar
0
коды взяты от балды, главное чтобы они были уникальны.
Функционал обработки до 10 кликов я добавлю сам, чуть позже
+
avatar
0
в файле addings.h 231 стока, меняете строчки
код
if (btn1_gyver.hasClicks()) {
      if (btn1_gyver.getClicks() == 4) {                                        //Обработка четыре клика
        Protocol = 1;Command = BTN1_4;
      #if LOG_ON == 1
          Serial.println(F("BTN1 4Click"));
      #endif
      #if   LED_ON > 0
        LED1_FleshH(4);                                                         //мигнуть 3 раза светодиодом 1
      #endif
      }
    }
на строки
код
if (btn1_gyver.hasClicks()) { 
      uint8_t a = btn1_gyver.getClicks();                                       //сколько кликов было
      if ((a >= 4) && (a <= 10){                                                //Обработка от четырех до 10 кликов
        Protocol = 1;
        switch(a){
        case  4: Command = BTN1_4; break;
        case  5: Command = BTN1_5; break;
        case  6: Command = BTN1_6; break;
        case  7: Command = BTN1_7; break;
        case  8: Command = BTN1_8; break;
        case  9: Command = BTN1_9; break;
        case 10: Command = BTN1_10; break;
        }
      #if LOG_ON == 1
          Serial.print(F("BTN1 "));Serial.print(a));Serial.println(F(" Click"));
      #endif
      #if   LED_ON > 0
        LED1_FleshH(a);                                                         //мигнуть a разасветодиодом 1
      #endif
      }
    }
это для кнопки 1
+
avatar
0
например можно сделать так, кнопка 1, быстро кликаете (выбор десятков) пауза, быстро кликаете (выбор единицы) то есть кликнули два раза и затем три раза выберется режим 23, для этого
просто добавляете команды на на 10 кликов сами вот тут
такой способ на практике оказался весьма удобным, однако описанную Вами кнопку «1» нельзя использовать для команды 1 клик, (смена эффекта или любую другую команду), возникает конфликт команд, например нужно выбрать эффект 11 — клик-пауза-клик, по факту же 2 раза сменили эффект, получается, что набор десятков и единиц нужно организовывать на отдельную кнопку, либо же делать некий режим ввода числа
+
avatar
0
ну надо искать компромисс, или смена эффекта или кнопка «1» переведите смена эффекта на другую комбинацию.
у меня 4 кнопки, мне проще
+
avatar
+2
2. При удержании кнопки смены эффектов шла прокрутка эффектов, при отпускании включался соответствующий, прокрутку номеров отслеживать в реальном времени на tm1637.
будет время сделаю а пока можно накликать
а) Прокрутка номеров эффектов происходит после удержания кнопки в течении 1,5-2 секунд;
б) скорость прокрутки сделать 2х ступенчатой, т.е. первый десяток номеров прокручивать к примеру за 4 секунды, последующие 10 номеров за 2 секунды (какую именно скорость настроить нужно выяснить опытным путем).
не у всех есть экран, как я понимаю этот функционал единичный случай только для вас, будет время сделаю. а так вы можете сами добавить, и то что получится добавить в шапку темы
Сейчас самый удобный вариант, это управление с телефона, там экран больше и сразу все видно и по стоимости получается дешевле, (не надо покупать кнопки и экран)
Лично я за то чтобы гирлянда была автономным и не зависимым устройством.
я изначально так и делал, подал питание и все. Вы сами поймете, лежа под елкой не захотите эффекты переключать, Неделю поиграетесь и надоест.
+
avatar
0
по пробую поковыряться с прокруткой. Направьте пожалуйста ход мыслей:
-получен код клика соответствующий удержанию, запускаем цикл для увеличения переменной на единицу
-проверяем код кнопки //осталась ли она зажатой
-если истина, то задержка на n-секунд и продолжаем цикл, иначе выход из цикла.
-инициализируем номер эффекта. //какая переменная содержит номер эффекта?
-складываем результат цикла с текущим переменной
+
avatar
0
там уже все заложено есть команда #define IR_REPEAT 1
надо просто раскомментировать ее и поидее все работает
освобожусь сделаю
+
avatar
0
не у всех есть экран, как я понимаю этот функционал единичный случай только для вас, будет время сделаю. а так вы можете сами добавить, и то что получится добавить в шапку темы
Сейчас самый удобный вариант, это управление с телефона, там экран больше и сразу все видно и по стоимости получается дешевле, (не надо покупать кнопки и экран)
ну почему же единичный, это пригодится всем кто будет использовать 1637, его же поддержку Вы включили в проект, а это так сказать расширение функционала индикатора

я изначально так и делал, подал питание и все. Вы сами поймете, лежа под елкой не захотите эффекты переключать, Неделю поиграетесь и надоест.
возможно Вы правы насчет недели, но когда надоест, лезть в телефон запускать приложение, проверять «коннект» тоже вряд ли захочется, тем более все равно нужно идти к розетке заодно и кликнуть кнопочку при необходимости можно
+
avatar
0
освобожусь, на следующей неделе сделаю. IR_REPEAT 1, сейчас просто завал
+
avatar
0
буду очень благодарен.
Я так поражен Вашей отзывчивостью буквально на каждый комментарий, и огромным старанием, желанием помочь всем и каждому это достойно уважения, спасибо огромное за Ваши труды.
+
avatar
0
Помогите пожалуйста настроить пульт, что я только не делал, не получается, стоит только выключить ПК или отсоединить ардуино от ПК и запитать от блока питания ик порт перестаёт работать, когда ардуино подключено к ПК и ПК включено лампочка RX реагирует на нажатие на пульте миганием, стоит только подключить ардуино от блока питания реагировать на нажатие перестаёт.
+
avatar
0
Типичная проблема тонких проводов. При отключении USB питание на контроллере становится значительно меньше, что приводит к сбою.
Проложите питание дополнительно нормальным проводом.
+
avatar
0
  • Sfinks
  • 24 ноября 2021, 18:17
Нашел в Инете еще один вариант — notamesh4_6.
drive.google.com/file/d/1eXElNC2x-IjtbepFtOK3RV304FnHTjFX/view
Вот только без индикации на TM1637…
Я не спец в ардуино, может кто подскажет как это сделать, или у кого нибудь уже есть сделано?
Видео на него — www.youtube.com/watch?v=sI4Y6fyXTXs
+
avatar
0
Старая версия двухлетней давности, ее полностью заменит.notamesh4.2_(Biblio).zip или notamesh4.2_(Gyver).zip
Есть готовые (в личку), есть у Гайвера, все подробно расписано
Если самому, то рабочий минимум купить блок питания, гирлянду и плату ардуино, припаять 3 провода и все работает.
Если припаять кнопку, то уже можно что-то переключать.
Есть вариант управления с телефона по BlueTooth., тут даже кнопок не надо паять.
Для программирования не обязательно знать язык программирования, достаточно подключить к USB и потыкать мышкой. Если есть проблемы, то пишем здесь, помогу.
Итак определитесь в том что я написал, и я подскажу что делать дальше и что покупать
+
avatar
0
  • burai
  • 25 ноября 2021, 20:34
Все добра! Кто знает такая гирлянда подойдёт? https://aliexpress.ru/item/item/1005002077035702.html
+
avatar
0
Подойдет любая, но если вы про контроллер из этой темы, то заморочек меньше будет у 5 вольтовой гирлянды, подключил и работает, у 12 вольтовой надо еще понижайку ставить с 12 вольт в 5 (не думаю что тот что стоит на контроллере справится и не перегреется.
12 вольтовая хороша тем, что потерь в проводах меньше если подключите от 3 гирлянд в цепочку
+
avatar
0
  • burai
  • 26 ноября 2021, 07:32
Спасибо. Это я знаю, как бы она 4х контактная не оказалась.
+
avatar
0
Не стоит забывать, что в 12В гирляндах все светодиоды соединены по 3 шт последовательно, т.е. 3 светодиода работает как один, а это уже не так интересно, эффекты будут выглядеть не так красочно, а такие режимы как бегущий огонь и вовсе потеряют актуальность. По поводу 4pin как правило в таких гирляндах дублируется «data» или содержит доп. пин «BI» который подключать никак не надо, как я понял он нужен для работы собственного микроконтроллера, подробнее почитайте в гайде гайвера.
+
avatar
0
не путать с лентой, тут так не сделать, вся лишняя энергия идет на сопротивления, количество светодиодов на картинке 50
+
avatar
0
Да действительно, спасибо Дмитрий. В таком случае её использовать вообще нецелесообразно, т.к. при том же «свете» нужно иметь блок питания в 2,4 раза, ради того чтобы добить лишнего тепловыделения
+
avatar
0
сюдя по картинкам она 3 проводная
+
avatar
0
Сделал из таких на 200 диодов. После 100 диодов подвёл дополнительное питание. Загрузил прошивку Biblio и всё отлично работает. Уже получил несколько заказов на изготовление такой гирлянды. Вечерами сижу паяю.
+
avatar
0
  • Vener11
  • 26 ноября 2021, 11:22
Поставил notamesh4plus. Гирлянда на 100 диодов. В начале все работало, потом примерно в середине вышел из строя один светодиод, следовательно цепочка прервалась. Я удалил его, прописал 99(пробовал и 100) диодов но теперь не горят в конце 17 диодов. Если загрузить пример из FastLed то все работает. Где нужно искать причину.
+
avatar
0
Для начала ставим
#define MAX_LEDS      100         // Максимальное количество светодиодов,  очень влияет на память 
                                  // если стоит SAVE_EEPROM  1 , то число светодиодов регулируется в режиме настройки
и
#define SAVE_EEPROM   0           // Сохранять настройки запуска в EEPROM
                                  // 0 - ничего не хранить
                                  // 1 - хранить стартовый режим, длинна гирлянды, скорости и расширенные настройки 
                                  //                        (очередность цвета,состояние блеска, фона, свечей)
                                  // 2 - хранить стартовый режим, длинна гирлянды, скорости
это где то 240 строка
+
avatar
0
тип гирлянды у обоих выбран одинаковый?
+
avatar
0
  • Vener11
  • 26 ноября 2021, 13:29
Тип гирлянды правильный. #define SAVE_EEPROM не нашел( пробовал прописывать не помогло) или я не там ищу, на мониторе порта есть строчка: Initial strand length: 82 LEDs. Эти 82 как раз и горят из 99. Буду копать дальше
+
avatar
0
перепутал с версией библио. тогда ставьте
#define MAX_LEDS 100
#define IR_ON 0


Initial strand length: 82 говорите, значит записано в EEPROM,
либо отключаете пульт или с пульта увеличьте длину, команды
IR_Key_Length_Garland_plus
IR_Key_Length_Garland_minus
+
avatar
0
  • Vener11
  • 26 ноября 2021, 16:08
Спасибо вам за помощь! отключил пульт и все светодиоды заработали. возможно у меня пульт работает не корректно, до этого я на пульте нажимал кнопку уменьшения количества диодов но нечего не уменьшилось (хотя на ардуино мигал индикатор ). Наверно последние нажатия кнопки записались в память и не стерлись. нажатия для увеличения не помогло. также несолько раз перезаписывал разные версии notamesh в ардуино Буду дорабатывать пульт задействую только небходимые функции, а то у меня были включены все кнопки на пульте.
+
avatar
0
Работу пульта можно оценить в логе (на мониторе)
+
avatar
0
  • Vener11
  • 26 ноября 2021, 18:36
Просмотрел, там проскакивают не правильные коды. Думаю дело в ик-приемнике от старого телевизора, есть другой в металлическом корпусе попробую его, пульт новый от цифровой приставки. Гирлянду брал типа «капли» с жёсткими одножильным проводами( если кто такие брал и у вас остановились эффекты на каком то участке, попробуйте пошевелить провод на последнем работающим и первым не работающим светодиоде. Там внутри на некоторых недопай. У меня такое было и мне помогло)
+
avatar
0
  • Vener11
  • 28 ноября 2021, 18:50
Версия notamesh4Biblio.У кого не корректно отображаются цвета и изменения в COLOR ORDER (RGB, GBR и т.д) не помогают, попробуйте в main примерно в 401 строке и выше в строках поменять очередность (RGB, GBR) на BGR(в color order тоже). Я свою исправил так.
+
avatar
0
  • alexfiz
  • 28 ноября 2021, 20:40
Доброго времени суток! Поставил notamesh4plus, 115 светодиодов без пульта. Все работает. Подскажите, пожалуйста, как изменить цвет фона на зеленый. Сейчас он у меня синий.
+
avatar
0
Извиняюсь, что быстро не ответил.
в файле addings.h функция void addbackground()
меняем leds[i].b +=CRGB(5,5,5); на leds[i].b +=CRGB(0,5,0); или leds[i].b +=CRGB(3,8,3);
где CRGB(3,8,3) задает цвет фона в RGB
+
avatar
0
  • alexfiz
  • 06 декабря 2021, 18:36
Дмитрий, спасибо за ответ! Но у меня замена leds[i].b +=CRGB(5,5,5) на leds[i].b +=CRGB(0,5,0) или на leds[i].b +=CRGB(5,0,0) и т. д не приводит к смене фона. Он так и остается синий. Использовал библиотеку FastLed 3.4 Не может ли быть это причиной? Хотелось бы, чтобы елочка была зеленой в отсутствии эффектов, но пока никак не получается.
+
avatar
0
разобрался надо так
leds[i].g +=CRGB(0,5,0);

leds[i].b — добавить синий
leds[i].r — добавить красный
leds[i].g — добавить зеленый
+
avatar
0
  • alexfiz
  • 06 декабря 2021, 23:18
Спасибо, завтра попробую. О результатах отпишусь. Спасибо большое…
+
avatar
0
  • alexfiz
  • 06 декабря 2021, 23:32
Охота пуще неволи. Не вытерпел, попробовал. СПАСИБО БОЛЬШОЕ, все получилось. Елочка теперь зеленая, как и хотел.
+
avatar
0
  • Braiton
  • 01 декабря 2021, 02:04
Ситуация такая. Скетч последний notamesh4plus. Лента на 100 штук с жёсткими каплями 2812 но тот же эффект и при включении ленты 2813. При включении режима свечи, когда светодиоды горят ярко через заранее заданное количество штук, например 3. Они включаются до середины ленты, далее нет. И зажигаются вначале штук 5, 6,7 случайным образом пропущено, потом горят через заданное количество, но с середины ленты уже эффект отсутствует
+
avatar
0
попробуйте подключить выход контроллера не к первому светодиоду а например к пятому, эффект сдвинется или останется?
+
avatar
0
  • Braiton
  • 05 декабря 2021, 21:24
Завтра обязательно попробую, сегодня нет возможности, но у друга на абсолютно другой ленте эффект такой же. У него ардуино нано, у меня мини про.
+
avatar
0
Привет всем! Всех с наступающим! dmitrybik огромное спасибо за ваш труд!
В общем ребенку хочу устроить яркий праздник, скачал все согласно ссылок с этого сайта и… понеслась )) В общем при компиляции notamesh4plus без изменений, выдает ошибки, если включить управление с ИК. Если оставить в строке -33 #define IR_ON 0 то все компилируется, заливается, в демо работает. Если ставить 1 то при компиляции выдает следующее:

In file included from C:\Users\Дмитрий\Documents\Arduino\notamesh4plus\notamesh4plus.ino:333:0:
C:\Users\AACE~1\AppData\Local\Temp\arduino_build_879096\sketch\getirl.h: In function 'void getirl()':
getirl.h:383:8: error: duplicate case value
case IR_Key_SetMode_2: /////////////////////////////////////////////////////////////////////////// Набор номера выбор эффекта сдвиг + кнопка 2
^~~~
C:\Users\AACE~1\AppData\Local\Temp\arduino_build_879096\sketch\getirl.h:44:11: note: previously used here
case IR_Key_Brightness_minus: ///////////////////////////////////////////////////////////////////////// Уменьшить максимальную яркость
^~~~
getirl.h:419:11: error: duplicate case value
case IR_Key_SetMode_5: /////////////////////////////////////////////////////////////////////////// Набор номера выбор эффекта сдвиг + кнопка 5
^~~~
и таких строчек несколько

Версия IDE сейчас 1.8.13
В программинге ноль, выручайте господа…
+
avatar
+1
Доброго здоровья.
Для нормальной работы все что было сделано до 2020, надо запускать со старыми библиотеками IR, FastLED и версией Ардуино IDE до 2020 года, нахимичили изготовители библиотек.

Конкретно ваша ошибка означает что вы прописали в файле commands.h
одинаковый код кнопок пульта у команд IR_Key_SetMode_2, IR_Key_Brightness_minus, IR_Key_SetMode_5.
если не используйте закомментируете строки или поставке код 0 (ноль)
+
avatar
0
Спасибо, нашел этот косяк чуть раньше чем увидел ответ. В общем как обычно, сам дурак ))) Не подумал, что в файле могут быть уже прописаны такие же команды как у моего пульта, только на других совсем кнопках. И кстати, используя указанные на странице сайта библиотеки, все пошло и в версии IDE 1.8.15. Еще раз спасибо!
+
avatar
0
  • Velius
  • 12 декабря 2021, 12:15
In file included from sketch\IRremote.h:24:0,
from H:\!!! ДОКУМЕНТЫ!!!\Денис\!!! Проекты для дома!!!!!!!!!!!\!!! Новогодняя гирлянда\notamesh4\notamesh4.ino:165:
C:\Program Files (x86)\Arduino\libraries\Arduino-IRremote-master\src/IRremoteInt.h:39:2: error: #error Seems you use #include IRremoteInt.h in a file not containing main(). Please define RAW_BUFFER_LENGTH with the same value as in the main program and check if the macros IR_SEND_PIN and SEND_PWM_BY_TIMER are defined in the main program.
#error Seems you use #include IRremoteInt.h in a file not containing main(). Please define RAW_BUFFER_LENGTH with the same value as in the main program and check if the macros IR_SEND_PIN and SEND_PWM_BY_TIMER are defined in the main program.
^~~~~
exit status 1
Ошибка компиляции для платы Arduino Nano.

Скетч notamesh4
Ничего не трогал в прошивке кроме пинов для кнопки. И пина для контроллера ленты.
Не подскажете что не хватет.
Пробовал и другие скетчи такая же история.
+
avatar
0
Только что была такая ошибка, замени библиотеку IRremote. Скачай из шапки темы в параграфе Проблемы с Новой библиотекой Пульта
+
avatar
+2
Обновились скетчи notamesh4.2_(Biblio) и notamesh4.2_(Gyver)
Изменения:
Можно подключать разные типы гирлянд (где цвета поменяны местами)
// Если у вас установлены разные гирлянды (с разной очередностью цветов), то можно цвета их сделать одинаковыми
#define COOP_COLOR_START  101     // Если 0 ничего не делаем, начальный светодиод очередность цвета у которого отличается от основного
#define COOP_COLOR_END    200     // конечный светодиод очередность цвета у которого отличается от основного, но не больше MAX_LEDS
#define COOP_COLOR_WHAT   RB      // варианты RB - красный и синий, RG - красный и зеленый, GB - синий и зеленый
добавлены команды для перехода с режима на режим с учетом списка MY_MODE
#define Command_Previous_my_mode             0xff50af  // Down                    // Предыдущий эффект с учетом выбраных режимов. Отключает демонстрационный режим
#define Command_Previous_my_mode_Demo        0                                    // Предыдущий эффект с учетом выбраных режимов. Оставляет демонстрационный режим
#define Command_Next_my_mode                 0xff28d7  // Up                      // Следующий эффект с учетом выбраных режимов. Отключает демонстрационный режим
#define Command_Next_my_mode_Demo            0                                    // Следующий эффект с учетом выбраных режимов. Оставлякт демонстрационный режим
+
avatar
0
добавлены команды для перехода с режима на режим с учетом списка MY_MODE
а вот за это отдельный респект, очень, очень и очень нужная функция т.к. до этого было нелогично, создаешь свой список эффектов, а в ручную переключаться по нему не можешь. Спасибо Вам Дмитрий за труды.
+
avatar
0
  • Andriss
  • 15 декабря 2021, 22:34
Такой вопрос: если включаю заполнение фона (#define BACKGR_ON 1 ), то фон заполняется исключительно синим цветом.
Насколько я понимаю (исходя из своих невеликих знаний ардуинского языка), за цвет фона отвечает переменная bgclr.
И вот здесь в разных эффектах должно задаваться разное значение данной переменной.

Почему же тогда цвет не меняется?

Еще один вопрос: что из себя представляет имитация свечей? На своей гирлянде я ее не заметил. Если можно, тыкните носом во временную отметку на видео в посте, где можно ее увидеть?
+
avatar
0
Уже второй человек спрашивает про фон,
Только что добавил еще 2 варианта цвета фона
#define BACKGR_ON     1           // Включить заполнение черного цвета фоном 1 - синий фон, 2 - зеленый, 3 - красный

переменная bgclr это только для эффектов matrix_pal и one_sin_pal
uint8_t bgclr = 0;                                            // Общий цвет фона. Переменная для эффектов matrix_pal и one_sin_pal.
Фон формируется в addings.h в функции addbackground()
+
avatar
0
  • Andriss
  • 18 декабря 2021, 16:52
Спасибо!
Было бы замечательно, если бы в следующих версиях скетча появилась опция плавного изменения цвета фона.
Например, чтобы изначальный CRGB(5,0,0) изменялся каждые 2-3 минуты:
CRGB(4,1,0)
CRGB(3,2,0)

CRGB(0,5,0)
CRGB(0,4,1)
и т.д.
+
avatar
0
во первых выяснилось что не все китайские светодиоды могут отображать все что меньше 5
во вторых изначально я хотел сделать 9 вариантов, но смеси типа CRGB(5,5,0) светят серым
в третих памяти в нане использовано уже близко к 100% пихать уже некуда
+
avatar
0
  • Andriss
  • 19 декабря 2021, 18:25
в таком случае даже периодическая (раз в 15-20 минут) смена трех цветов (красный — зеленый — синий) была бы интереснее, чем одноцветный фон.
+
avatar
0
эмитация свечей, это несколько светодиодов желтого цвета, «дергающиеся» как свеча равномерно расположенных на гирлянде
+
avatar
0
Заканчиваю сборку гирлянды с TM1637, скоро выложу подробный отчет.
На текущем этапе столкнулся со следующей проблемой: от блока управления у меня идет 3 жилы провода длиной 1 м, сигнальный и "-" скрутил в витую пару, но помехи ловит все равно большие, особенно от прикосновений к проводу, иной раз отказывается запускаться пока несколько раз не коснешься, или же наоборот случайно коснувшись, возникают артефакты на гирлянде, поделитесь опытом кто как решал эту проблему.
+
avatar
0
У вас очень маленькое напряжение на контроллере, подведите толстым проводом 5 В
можете проверить просто подключив USB провод
+
avatar
0
Спасибо сегодня по пробую, заодно измерю напряжение. Дмитрий не сочтите за наглость, подскажите возможно ли рассчитывать на адаптацию IR_REPEAT для тактовой кнопки, чтобы при удержании пролистывались эффекты, а прокрутку номеров отслеживать на 1637? очень уж не хватает этой функции среди такого обилия эффектов.
+
avatar
0
Дак это уже есть
на кнопку переключить GyverButton узнайте пин тактовой кнопки и пропишите в кнопке,
далее смотрим лог, если кнопка постоянно нажата то поменять у кнопки BTNх_LOW,
а 1637 итак работает
+
avatar
0
Дак это уже есть
на кнопку переключить GyverButton узнайте пин тактовой кнопки и пропишите в кнопке,
Да действительно удержание кнопки прекрасно отработано в GyverButton и на дисплее номера меняются в реальном времени, всё как я и хотел, но в таком случае переключать эффекты можно только или кликом или удержанием, а логично бы было сделать и так и так (как у любого электронного девайса).
Решил попробовать сам разобраться как это реализовать. Почитал гайд по языку ардуино, в частности про операторы If, switch case, и вот что получилось, решил написать сюда вдруг ещё кому то пригодится.
На деле опробовал — работает

Рассмотрю на примере недавно добавленной Дмитрием команды «Command_Next_my_mode» (следующий эффект из списка выбранных).Смена эффекта происходит как только ардуино получит соответствующую код нажатия кнопки (тактовая или пульт). По умолчанию любой команде можно прописать всего один код кнопки, Чтобы реализовать и клик (BTN1_1) и удержание (BTN1_PRESS), нужно заставить эту функцию принимать несколько кодов. Для этого в коде выполнения соответствующей функции нужно добавить еще один вариант выбора, еще один «case» уже с нужным нам кодом кнопки и реализуется это достаточно просто:

В головном файле notamesh4Biblio в любом логически удобном месте добавляем:
Дополнительная информация
//Дубликаты команд, для того чтобы назначить на одну и ту же команду еще один код кнопки
//пример 1: смена эффекта будет и по клику и по удержанию кнопки, пример 2: кнопка IR пульта и кнопка GyverButton
#define duplicate_Command_Previous_my_mode BTN1_PRESS // Down // дубликат команды: Предыдущий эффект с учетом выбраных режимов. Отключает демонстрационный режим
#define duplicate_Command_Next_my_mode BTN2_PRESS // Up // дубликат команды: Следующий эффект с учетом выбраных режимов. Отключает демонстрационный режим)

в файле getirl.h ищем соответствующую строку, в моем случае — #if Command_Previous_my_mode ниже неё копируем код начиная с case по #endif
}
в моем случае вот этот код:
Дополнительная информация
case Command_Previous_my_mode: /////////////////////////////////////////////////////////////////////////// Предыдущий эффект с учетом выбраных режимов. Отключает демонстрационный режим
if (Protocol == 1) { //отключить повтор
switch (demorun) {
#ifdef MY_MODE
case 3: case 4: case 103: case 104:
if (tek_my_mode==0) tek_my_mode=my_mode_count-1;
else tek_my_mode--;
SetMode(pgm_read_byte(my_mode+tek_my_mode));
break;
#endif
default:
#if CHANGE_ON == 1
if (newMode>0) SetMode(newMode-1);
else SetMode(maxMode-1);
#else
if (ledMode>0) SetMode(ledMode-1);
else SetMode(maxMode-1);
#endif
}
#if LOG_ON == 1
Serial.println(F(«Previous mode»));
#endif
}

и вставляем ниже до break: и после case меняем название команды на то, как обозвали в notamesh4Biblio:
Дополнительная информация
case duplicate_Command_Previous_my_mode: /////////////////////////////////////////////////////////////////////////// дубликат команды: Предыдущий эффект с учетом выбраных режимов. Отключает демонстрационный режим
if (Protocol == 1) { //отключить повтор
switch (demorun) {
#ifdef MY_MODE
case 3: case 4: case 103: case 104:
if (tek_my_mode==0) tek_my_mode=my_mode_count-1;
else tek_my_mode--;
SetMode(pgm_read_byte(my_mode+tek_my_mode));
break;
#endif
default:
#if CHANGE_ON == 1
if (newMode>0) SetMode(newMode-1);
else SetMode(maxMode-1);
#else
if (ledMode>0) SetMode(ledMode-1);
else SetMode(maxMode-1);
#endif
}
#if LOG_ON == 1
Serial.println(F(«Previous mode»));
#endif
}

Аналогично ищем строку — #if Command_Next_my_mode копируем и вставляем код case и меняем наименование в новом case:
Дополнительная информация
case duplicate_Command_Next_my_mode: /////////////////////////////////////////////////////////////////////////////// дубликат команды: Следующий эффект с учетом выбраных режимов. Отключает демонстрационный режим
if (Protocol == 1) { //отключить повтор
switch (demorun) {
#ifdef MY_MODE
case 3: case 4: case 103: case 104:
if (tek_my_mode>=(my_mode_count-1)) tek_my_mode=0;
else tek_my_mode++;
SetMode(pgm_read_byte(my_mode+tek_my_mode));
break;
#endif
default:
#if CHANGE_ON == 1
if (newMode >=(maxMode-1)) SetMode(0);
else SetMode(newMode+1);
#else
if (ledMode >=(maxMode-1)) SetMode(0);
else SetMode(ledMode+1);
#endif
}
#if LOG_ON == 1
Serial.println(F(«Next mode»));
#endif
}

Теперь функция «Command_Next_my_mode» умеет реагировать на 2 разные команды с кнопки.
Можно кстати ничего не писать в notamesh4Biblio, а только в getirl.h после того как скопипастили нужный кусок кода, после case убрать наименование команды и напрямую прописать код клавиши.
Хочу отметить такие дубликаты можно сделать на любые функции, в особенности это подойдет тем кто захочет сделать управления и с ИК пульта и с кнопок одновременно.
+
avatar
0
Добрый день! Подскажите что значит ошибка:

In file included from D:\Wemos Mini\Girlanda Rabochie sketchi\notamesh4Biblio\_main.ino:22:0:
C:\Program Files (x86)\Arduino\libraries\FastLED-master\src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000
# pragma message «FastLED version 3.004.000»
^
In file included from C:\Program Files (x86)\Arduino\libraries\FastLED-master\src/FastLED.h:65:0,
from D:\Wemos Mini\Girlanda Rabochie sketchi\notamesh4Biblio\_main.ino:22:
C:\Program Files (x86)\Arduino\libraries\FastLED-master\src/fastspi.h:145:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output
# pragma message «No hardware SPI pins defined. All SPI access will default to bitbanged output»
^
In file included from D:\Wemos Mini\Girlanda Rabochie sketchi\notamesh4Biblio\_main.ino:258:0:
sketch\getirl.h: In function 'void getirl()':
getirl.h:102:47: error: 'newMode' was not declared in this scope
ledMode = newMode;
^
exit status 1
'newMode' was not declared in this scope

Возникает когда я подключаю кнопку: #define KEY_GYVER_ON 1

Если #define KEY_GYVER_ON 0

то ошибки нет.

Хочу что бы сенсорная кнопка заработала, но что то не выходит (
+
avatar
0
Доброго здоровья.
Подобные ошибки были неделю назад (при отключении пульта) и были исправлены.
Попробуйте скачать заново скетч.
Я скачал у меня ошибок нет
+
avatar
0
  • priormen
  • 22 декабря 2021, 18:55

Добрый вечер. Помогите разобраться, это скетч notamesh4.2_(Biblio)? Дело в том что связка нано+ws2812 при использовании этого скетча не дает такого эффекта…
+
avatar
0
Ну… есть только одна похожая прошивка на notamesh4 эта где смена эффектов проходит похожим образом но нето.
А так это notamesh4, 1) не правильно настроена гирлянда, зеленый поменян с красным, палитра не меняется на всем протяжении видео.
+
avatar
0
  • priormen
  • 22 декабря 2021, 21:40
notamesh4,1_(plus)? Автор видео говорит что заливал именно библио и в скетче при этом ничего не менял. Дело в том, что мне понравилась последовательность эффектов и я хотел бы ее повторить. Но пока не могу добиться такого результата… Кстати, подскажите как отключить смену палитр пожалуйста.
+
avatar
0
все прошивки notamesh4 одинаковые по эффектам, я там ничего не менял,
Добавлен только бегущий огонь (плюс и старше) в библио сменил палитры (добавил и зеленые закомментировал)
если надо соответствия, то
1) разложите также гирлянду змейкой
2)настройте неправильно цвета (зеленый поменять с красным)
3) пультом поищите эффекты
4) смотрите на гирлянду через фотоаппарат
+
avatar
0
Если в этой прошивке неправильно настроены цвета, то получается эффект «Огонь» должен быть зелёным?
+
avatar
0
да, но на видео я эффекта огня не видел (хотя шибко не смотрел, просто пролистал)
+
avatar
0
Огонь как и положено красного цвета. Значит цвета правильно настроены?
+
avatar
0
я не видел огня, если огонь красный, то настроено правильно,

тест на правильность можно еще 3 способами проводить
включить красный цвет, включить зеленый цвет, войти в режим настройки
+
avatar
0
Это видео моей гирлянды. Что там не правильно в настройках? Цвета настроены правильно я так понимаю, если огонь красного цвета. Пульт не использую. Менял время отображения эффекта на 40 секунд. Менял #define DEV_NOISE16 100, на 80, так как зависала.
+
avatar
0
отлично, я судил о настройках косвенно, если огонь правильный, красный то конечно цвета настроены правильно, я же об этом писал…
Кстати поздравляю с вашей работой, выглядит красиво.
То что я говорил что настроено не правильно, это ответ на вопрос priormen
ваш ответ разубедил меня
.
+
avatar
0
Спасибо Вам за проделанную работу которая радует. Перед Новым годом успел сделать 4 гирлянды по 200 диодов WS2811. Все обладатели гирлянд очень довольны. Еще сделал гирлянду-матрицу от Гайвера на окно. 14х18 на светодиодах WS2812b. Теперь Челябинск за окном радует.
+
avatar
0
Отлично, пусть красота радует людей.
+
avatar
0
  • priormen
  • 23 декабря 2021, 17:12
Все супер, жаль только что нано не тянет 300 диодов…
+
avatar
0
У вас нана на 168 микроконтроллере?
При определенных условиях нана тянет 400 светодиодов
+
avatar
0
Чудные дела! Полгода назад на 168 МК прошился без проблем. Сейчас дает ошибку:

Arduino: 1.8.16 (Windows 10), Плата:«Arduino Nano, ATmega168»

In file included from D:\Projects\GyverGirland for ArduinoNano 168\notamesh168\notamesh168.ino:140:0:

rainbow_beat.h:14:2: error: #endif without #if

#endif

^~~~~

In file included from D:\Projects\GyverGirland for ArduinoNano 168\notamesh168\notamesh168.ino:141:0:

blendwave.h:23:2: error: #endif without #if

#endif

^~~~~

In file included from D:\Projects\GyverGirland for ArduinoNano 168\notamesh168\notamesh168.ino:142:0:

fire.h:58:2: error: #endif without #if

#endif

^~~~~

exit status 1

#endif without #if

Что делать — не пойму. Кто поможет?!

PS: недавно переустановил Ардуино IDE
+
avatar
+1
У вас все нормально, там где ошибка, идем вверх открытого текста и стираем самый верхний первый символ # в строке #if и пишем его заново, и все…
Это глюки новой среды разработки Arduino IDE
+
avatar
0
Сделал по Вашему совету. Все получилось.
В первой строчке #ifndef убрал с нова ввел знак #.
В Arduino IDE строка с черного цвета сменилась на темно-зеленый. Поправил во всех библиотеках, которые выдавали ошибку. Скетч скомпилировался и залился в Ардуину. Все заработало.
Ура! Новый год получится!!!
+
avatar
0
Я рад за вас, счастье в дом!!!
+
avatar
0
  • Doris83
  • 25 декабря 2021, 16:07
Скетч использует 19288 байт (62%) памяти устройства. Всего доступно 30720 байт.

Глобальные переменные используют 809 байт (39%) динамической памяти, оставляя 1239 байт для локальных переменных. Максимум: 2048 байт.

Произошла ошибка при загрузке скетча

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xa6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xa6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xa6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xa6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xa6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xa6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xa6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xa6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xa6

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xa6

Помогите пожалуйста, что это за ошибка?
+
avatar
+1
Вы нажали кнопку откомпилировать и загрузить
Компиляция прошла без ошибок, а загрузка в устройство не удалась, вы выбрали загрузку через ДУДУ
Если у вас воткнут контроллер в компьютер по usb то возможно драйвер не установлен, должен появится COM порт
+
avatar
0
доброго времени суток, всех с наступающим, на елку зарядил 300св, плата нано, хотел использовать прошивку notamesh3, но
вот такая ошибка, есть ли ей решени? зарядил notamesh4Gyver все работает, но только 255 св верхушка елки не работает
Arduino: 1.8.16 (Windows 10), Плата:«Arduino Nano, ATmega328P»
In file included from C:\Users\denis\Desktop\notamesh3\notamesh3.ino:232:0:

rainbow_beat.h:14:2: error: #endif without #if

#endif

^~~~~

In file included from C:\Users\denis\Desktop\notamesh3\notamesh3.ino:236:0:

blendwave.h:23:2: error: #endif without #if

#endif

^~~~~

In file included from C:\Users\denis\Desktop\notamesh3\notamesh3.ino:237:0:

fire.h:57:2: error: #endif without #if

#endif

^~~~~

exit status 1

#endif without #if

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»
+
avatar
+1
  • vgb955
  • 26 декабря 2021, 12:26
Так выше на два поста решение этой проблеммы.
+
avatar
0
Как отвечал ранее
У вас все нормально, там где ошибка, идем вверх открытого текста и стираем самый верхний первый символ # в строке #if и пишем его заново, и все…
Это глюки новой среды разработки Arduino IDE
+
avatar
0
Написал пошаговую инструкцию как прошивать микроконтроллер
+
avatar
0
Всем доброго дня. Наконец таки собрал и довёл «до ума» свою гирлянду на 250 светодиодов WS2811 для ёлки 2,2 м.

Подробнее о процессе изготовления под спойлером
Дополнительная информация
Впервые о данной гирлянде узнал еще год назад у гайвера в видео, и сразу понял, что к следующему НГ нужно обязательно сделать себе. И вот закупившись в октябре всем необходимым, начал погружаться «в матрицу», шучу, вникать в прошивку. Знаний в программировании хоть у меня и не много, понять ± принцип работы получилось.
На этом этапе стразу понял, что гайвер сделал лишь разовую оптимизацию прошивки в своей самоделке без дальнейшей её поддержки и доработке (однако спасибо алексу за билиотеки GyverButton и GyverTM1637), а некий автор с ником dmitrybik ведет достаточно давно проект гирлянды на ардуинке, выпустил несколько версий прошивок и до сих пор помогает людям с их вопросами и просьбами.
Изначально как только первый раз прочитал страницу с проектом Дмитрия планировал делать управление через ик-пульт, но чем больше я погружался в изучение темы, тем меньше мне хотелось его использовать. Во-первых нужно иметь отдельный путь, т. к. пульт от основного телика где стоит ёлка постоянно будет конфликтовать. Во-вторых — кривая совместная работа библиотек IRremote и FastLED из-за их плохой совместимости. Поэтому решил делать на 4х тактовых кнопках, на одной кнопке как у алекса я делать не хотел, т.к. при таком обилии эффектов и функций это совсем неудобно. Далее меня ждало 2 часа увлекательного чтения всех комментариев к посту проекта. Там я наткнулся на комментарий пользователя avtopilot1
который реализовал работу дисплея TM1637, за что ему спасибо, а также спасибо Дмитрию, что добавил в проект. Я сразу понял — это то, что мне нужно, ведь эффектов много практически все они интересные, однако у каждого наверняка есть 5-7 эффектов самых любимых, как установить нужный если даже не знаешь какой номер сейчас запущен? Благодаря дисплею можно видеть номер текущего эффекта, и переключение на нужный другой, стало очень удобным.
Далее стояла задача как компактно, удобно и красиво разместить в корпусе все компоненты. Использовать какой либо готовый подручный корпус не решал ни одно из моих требований. Поэтому решил спроектировать корпус и в дальнейшем распечатать его на 3D принтере. Корпус получился из двух частей, в одной саморезами крепится дисплей, на другой ардуинка и кнопки. Цвет пластика красный (какой был), что не в тему, покрасил в зеленый, так смотрится по лучше. По итогу блок управления получился как и хотел компактный (49х63х18 мм габариты), удобно лежит в руке. Далее настроил под себя управление, на поиск оптимальной и удобной конфигурации ушел месяц, очень много вариантов перепробовал, конечный вариант зафиксировал в своей некой инструкции.
Далее пришла идея отразить инструкцию на самом корпусе, с помощью лазерной маркировки/гравировки, теперь мануал всегда под рукой, и если нужно поменять настройки гирлянды то не нужно искать бумажный вариант. Поместились кстати почти все команды.
Потом пришла еще одна идея по поводу размещения блока управления на самой гирлянде. Изначально собирался сделать по типовому варианту расположив её сразу после блока питания, но так неудобно переключать эффекты, ведь каждый раз нужно наклонятся под елку. Суть идеи в том, что я сделал от блока управления к началу гирлянды хвост длиной 1,4 м, 90 см я вплел по направлению гирлянды (от БП к вершине), оставшиеся 50 см просто отвел в сторону, сделал как отросток. После намотки гирлянды на елку этот отросток я вывел на удобную высоту (у меня получился 1 м от пола), и его конец прикрутил проволочкой к ветке ёлки. Стоя переключать стало удобно, не нужно наклонятся
По итогу, результат впечатлил, ёлка просто бомба, жена в восторге, друзья и родственники открывают рты))). Эффекты все без исключения интересные(хотя некоторые очень схожи), а некоторые из них просто «пушка».


Фотоотчёт:
Дополнительная информация












Спасибо Дмитрию за большую, продуктивную работу и поддержку проекта по сей день, а также всем кто подкидывал и реализовывал идеи, Вы многим повысили новогоднее настроения и доставили радость. Теперь когда видишь обычные гирлянды (с 8мью эффектами которые с 2000-ных не изменились даже), понимаешь насколько они скучные, примитивные и не радуют.
Всем хорошего новогоднего настроения и с наступающим 2022 годом!

Видео некоторых эффектов:

+
avatar
0
Спасибо за теплые сова, отлично получилось.
В ближайшее время собираюсь сделать свою библиотеку кнопок, чтобы задействовать комбинации кнопок, то есть, например, удержание первой и 3 клика второй
+
avatar
0
  • xenonex
  • 28 декабря 2021, 17:15
Здравствуйте, добрый человек. А могли бы вы поделиться своими настройками (уж больно мне всё понравилось) или непосредственно скетчем, а Я бы уже подправил под себя. Всё как вы и говорили пультом муторно, а кнопкой не понятно что за эффект. У меня почему то в режиме DEMO_MODE 3, таких бомбических эффектов нет.
Времени на разбираться уже особо нет)
+
avatar
0
Во всех скетчах настройки одинаковые
последние скетчи под схему Гайвера
и тоже самое но с полным списком команд
есть тоже самое под ESP32 но с bluetooth
новее нет
будут вопросы отвечу
+
avatar
0
  • xenonex
  • 28 декабря 2021, 18:44
Меня скорее интересует какие номера эффектов используются у evgen_n_v на видео)
+
avatar
0
Это не ко мне, там скорее случайный перебор был
+
avatar
0
Дмитрий, добрый день. По поводу случайного перебора. Заметил следующую особенность. В режиме DEMO_MODE 4 (случайный перебор выбранных), логика перебора такова, что при включении следующего эффекта не учитываются эффекты которые были до этого, т.е. например списком я определил эффекты с 0 по 10, в режиме DEMO_MODE 4 часто бывает, что в течении получаса запускаются эффекты, 7,4,1,4,7,4 а эффекта 9 можно не дождаться вовсе, т.е. правильнее бы чтобы при переключении на следующий, функция случайного перебора выбирала из списка, номера которые не воспроизводились до этого. Как я думаю нужно ввести какой то счетчик (переменная/массив), который бы записывал номера воспроизведенных эффектов, и при запуске проверялся этот счетчик. По пробую поковыряться но пока не уверен, что достигну успеха
+
avatar
+1
Доброго здоровья, счетчик можно сделать но… На нано нехватка памяти. а счетчик отъест прилично на каждый эффект по байту, я поразбираюсь, сделаю но с возможностью отключения.
+
avatar
+1
я уже наметил, как сделать более случайно, мне надо знать какую прошивку вы используете, я для вас сделаю изменения, попробуете, а я на вас потестирую
+
avatar
0
Было бы здорово
notamesh4.2 biblio
+
avatar
0
хорошо, сегодня сделаю
+
avatar
+2
Пробуем, вот версия
+
avatar
0
Спасибо большое, с работы прийду протестирую
+
avatar
0
В целом уже работает лучше повторы проскакивают реже, эффекты выбрал от 0 до 9
Дополнительная информация

---SETTING UP---
Initial delay: 0ms delay.
Initial strand length: 100 LEDs
EXTEND Setup
RGB LEDS
Glitter On
Background On
Candle On
Mode: 255
1022
Change palette off
Initial Random: 0
DEMO MODE 4
---SETUP COMPLETE---
New Palette: 7
Mode: 5
3012
Change palette Stop
New Palette: 5
Mode: 3
6016
Change palette Stop
New Palette: 19
Mode: 1
9018
Change palette off
New Palette: 20
Mode: 4
12021
Change palette Stop
New Palette: 17
Mode: 5
15020
Change palette Stop
New Palette: 17
Mode: 6
18023
Change palette Stop
New Palette: 16
Mode: 7
21025
Change palette Stop
New Palette: 14
Mode: 3
24028
Change palette Stop
New Palette: 20
Mode: 6
27030
Change palette Stop
New Palette: 18
Mode: 0
30034
Change palette off
New Palette: 9
Mode: 1
33033
Change palette off
New Palette: 11
Mode: 8
36037
Change palette Stop
New Palette: 11
Mode: 4
39037
Change palette Stop
New Palette: 2
Mode: 2
42040
Change palette Stop
New Palette: 1
Mode: 5
45042
Change palette Stop
New Palette: 4
Mode: 1
48045
Change palette off
New Palette: 6
Mode: 2
51047
Change palette Stop
New Palette: 12
Mode: 1
54050
Change palette off
New Palette: 17
Mode: 0
57052
Change palette off
New Palette: 8
Mode: 5
60053
Change palette Stop
New Palette: 9
Mode: 0
63055
Change palette off
New Palette: 9
Mode: 6
66055
Change palette Stop
New Palette: 12
Mode: 3
69061
Change palette Stop
New Palette: 22
Mode: 7
72064
Change palette Stop
New Palette: 2
Mode: 1
75063
Change palette off
New Palette: 2
Mode: 7
+
avatar
0
такой вариант меня устроит, спасибо большое
+
avatar
0
Спасибо, сейчас выпущу обновление по этому тесту
+
avatar
+1
Добрый день. эффекты на видео:
0,8,20,7,2,31,65,14,6,82,27,41,39. Если нужен скетч, пишите email, скину. Хотя прошивка для всех одинаковая)))
Я бы вам рекомендовал потратить пол часа времени и в режиме порта отсмотреть все эффекты желательно в тёмное время суток, возможно для себя вы найдете ещё «бомбических эффектов» их и пропишите в MY_MODE
+
avatar
0
  • andrease
  • 29 декабря 2021, 14:48
Дмитрий, доброго времени суток. Большое спасибо за поддержку данного проекта, вот уже третий Новый Год буду встречать с вашими гирляндами, дети рады, соседи в экстазе. Только жена не может успокоиться, по всему городу развесили гирлянды белого цвета, вот она и пилит меня, сделай то же самое, только чтоб цвет огоньков был белым или около того, цветное для неё прошлый век. Если это возможно, подскажите, как это сделать?
Проект на нане, без кнопок и без пульта. Хотелось бы программным способом обойтись.
+
avatar
0
не понял, синий фон сделать белым,
или чтобы гирлянда светила белым без эффектов
или чтобы мигала но белым ( от черного до бегого)?
+
avatar
0
  • andrease
  • 29 декабря 2021, 15:29
Чтобы мигало от черного до белого, при включенном фоне, от фона до белого.
+
avatar
0
Прикольно, надо пробовать, сегодня вечером посижу покумекаю
+
avatar
+1
Прикольно получилось
Сразу говорю, делал быстро, поэтому только 70% эффектов черно белые
содержимое архива кидаем в скетч с заменой
Принцип такой, где используется палитра там будет чернобелый «Цвет»
нужные режимы запишите в MY_MODE и будет счастье
Можно сделать также например все желтое или синие
+
avatar
+1
  • andrease
  • 30 декабря 2021, 06:01
Дмитрий, большое спасибо, сегодня обязательно попробую, с наступающим Новым Годом!!! О результатах отпишусь.
P.S. Да, это то самое, что я и хотел, дальше думаю сам разберусь, ещё раз большое спасибо от меня и от всех участников данного проекта. С наступающим НОВЫМ ГОДОМ!!!
+
avatar
0
  • warpm
  • 29 декабря 2021, 15:53
Здравствуйте!
А вот если в команды управления добавить одну и туже команду от кнопки и пульта?
Сработает?
Например:
#define Command_Demo_Random_Select 0xFF6996 // Info // Включит демо режим (Случайно) из выбранных
#define Command_Demo_Random_Select BTN2_1 // Info // Включит демо режим (Случайно) из выбранных
+
avatar
0
Нет, просто так ещё раз написать одно и то же не получится, не скомпилирует. Вот здесь описано как это реализовать
+
avatar
0
сработает если добавите еще 3 строки как описано тут
для Command_Demo_Random_Select
строки
#if Command_Demo_Random_Select1
case Command_Demo_Random_Select1:
#endif
эти строки надо вставить в файл getirl.h после строк
#if Command_Demo_Random_Select
          case Command_Demo_Random_Select :     /////////////////////////////////////////////////////////////////////////////  Включит демо режим из выбранных режимов (Случайно) 
это где-то 160 строка
и тогда Ваши строки будут
#define Command_Demo_Random_Select 0xFF6996 // Info // Включит демо режим (Случайно) из выбранных
#define Command_Demo_Random_Select1 BTN2_1 // Info // Включит демо режим (Случайно) из выбранных
+
avatar
0
  • warpm
  • 29 декабря 2021, 16:43
Спасибо
+
avatar
+1
  • andrease
  • 30 декабря 2021, 14:10
Всех с Наступающим Новым Годом!!! Хочу показать во что превратился у меня данный проект за два года его модернизации. Гирлянда находится на лоджии второго этажа. Дети рады, соседи в экстазе, после сегодняшней доработки скетча с помощью Дмитрия, жена будет счастлива. Собран на ардуино Нано.

Собрано из 9-ти гирлянд по 90 адресных диодов. Применял ленты ws2812b, 60 smd на метр. Выход Ардуины нагрузил на буферный повторитель с инверсией 74hc04 (аналог к561лн2) на вход первого буфера, выход первого буфера на 3 и входа последующих буферов параллельно, их выхода подключил на прямую, каждый с 3 мя параллельно включенными входами светодиодных лент. Еще раз огромное спасибо Дмитрию за его отзывчивость и желание помогать людям нести праздник в Новогодний дом.
На следующий год думаю перейти на проект Дмитрия с использованием ESP32, есть новые задумки.
+
avatar
0
Слов нет, отлично, не узнаю программы скетча, сделано очень хорошо.
+
avatar
+1
  • andrease
  • 30 декабря 2021, 14:39
Дмитрий, добрый день. Спасибо за помощь с BW настройками.
Мои настройки следующие:

#define BLACKSTART 0 // Первый запуск делать с черного экрана 0- начинать с эффекта, 1- начинать с черного экрана

#define GLITER_ON 1 // Включить блеск 0 — блеск отключен, 1- блеск включен

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

#define CANDLE_40 1 // Управление 40 эффектом (свечи) 1 = при запуске она будет включена по варианту efimova1969
// иначе при запуске она будет включена по моему варианту

#define BACKGR_ON 1 // Включить заполнение черного цвета фоном 1 — синий фон, 2 — зеленый, 3 — красный
// если стоит SAVE_EEPROM 1, то параметр хранится в EEPROM и запоминается в момент сохранения настроек

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

#define MY_MODE 2,3,5,6,7,8,9,14,15,17,18,22,24,26,27,30,\
31,35,41,47,53,82,91,117,122
+
avatar
0
Черно-белую елку покажите на видео? или это настройки окна?
+
avatar
0
  • andrease
  • 30 декабря 2021, 20:44
Это настройки для окна. Ёлочку планирую украсить на следующий год на новом ESP32 контроллере. Уже есть кое какие задумки с использованием наработок с окна и конечно Вашего проекта.
+
avatar
0
Супер, моё почтение. Поделитесь электрической схемой
+
avatar
0
  • andrease
  • 30 декабря 2021, 20:49
Доброго времени суток, схем под рукой нет, и делал всё из головы, эти Новогодние хлопоты не позволяют быстренько нарисовать и опубликовать схему. Думаю 2 го числа выду на сутки на работу, выкраю время, накидаю схемку и выложу.
+
avatar
0
здравствуйте! Никак не могу понять, как исправить ошибку

Arduino: 1.8.19 (Windows 7), Плата:«Arduino Nano, ATmega328P (Old Bootloader)»

In file included from C:\Users\Алексей\Desktop\notamesh4plus\IRremote.h:24:0,

from C:\Users\Алексей\Desktop\notamesh4plus\notamesh4plus.ino:169:

C:\Program Files (x86)\Arduino\libraries\IRremote-3.5.2\src/IRremoteInt.h:39:2: error: #error Seems you use #include IRremoteInt.h in a file not containing main(). Please define RAW_BUFFER_LENGTH with the same value as in the main program and check if the macros IR_SEND_PIN and SEND_PWM_BY_TIMER are defined in the main program.

#error Seems you use #include IRremoteInt.h in a file not containing main(). Please define RAW_BUFFER_LENGTH with the same value as in the main program and check if the macros IR_SEND_PIN and SEND_PWM_BY_TIMER are defined in the main program.

^~~~~

exit status 1

Ошибка компиляции для платы Arduino Nano.

Что с этим можно сделать?
+
avatar
0
Самое простое не использовать notamesh4plus, установите notamesh4biblio
если надо все же использовать, тогда ответ тут
+
avatar
0
Я заменил библиотеки и теперь все компилируется, но… Стоит начать менять код клавиши пульта, как появляется ошибка следующего вида:

Arduino: 1.8.19 (Windows 7), Плата:«Arduino Nano, ATmega328P (Old Bootloader)»

In file included from C:\Users\Алексей\Desktop\notamesh4plus\notamesh4plus.ino:333:0:

C:\Users\Алексей\Desktop\notamesh4plus\getirl.h: In function 'void getirl()':

getirl.h:775:11: error: duplicate case value

C:\Users\Алексей\Desktop\notamesh4plus\getirl.h:34:11: note: previously used here

exit status 1

duplicate case value

Спасибо за предыдущий оперативный ответ!
+
avatar
+1
Это просто у вас на одной кнопке две команды сделаны
+
avatar
+4
Всех с Наступившим, Новым, 2022 Годом!!!
Здоровья, счастья, удачи!!!
Спасибо тем кто повторил танный проект, для вас старался, чтобы ваши успехи в освоении электроники и микроконтроллеров были очередной ступенькой, чтобы вы смогли себе сказать, я смог…
Спасибо тем кто подержал меня финансово, значить будем продолжать развивать этот проект.
Впереди поддержка WiFi (модули закуплены, жду посылку.)
+
avatar
0
  • warpm
  • 01 января 2022, 13:14
Подскажите, как проверить очередность цветов ws2811?
И как уменьшить время между загрузкой когда на дисплее 255 и началом первого эффекта?
+
avatar
0
1) на эффекте огня
2) войти в режим настройки (первый светодиод)
3) включить красный Цвет
4) запустить пример из FastLed

Уменьшу время в следующем обновлении (выйдет на днях)
+
avatar
0
Здравствуйте. С Новым Годом. Дмитрий подскажите пожалуйста можно ли как то проверить саму ленту не подключая к Arduino?
У меня лента с WS2812.
Дело в том что перед новым годом случайно подключил 12 вольт вместо 5 и как я понял все сгорело.
Купил новую ленту но в ничего не светит, подключил ардуину к компу выдает ошибку по usb (наверно и в ардуино что то сгорело)
Поэтому решил ходьбы саму ленту проверить. При подачи на прямую 5 вольт без среднего контакта не светится, про подачи на сгоревшую ленту светится из 150 диодов один, может я не правильно проверяю или вообще так нельзя( Заранее спасибо.
+
avatar
0
проверяется просто и быстро, метод быстрой сортировки
1 подключаем 5 вольт (GND и 5 В) ( идеально бы померить ток должно быть гдето 0,2- 0,8 А не более, если ток нечем измерить то меряем напряжение, должно быть 5 вольт ну в крайнем случае не меньше 4,5 вольт
2) подключаем ардуинку как обычно но пин управления подключаем на длинный провод, им будем проверять
3) метод быстрой сортировки такой, делим ленту пополам и тыкаем в средний контакт по середине ленты, если с середины заработает то первую часть делим пополам и проверяем также, если не заработает по середине,, то делим вторую половину пополам и проверяем также.
+
avatar
0
Спасибо большое.
Значит подав просто (GND и 5 В) она не должна работать без среднего контакта.
Попробую так проверить, только куплю новую ардуину так как поя не подключается к компу.
У меня правда лента вся запаянная типа вода не проницаемая и залита каким-то материалом(
+
avatar
0
Без среднего контакта она не должна работать, правда если случайно наведется сигнал на среднем контакте, то может включится один- два светодиода.
Закрытая, в оболочке, и пр. тоже не проблеме, протыкайте иглой(тоненькой), к игле уже подсоединяете провод от среднего контакта
+
avatar
0
Всех с наступившим НГ! Добра и удачи, Всем!
Зарегился чтоб поделиться впечатлениями и опытом. В общем сделал гирлянду для ребёнка, работает с одной кнопкой и без пульта. Всё бы хорошо, только проблема с зависаниями очень надоела. Подключено 240 светодиодов WS2812b на нано. Какие только настройки не менял, и советы все перепробовал, всё равно висла на интересном эффекте начинающемся с белого и заканчивающимся обрывками зелёного (скорее всего огонь, но цвета не совпадают). В итоге поменял в последний раз ток на 1,5А при этом яркость не упала. Блок на 3,4 и его хватает, и даже вернул параметр шума на 200. НГ и +2 дня работает без зависаний.

Большая благодарность автору за хороший проэкт, который он ен бросает. Добра Вам!
+
avatar
0
Доброго здоровья.
Две причины зависания:
1) Не заведен отдельный, хороший провод от блока питания до контроллера, при снижении напряжения меньше 4 вольт контроллер зависает (особенно когда включаются все светодиоды)
2) на эффектах 22 и 37, для этого есть параметр
#define DEV_NOISE16 100           // если Зависает на 22 и 37 режимах, то уменьшаем число
подробно описано тут
Включите лог, и в мониторе все видно будет
+
avatar
0
Да, надо бы по мониторить, но пока комп от ёлки далеко. Так что уже после снятия гирлянды сделаю.
+
avatar
0
Здравствуйте, Дмитрий.Вопрос немного не в тему, а касательно.
Как можно плавно зажигать и потом также плавно тушить гирлянду(на ws2812b) при заранее предустановленной яркости примерно 20 процентов?
Хочу такую гирлянду поместить в звезду на верхушку, что бы она пульсировала.Скетч наверное простой, но я ещё не очень разбираюсь как это сделать.
+
avatar
0
Вопрос, вы хотите добавить функционал в эту прошивку (которая обсуждается в данной теме) или это отдельный проект?
+
avatar
0
Скорее отдельный.Но в принципе и в данной прошивке был бы не лишним.
+
avatar
0
Тогда это давно сделано в прошивке
#define TOP_POSITION  2           // Позиция вершины елки (используется только в эффекте огня) 
                                  //        0 - не определена 1 - Вершина в начале гирлянды 2 - Вершина в конце гирлянды
#define TOP_LENGTH    0           // Выделять вершину цветом 0 - не выделять, больше 0  сколько светодиодов выделять в вершине
#define TOP_COLOR     CRGB::Red   // Цвет выделения вершины
#define TOP_EFFECT    1           // 0 - Просто залить цветом, 1 - случайное переливание, 2- переливание сверху вниз 3- переливание снизу вверх
#define TOP_DELAY     150         // Задержка эффекта в милисекундах
#define TOP_FADING    5           // Затухание
#define TOP_GLITER_ON 1           // Разрешать блестеть вершине 1 разрешено 0 запрещено
+
avatar
0
Спасибо за ответ.Я так понимаю что это в последней, обновлённой, версии, а то в 4 плюс я этого не видел.
А если отдельным проектом, то где можно посмотреть пример скетча плавного зажигания и затухания ленты?
+
avatar
0
Версии Библио уже год как исполнился.
ну примеров работы с библиотекой FastLed много, управлением яркостью осуществляется командой
LEDS.setBrightness(Х)
, где Х значение яркости (0т 0 до 255) 0 — выключено, 255 максимальная яркость
Смотрите примеры и ищите эту строку
+
avatar
0
Ещё раз спасибо за отзывчивость.
Вы хороший человек!
.С вариантом 4 плюс уже второй Новый год гирлянда на ёлочке моргает.Захотел анимировать и верхушку, вот и возник вопрос.Тему не перечитывал.
+
avatar
0
Спасибо за интересные проекты. Очень, хорошо, что можно «отделить» часть диодов. С этой фичей я реализовал вариант советской «звезды» (на коммутаторных лампах). Вместо лам установил 5 диодов из гирлянды ws2811. Плюс написал к ней еще несколько эффектов и запустил их переключаться случайным образом. Еще раз сенкс.
+
avatar
+1
делаю notamesh5 изменений столько, что надо новую тему делать.
Из стремления
прошивка гайвера на нано будет поддерживать 500 светодиодов (оптимизирую с сохранением функционала)
будет уделено внимание эффектам на звезде, так как в следующем году у меня звезда на елке будет на ws2811
написал свою библиотеку кнопок до 6 кнопок до 15 кликов и удержаний любыми вариантами. одновременных комбинаций
переход с эффекта на эффект более правильный без залезания эффектов друг на друга
Реальное управление скоростью эффектов
Делаю сайт, где каждому варианту настройки отдельная страница, там же будет форум, иначе тут уже свалка
И многое многое,
Часть уже из вышеперечисленного реализовано, часть проходит тестирование
+
avatar
0
Здравствуйте.Возникла проблемка с БИБЛИО (скетч слишком большой для нано)
Arduino: 1.8.13 (Windows 7), Плата:«Arduino Nano, ATmega328P (Old Bootloader)»

In file included from E:\АРРДУИНО\Новогодняя гирлянда\notamesh4.2_(Biblio)\notamesh4Biblio\_main.ino:22:0:

C:\Users\�������������\Documents\Arduino\libraries\FastLED-master/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.008

# pragma message «FastLED version 3.001.008»

^~~~~~~~~~~~~~~~~~~~~~~~~~~

text section exceeds available space in boardСкетч использует 31350 байт (102%) памяти устройства. Всего доступно 30720 байт.

Глобальные переменные используют 1007 байт (49%) динамической памяти, оставляя 1041 байт для локальных переменных. Максимум: 2048 байт.

Скетч слишком большой; прочитайте www.arduino.cc/en/Guide/Troubleshooting#size

Ошибка компиляции для платы Arduino Nano.

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»
+
avatar
0
Отключите например логи, или кнопки, или пульт или бегущий огонь, все настраивается
+
avatar
0
лог отключил, а вот кнопки и пульт не пойму где отключаются.Да и вершина выделяется только в конце гирлянды независимо что прописываю 0,1 или 2
+
avatar
0
настройка тут
Код
#define FastLED_ON    1           // Если равен 1  используется FastLED (даже если 0 все равно используется FastLED :)
#define LED_ON        0           // Количество светодиодов (0- светодиоды не используются, максимум 2 светодиода 
#define IR_ON         0           // Если равен 1  используется пульт библиотеки IRremote
#define KEY_ADC_ON    0           // Если равен 1  используются кнопки подключенные к аналоговому входу
#define KEY_GYVER_ON  0           // Количество кнопок подключенных к библиотеке GyverButton (0- библиотека отключена, максимум 4 кнопки) 
#define KEYS_MY       0           // Количество кнопок подключенных к моей библиотеке обработки кнопок (0- библиотека отключена, максимум 7 кнопок) 
#define TM1637_ON     0           // Если равен 1  используются индикатор из библиотеки GyverTM1637

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

настройка вершины тут
Код
#define TOP_POSITION  2           // Позиция вершины елки (используется только в эффекте огня) 
                                  //        0 - не определена 1 - Вершина в начале гирлянды 2 - Вершина в конце гирлянды
#define TOP_LENGTH    0           // Выделять вершину цветом 0 - не выделять, больше 0  сколько светодиодов выделять в вершине
#define TOP_COLOR     CRGB::Red   // Цвет выделения вершины
#define TOP_EFFECT    1           // 0 - Просто залить цветом, 1 - случайное переливание, 2- переливание сверху вниз 3- переливание снизу вверх
#define TOP_DELAY     150         // Задержка эффекта в милисекундах
#define TOP_FADING    5           // Затухание
#define TOP_GLITER_ON 1           // Разрешать блестеть вершине 1 разрешено 0 запрещено


Пользуйтесь поиском по тексту Ctrl F
+
avatar
0
Спасибо, разобрался.
Тольклько у меня в настройках вершины нет последней сроки в коде
#define TOP_GLITER_ON 1           // Разрешать блестеть вершине 1 разрешено 0 запрещено
и независимо что прописываю 1 или 2, вершина определяется постоянно в конце гирлянды.
#define TOP_POSITION  1           // Позиция вершины елки (используется только в эффекте огня) 
                                  //        0 - не определена 1 - Вершина в начале гирлянды 2 - Вершина в конце гирлянды
#define TOP_LENGTH    5           // Выделять вершину цветом 0 - не выделять, больше 0  сколько светодиодов выделять в вершине
#define TOP_COLOR     CRGB::Red   // Цвет выделения вершины
#define TOP_EFFECT    0           // 0 - Просто залить цветом, 1 - случайное переливание, 2- переливание сверху вниз 3- переливание снизу вверх
#define TOP_DELAY     150         // Задержка эффекта в милисекундах
#define TOP_FADING    5           // Затухание
+
avatar
0
Скачайте последнюю прошивку, там должно все быть
либо с шапки либо тут (все ведет на последний архив)
+
avatar
0
Последняя версия по вашей ссылке.
+
avatar
0
Настройка появилась в версии 4.3, Но я ее сейчас добавил и в 4.2, Скачайте архив заново.
+
avatar
0
Всё есть.Спасибо!
+
avatar
0
И ещё вопрос.В теме встречал, но найти не могу, где в скетче можно изменить яркость гирлянды(пульта и кнопок нет).
+
avatar
+1
файл _main.ino строка
uint8_t max_bright = 255;                                     // Overall brightness definition. It can be changed on the fly.
0 — выключено, 255 — максимум
+
avatar
0
  • Vlads46
  • 11 февраля 2022, 10:28
Добрый день! Arduino: 1.8.16 (Windows 8.1) Скетч: notamesh4.2_(Biblio) При включении ИК пульта при компиляции:
#define IR_ON 1 // Если равен 1 используется пульт библиотеки IRremote
exit status 1 ошибка компиляции для платы arduino nano.
Если #define IR_ON 0 // Если равен 1 используется пульт библиотеки IRremote
все компилируется. Может кто-то сталкивался с этим явлением? Подскажите где у меня ошибка. Спасибо.
+
avatar
0
Скачал, последнюю версию, все компилируется
Скриншот
100% вы не поставили правильно IRremote, в шапке все расписано
+
avatar
0
  • Vlads46
  • 02 марта 2022, 09:46
Спасибо! Вы были правы!
+
avatar
0
  • 4321
  • 19 сентября 2022, 23:35
Добрый день! Подскажите проект на это похоже?
youtu.be/nxLPdmlcb-k
+
avatar
0
Проект в этой теме совсем другой он одномерный (одна полоса но очень длинная) для гирлянды намотанной на елку
У вас он двухмерный (можно сказать прямоугольная форма намотки гирлянды) в этом случае можно формировать изображения и выводить текст

Я знаю только 2 проекта это
1) матрица Гайвера (на ее основе сделаны много проектов, лампа Гайвера, окно Гайвера, Портфель Гайвера и др) Очень много людей, которые добавляют в этот проект свои эффекты (в лампе гайвера я насчитал больше 100) то что вы показали это и есть матрица Гайвера

2) проект на основе jinx
пример на моем балконе

возможностей намного больше, можно накладывать эффекты друг на друга (до 8 эффектов одновременно разными способами) Эффектов много готовых, есть язык макросов для создания нового эффекта, хоть игру в тетрис, можно вставлять анимированные гивки и просто любой фильм как один из эффектов. Минус только в том, что эффекты формируются на компьютере и после переносятся на микро контроллер на карте памяти

Появятся у меня что то подобное? да, на балконе ведь работает, но когда конкретно не скажу, нет времени
+
avatar
+1
  • 4321
  • 21 сентября 2022, 20:45
не могу скетч найти на неё. Не подскажите, где лежит?
+
avatar
0
Скеч на что? Думаю вы ищите это, угадал?
+
avatar
0
  • 4321
  • 23 сентября 2022, 02:18
Всё, нашёл.Спасибо. Такой вопрос: с одного скетча в другой можно копировать эффекты? Они будут работать?
+
avatar
0
Если это один проект, то можно скопировать, но надо еще их прописать, чтобы программа их увидела.
Если мне память не изменяет Каждый новый эффект прописывается строкой в switch case и плюс увеличивается константа количества эффектов. но это не точно (проект все же не мой)
+
avatar
0
Зайдите по этой ссылке, там все подробности, в том числе и скетч с библиотекой. alexgyver.ru/gyvermatrixbt/
+
avatar
0
Вот здесь всё для Вас. youtu.be/MgRmiXxYL5g
+
avatar
0
Вот такая матрица была у меня окне на Новый год — youtu.be/fdIyzr079O0. А делал её вот по этой ссылке — alexgyver.ru/gyvermatrixbt/
+
avatar
0
  • DmiwX
  • 02 ноября 2022, 17:39
Доброго времени суток! Я скинул на ардуино нано скетч Andrew Tuline переделка и дополнение октябрь 2021 Бикин Дмитрий notamesh4Gyver, но хочу ещё сделать подсветку на компьютер без дополнительных кнопок, просто платку запитаю с материнки, но мне бы уменьшить яркость, подскажите пж, как это сделать? Заранее благодарен.
+
avatar
0
в файле_main.ino меняем значение переменной
uint8_t max_bright = 255;                                     // Overall brightness definition. It can be changed on the fly.
255 максимальная яркость, 0 нет яркости

можно также выставить ток поменьше
в файле скетча меняем параметр тока блока питания
#define POWER_I       3000        // Ток блока питания в миллиАмперах
например на 500, это будет пол ампера, как раз для питания от USB
+
avatar
0
  • DmiwX
  • 08 ноября 2022, 10:11
Спасибо Дмитрий
+
avatar
0
Здраствуйте. помогите пожалуйста включить управление одной кнопкой указать пин подключения и назначить действия для 1.2.3.4.5 кликов кнопкой. На данный момент мне удалось загрузить прошивку notamesh4Gyver и лента мигает. даже удалось настроить выделение последних ледов другим цветом. но дальше мне не удается продвинуться.
+
avatar
0
Доброго здоровья.
Итак по порядку. Скачиваем последний скетч там 2 ссылки, отличаются только настройками, Библио лучше, там информация полнее, поэтому я расскажу на ее основе, скетч гайвера настраивается аналогично.
Все настройки находятся в файле notamesh4Biblio.ino для Библио и в файле notamesh4Gyver.inoдля версии Gyver
идем в раздел Параметры кнопок подключенных к библиотеке GyverButton
Фрагмент кода
//""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
//                                Параметры кнопок подключенных к библиотеке GyverButton

//  Максимальное количество кнопок 4
//

#define BTN1_PIN       34           // Номер пина, куда подключена кнопка 1
#define BTN2_PIN       35           // Номер пина, куда подключена кнопка 2
#define BTN3_PIN       32           // Номер пина, куда подключена кнопка 3
#define BTN4_PIN       33           // Номер пина, куда подключена кнопка 4

#define BTN1_LOW       1            // Кнопка 1 0- привязка к питанию 1- привязка к земле
#define BTN2_LOW       1            // Кнопка 2 0- привязка к питанию 1- привязка к земле
#define BTN3_LOW       1            // Кнопка 3 0- привязка к питанию 1- привязка к земле
#define BTN4_LOW       1            // Кнопка 4 0- привязка к питанию 1- привязка к земле

// Команды связанные с действиями кнопки, менять не надо, просто используем
#define BTN1_1         1000        // кнопка 1 клик
#define BTN1_2         1001        // кнопка 1 два клика
#define BTN1_3         1002        // кнопка 1 три клика
#define BTN1_4         1003        // кнопка 1 четыре клика
#define BTN1_PRESS     1005        // кнопка 1 удержание
#define BTN1_1_PRESS   1006        // кнопка 1 один клик + удержание
#define BTN1_2_PRESS   1007        // кнопка 1 два клика + удержание
#define BTN1_3_PRESS   1008        // кнопка 1 три клика + удержание
#define BTN2_1         1100        // кнопка 2 клик
#define BTN2_2         1101        // кнопка 2 два клика
#define BTN2_3         1102        // кнопка 2 три клика
#define BTN2_4         1103        // кнопка 2 четыре клика
#define BTN2_PRESS     1105        // кнопка 2 удержание
#define BTN2_1_PRESS   1106        // кнопка 2 один клик + удержание
#define BTN2_2_PRESS   1107        // кнопка 2 два клика + удержание
#define BTN2_3_PRESS   1108        // кнопка 2 три клика + удержание
#define BTN3_1         1200        // кнопка 3 клик
#define BTN3_2         1201        // кнопка 3 два клика
#define BTN3_3         1202        // кнопка 3 три клика
#define BTN3_4         1203        // кнопка 3 четыре клика
#define BTN3_PRESS     1205        // кнопка 3 удержание
#define BTN3_1_PRESS   1206        // кнопка 3 один клик + удержание
#define BTN3_2_PRESS   1207        // кнопка 3 два клика + удержание
#define BTN3_3_PRESS   1208        // кнопка 3 три клика + удержание
#define BTN4_1         1300        // кнопка 4 клик
#define BTN4_2         1301        // кнопка 4 два клика
#define BTN4_3         1302        // кнопка 4 три клика
#define BTN4_4         1303        // кнопка 4 четыре клика
#define BTN4_PRESS     1305        // кнопка 4 удержание
#define BTN4_1_PRESS   1306        // кнопка 4 один клик + удержание
#define BTN4_2_PRESS   1307        // кнопка 4 два клика + удержание
#define BTN4_3_PRESS   1308        // кнопка 4 три клика + удержание
нас интересуют клики первой кнопки
#define BTN1_1         1000        // кнопка 1 клик
#define BTN1_2         1001        // кнопка 1 два клика
#define BTN1_3         1002        // кнопка 1 три клика
#define BTN1_4         1003        // кнопка 1 четыре клика
запоминаем имена BTN1_1, BTN1_2, BTN1_3, BTN1_4

Теперь выставляем соответствие действий нажатиям кнопкам, идем в раздел Все команды которые обрабатывает скетч
Фрагмент кода (не полный)
///                               Все команды которые обрабатывает скетч

//формат такой
// #define Command_XXXX   YYYYY
// где Command_XXXX   - код команды, это лучше не менять
//     YYYYY          - код обработчика ( это либо число получаемое кри нажатии кнопки пульта
//                                            либо Значение соответствующее нажатой кнопке аналоговой клавиатуры, это мы определили выше как значения KEY_0, KEY_1, KEY_2 и подобные
//                                            либо Значение соответствующее нажатой кнопке библиотеке GyverButton, это мы определили выше как значения BTN_1, BTN_2, BTN_3, BTN_4 и BTN_PRESS
//                                            либо Значение 0 если команда не используется )
// Если команда не используется то тогда надо YYYYY заменить на 0 или закомментировать строку

// значения кнопок пульта получаются следующим способом:
// загружаем пример из библиотеки IRremote с названием IRrecvDemo и смотрим в мониторе коды клавиш
// число должно иметь  вид 0x00ff4ab5  (шестнадцатеричное число)

// Пример:        #define Command_Brightness_plus   0xff4ab5                Установить обработку команды "Увеличить максимальную яркость"  на кнопку с кодом 0xff4ab5 с пульта
//                #define Command_Brightness_plus   KEY_0                   Установить обработку команды "Увеличить максимальную яркость"  на 0 кнопку подключенную к аналоговому входу
//                #define Command_Brightness_plus   BTN_1                   Установить обработку команды "Увеличить максимальную яркость"  на нажатие кнопки подключенной к библиотеке GyverButton
//                #define Command_Brightness_minus  BTN_2                   Установить обработку команды "Уменьшить максимальную яркость"  на двойное нажатие кнопки подключенной к библиотеке GyverButton

                                                      // кнопка на моем пульте
#define Command_Brightness_plus              0xff4ab5   // N/P          // Увеличить максимальную яркость и остановится если достигли максимума
#define Command_Brightness_plus_R            BTN1_PRESS                 // Увеличить максимальную яркость, при достижения максимума начать с минимума
#define Command_Brightness_minus             0xff6a95   // Repeat       // Уменьшить максимальную яркость и остановится если достигли максимума
#define Command_Brightness_minus_R           0                          // Уменьшить максимальную яркость, при достижения минимума начать с максимума
#define Command_Reset                        0xffca35   // Power        // Сброс всех настроек и перезагрузка 
#define Command_Stop                         0xFF52AD   // Stop         // Останов Черный цвет 
#define Command_Start                        0xFF42BD   // Play         // Продолжение работы
#define Command_Start_Stop                   BTN1_1                     // Старт/стоп
#define Command_Demo_On                      0                          // Востановим демо режим (какой был до этого)
#define Command_Demo_Sequence                0xfffa05  // Open          // Включит демо режим (перебор) 
#define Command_Demo_Random                  0xffda25  // Prog          // Включит демо режим (Случайно) 
#define Command_Demo_Sequence_Select         0xff5aa5  // A-B           // Включит демо режим (перебор) 
#define Command_Demo_Random_Select           0xff7a85  // RAN           // Включит демо режим (Случайно) 

.   .   .

Выбираем в этом списке нужную команду например перейти на следующий эффект при двойном клике, при этом работа демо режима продолжается (через некоторое время будет переход на следующий режим) этому соответствует строка
#define Command_Next_mode_Demo               0                                    // Следующий эффект. Оставляет демонстрационный режим

Для выставления команды пишем вместо 0 слово BTN1_2 должно получится так:
#define Command_Next_mode_Demo               BTN1_2                                    // Следующий эффект. Оставляет демонстрационный режим

После этого обязательно проверяем отсутствие команд, где встречается также BTN1_2, кроме той что мы написали, если такие строки есть, то в них надо BTN1_2 заменить на 0

Или вообще удалить как сделано в скетче Gyver, Там все команды удалены, оставлены только работающие
#define Command_Brightness_plus_R            BTN1_PRESS                         // Увеличить максимальную яркость, при достижения максимума начать с минимума
#define Command_Start_Stop                   BTN1_1                             // Старт/стоп
#define Command_Glitter                      BTN1_4                             // Включить/выключить сверкание
#define Command_Previous_my_mode             BTN1_3                             // Предыдущий эффект. Отключает демонстрационный режим
#define Command_Next_my_mode                 BTN1_2                             // Следующий эффект. Отключает демонстрационный режим


Если есть еще вопросы, спрашиваем
+
avatar
0
Спасибо огромное, кажется я что-то начинаю понимать) а почему при указании пина кнопки D3 как у гайвера у меня пишет ошибку? Я пытаюсь указать пин куда подключены аналоговые кнопки а он не компилируется( или нужно где-то в другом месте указать куда кнопка подключена?
+
avatar
0
Не понял про D3 (Не нашел у него в скетче версии 1,1)

Настройка аналоговых кнопок
Итак по порядку. Скачиваем последний скетч там 2 ссылки, отличаются только настройками, Библио лучше, там информация полнее, поэтому я расскажу на ее основе, скетч гайвера настраивается аналогично.
Все настройки находятся в файле notamesh4Biblio.ino для Библио и в файле notamesh4Gyver.inoдля версии Gyver

первое включаем кнопки
#define KEY_ADC_ON    1           // Если равен 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 PIN_KEY       A3          // Номер пина, куда подключены кнопки

четвертое, включаем лог, компилируем, загружаем прошивку, включаем монитор порта. нажимаем кнопки поочереди и смотрим значения в логе и заполняем код
Фрагмент кода
#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, то кнопка не используется
То есть, если нажали первую кнопку у вас было число 100, то в данной строке ставим значение 100
#define KEY_1         100          // Значение соответствующее нажатой 1 кнопке
при нажатии второй кнопки было число 200, то ставим число 200
#define KEY_2         200         // Значение соответствующее нажатой 2 кнопке
если у вас меньше 7 кнопок, то в неиспользуемых кнопках ставим значение 1

запоминаем имена KEY_1, KEY_2, KEY_3,… имена тех кнопок, которые вы используете

пятое, Теперь выставляем соответствие действий нажатиям кнопкам, идем в раздел Все команды которые обрабатывает скетч и делаем по аналогии как описано для кнопок гайвера, только вместо BTN1_1, BTN1_2, BTN1_3, ставим KEY_1, KEY_2, KEY_3, ....
+
avatar
0
Спасибо огромное за максимально понятную инструкцию!!! Теперь точно все получится) единственное последний вопрос — в место пина А3 Я указываю D3 и мне выдает ошибку. Я хотел использовать D3 потому что он уже подтянут резистором и по идеи можно просто кнопку поставить между D3 и GND. Или лучше оставить пин А3 и сделать подтяжку как в схемах для кнопки через резистор?
+
avatar
0
Пин с названием начинающимся на D для аналоговых кнопок использовать нельзя. Эти входы не умеют мерять напряжение, надо выбирать из тех, которые начинаются на A
+
avatar
0
О понял, что за D3 Это цифровой вход, надо выбирать аналоговый, где начинается на A
+
avatar
0
А вот этого не знал. У гайвера был пин D3 и обычная кнопка, я думал так же сделать но не смог настроить. Я сделаю по вашей инструкции и подключусь к А3 одной кнопкой. Скажите пожалуйста нужен ли резистор для подтяжки + если кнопка будет замыкать GND?
+
avatar
0
Класс! Еще бы ссылочку на это в статью добавить, что б все находили легко и по сто раз не рассказывать
+
avatar
+1
Добавил в шапку
Интересные ссылки
— Описание, как настроить кнопки на нужные команды
+
avatar
0
Я думал только я без понимания программирования лезу в ардуино
+
avatar
0
Название пинов такое же как и на psb написано?
+
avatar
0
Что за PSB?
название пинов я смотрю так: в поисковике пишу "распиновка nano ардуино" там картинок много
+
avatar
0
Ой извините я опечатался- PCB. Сама плата ардуино. Я вчера смотрел официальную распиновка в даташите но не сработало. Скажите пожалуйста если подключать на пин А3 как в прошивке нужно добавлять резистор для подтяжки +? Если кнопка будет замыкать GND
+
avatar
0
Ух, вы запутались и меня запутали.
Есть просто кнопка она включается в любой пин хоть D хоть в A, для этого используется библиотека гайвера GyverButton.
Подтягивающий резистор ей идеально нужен, но не обязателен (внутри микроконтроллера он есть и его можно включить)
вот схема
Но тут получается одна кнопка один вывод микроконтроллера

Когда выводов мало, а кнопок подключить хочется много, то можно подключить аналоговые кнопки, но обязательно во вход A Кнопки подключаются через резисторы, схем подключения много, например
+
avatar
0
Извините пожалуйста что вас запутал, я даже сам запутался)в моем проекте только одна кнопка будет вот пришлось на одну команды думать) последний вопрос- а вершину можно только одним цветом настроить? не получается найти где включить смену палитры
+
avatar
0
Главное что разобрались.
Да вершина одним цветом, это все таки гирлянда на елку, вершина обычно звезда или снежинка (красная или синяя) Если сделать перемигивание, то мне кажется будет выглядеть непонятно.
Но я подумаю, может сделаю другие режимы вершины.

Смена палитры это про вершину?, а так на основной гирлянде, есть смена палитры
+
avatar
0
Понял спасибо буду очень ждать возможность смены палитры на вершине) у меня это не ёлка а другая штука) скажите пожалуйста как я могу вас финансово отблагодарить?
+
avatar
0
Понял, ускорю.
в описании темы есть строки
Если вам очень понравился проект, и хотите его развития, можете отблагодарить автора
+
avatar
0
10 числа скину, спасибо вам огромное ваш проект дал жизнь моему проекту)
+
avatar
0
Добавил новые параметры
#define TOP_POSITION  0           // Позиция вершины елки (используется только в эффекте огня) 
                                  //        0 - не определена 1 - Вершина в начале гирлянды 2 - Вершина в конце гирлянды
#define TOP_LENGTH    0           // Выделять вершину цветом 0 - не выделять, больше 0  сколько светодиодов выделять в вершине
#define TOP_SET_COLOR 0           // Установка цвета выделения вершины 0 - цвет брать из TOP_COLOR, 1 - Цвет брать из палитры заданной в TOP_PALETTE, 2 - Цвет брать из общей палитры гирлянды 
#define TOP_COLOR     CRGB::Red   // Цвет выделения вершины
#define TOP_PALETTE   1000           // Номер палитры с которой будем брать цвет для вершины Номер берется или из лога или из файла gradient_palettes.h вконце есть массив const TProgmemRGBGradientPalettePtr gGradientPalettes[] номер по счету, первый элемент начинается с 0
#define TOP_EFFECT    1           // 0 - Просто залить цветом, 1 - случайное переливание, 2- переливание сверху вниз 3- переливание снизу вверх
#define TOP_DELAY     150         // Задержка эффекта в милисекундах
#define TOP_FADING    5           // Затухание
#define TOP_GLITER_ON 0           // Разрешать блестеть вершине

Проверяйте, как работает ссылки обновил
+
avatar
0
извините я чтото туплю( скачал по ссылке открыл а там тоже самое #define TOP_POSITION 2 // Позиция вершины елки (используется только в эффекте огня)
// 0 — не определена 1 — Вершина в начале гирлянды 2 — Вершина в конце гирлянды
#define TOP_LENGTH 0 // Выделять вершину цветом 0 — не выделять, больше 0 сколько светодиодов выделять в вершине
#define TOP_COLOR CRGB::Red // Цвет выделения вершины
#define TOP_EFFECT 1 // 0 — Просто залить цветом, 1 — случайное переливание, 2- переливание сверху вниз 3- переливание снизу вверх
#define TOP_DELAY 150 // Задержка эффекта в милисекундах
#define TOP_FADING 5 // Затухание
#define TOP_GLITER_ON 0 // Разрешать блестеть вершине
+
avatar
0
попробовал по логу записывать разные палитры но всеравно только зеленый и красный на вершине. в чем может быть проблема?
+
avatar
0
Обновил не под тем именем, извиняюсь, должно работать
+
avatar
0
Ааааа, значит я зря сам строки вписывал))) спасибо огромное, вечером проверю (если по Москве то 20.30)
+
avatar
0
Все разобрался) заработало спасибо) теперь вершина меняется красный -зеленый) если поменять номер палитры то будут добавляться цвета?
+
avatar
0
добавил новые строки в библио но почему-то вершина все равно мигает красный-зеленый
#define BLACKSTART 0 // Первый запуск делать с черного экрана 0- начинать с эффекта, 1- начинать с черного экрана

#define GLITER_ON 0 // Включить блеск 0 — блеск отключен, 1- блеск включен
// если стоит SAVE_EEPROM 1, то параметр хранится в EEPROM и запоминается в момент сохранения настроек

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

#define CANDLE_40 1 // Управление 40 эффектом (свечи) 1 = при запуске она будет включена по варианту efimova1969
// иначе при запуске она будет включена по моему варианту

#define BACKGR_ON 2 // Включить заполнение черного цвета фоном 1 — синий фон, 2 — зеленый, 3 — красный
// если стоит SAVE_EEPROM 1, то параметр хранится в EEPROM и запоминается в момент сохранения настроек

#define DEMO_MODE 3 // Режим при включении
// 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 60 // Время отображение эффекта в демо режиме в секундах

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

#define DIRECT_TIME 20 // Через сколько секунд менять направление если 0 — не меняем
#define PALETTE_TIME 30 // Через сколько секунд менять палитру если 0 — не меняем
#define PALETTE_SPEED 20 // скорость перехода с одной палитры в другую (1- 48)

#define DEV_NOISE16 100 // если Зависает на 22 и 37 режимах, то уменьшаем число

#define SAVE_EEPROM 2 // Сохранять настройки запуска в EEPROM
// 0 — ничего не хранить
// 1 — хранить стартовый режим, длинна гирлянды, скорости и расширенные настройки
// (очередность цвета, состояние блеска, фона, свечей)
// 2 — хранить стартовый режим, длинна гирлянды, скорости

#define TOP_POSITION 2 // Позиция вершины елки (используется только в эффекте огня)
// 0 — не определена 1 — Вершина в начале гирлянды 2 — Вершина в конце гирлянды
#define TOP_LENGTH 4 // Выделять вершину цветом 0 — не выделять, больше 0 сколько светодиодов выделять в вершине
#define TOP_SET_COLOR 1 // Установка цвета выделения вершины 0 — цвет брать из TOP_COLOR, 1 — Цвет брать из палитры заданной в TOP_PALETTE, 2 — Цвет брать из общей палитры гирлянды
#define TOP_COLOR CRGB::Red // Цвет выделения вершины
#define TOP_EFFECT 3 // 0 — Просто залить цветом, 1 — случайное переливание, 2- переливание сверху вниз 3- переливание снизу вверх
#define TOP_PALETTE 7 // Номер палитры с которой будем брать цвет для вершины Номер берется или из лога или из файла gradient_palettes.h вконце есть массив const TProgmemRGBGradientPalettePtr gGradientPalettes[] номер по счету, первый элемент начинается с 0
#define TOP_DELAY 150 // Задержка эффекта в милисекундах
#define TOP_FADING 5 // Затухание
#define TOP_GLITER_ON 0 // Разрешать блестеть вершине
+
avatar
0
Обновил не под тем именем, извиняюсь, должно работать
+
avatar
0
добрый вечер! все шикарно работает- бежит сверху в низ и меняет цвета не зависимо от основной ленты))) СПАСИБО Вам огромное)))если кто будет так же собирать то чуть-чуть горит красным но если уменьшить время задержки эффекта в мили секундах то становится не заметно)))
+
avatar
0
все получилось спасибо! кнопку подключил к А3 привязка к питанию резистором 10к а кнопка замыкает GND. есть список режимов или их только через логи смотреть? к примеру я выберу номера режимов и укажу в списке режимов, а как например выбрать зеленый цвет по мимо команды установить зеленый цвет? чтобы например 4 режим это был просто зеленый?
+
avatar
0
Список режимов описать не возможно, везде переливание. поэтому есть 3 способа настроить
1. Включаем лог и сами переключаем и записываем на бумажку то что нравится
2. посмотреть на видео
3. чисто технически список эффектов находится в файле _main.ino где то на 680 строке
Фрагмент кода
switch (mode) {                                          // First time through a new mode, so let's initialize the variables for a given display.

    case  0: if(mc) {thisdelay=10; palchg=0; } blendwave(); break; 
    case  1: if(mc) {thisdelay=10; palchg=0; } rainbow_beat(); break;
    case  2: if(mc) {thisdelay=10; allfreq=2; thisspeed=1; thatspeed=2; thishue=0; thathue=128; thisdir=1; thisrot=1; thatrot=1; thiscutoff=128; thatcutoff=192;} two_sin(); break;
    case  3: if(mc) {thisdelay=20; allfreq=4; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case  4: if(mc) {thisdelay=10; } noise8_pal(); break;
    case  5: if(mc) {thisdelay=10; allfreq=4; thisspeed=-1; thatspeed=0; thishue=64; thathue=192; thisdir=1; thisrot=0; thatrot=0; thiscutoff=64; thatcutoff=192;} two_sin(); break;
    case  6: if(mc) {thisdelay=20; allfreq=10; bgclr=64; bgbri=4; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case  7: if(mc) {thisdelay=10; numdots=2; thisfade=16; thisbeat=8; thisdiff=64;} juggle_pal(); break;
    case  8: if(mc) {thisdelay=40; thisindex=128; thisdir=1; thisrot=0; bgclr=200; bgbri=6;} matrix_pal(); break;
    case  9: if(mc) {thisdelay=10; allfreq=6; thisspeed=2; thatspeed=3; thishue=96; thathue=224; thisdir=1; thisrot=0; thatrot=0; thiscutoff=64; thatcutoff=64;} two_sin(); break;
    case 10: if(mc) {thisdelay=20; allfreq=16; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 11: if(mc) {thisdelay=50; mul1=5; mul2=8; mul3=7;} three_sin_pal(); break;
    case 12: if(mc) {thisdelay=10; } serendipitous_pal(); break;
    case 13: if(mc) {thisdelay=20; allfreq=8; bgclr=0; bgbri=4; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 14: if(mc) {thisdelay=10; allfreq=20; thisspeed=2; thatspeed=-1; thishue=24; thathue=180; thisdir=1; thisrot=0; thatrot=1; thiscutoff=64; thatcutoff=128;} two_sin(); break;
    case 15: if(mc) {thisdelay=50; thisindex=64; thisdir=-1; thisrot=1; bgclr=100; bgbri=10;} matrix_pal(); break;
    case 16: if(mc) {thisdelay=10; } noise8_pal(); break; // By: Andrew Tuline
    case 17: if(mc) {thisdelay=10; } plasma(11,23,4,18); break;
    case 18: if(mc) {thisdelay=20; allfreq=10; thisspeed=1; thatspeed=-2; thishue=48; thathue=160; thisdir=-1; thisrot=1; thatrot=-1; thiscutoff=128; thatcutoff=192;} two_sin(); break;
    case 19: if(mc) {thisdelay=50; palchg=0; thisdir=1; thisrot=1; thisdiff=1;} rainbow_march(); break;
    case 20: if(mc) {thisdelay=10; mul1=6; mul2=9; mul3=11;} three_sin_pal(); break;
    case 21: if(mc) {thisdelay=10; palchg=0; thisdir=1; thisrot=2; thisdiff=10;} rainbow_march(); break;
    case 22: if(mc) {thisdelay=20; palchg=0; hxyinc = random16(1,15); octaves=random16(1,3); hue_octaves=random16(1,5); hue_scale=random16(10, 50);  x=random16(); xscale=random16(); hxy= random16(); hue_time=random16(); hue_speed=random16(1,3); x_speed=random16(1,30);} noise16_pal(); break;
    case 23: if(mc) {thisdelay=20; allfreq=6; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 24: if(mc) {thisdelay=10; } plasma(23,15,6,7); break;
    case 25: if(mc) {thisdelay=20; thisinc=1; thisfade=2; thisdiff=32;} confetti_pal(); break;
    case 26: if(mc) {thisdelay=10; thisspeed=2; thatspeed=3; thishue=96; thathue=224; thisdir=1; thisrot=1; thatrot=2; thiscutoff=128; thatcutoff=64;} two_sin(); break;
    case 27: if(mc) {thisdelay=30; thisindex=192; thisdir=-1; thisrot=0; bgclr=50; bgbri=0;} matrix_pal(); break;
    case 28: if(mc) {thisdelay=20; allfreq=20; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 29: if(mc) {thisdelay=20; thisinc=2; thisfade=8; thisdiff=64;} confetti_pal(); break;
    case 30: if(mc) {thisdelay=10; } plasma(8,7,9,13); break;
    case 31: if(mc) {thisdelay=10; numdots=4; thisfade=32; thisbeat=12; thisdiff=20;} juggle_pal(); break;
    case 32: if(mc) {thisdelay=30; allfreq=4; bgclr=64; bgbri=4; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=128; thisrot=1; thisspeed=8; wavebright=255;} one_sin_pal(); break;
    case 33: if(mc) {thisdelay=50; mul1=3; mul2=4; mul3=5;} three_sin_pal(); break;
    case 34: if(mc) {thisdelay=10; palchg=0; thisdir=-1; thisrot=1; thisdiff=5;} rainbow_march(); break;
    case 35: if(mc) {thisdelay=10; } plasma(11,17,20,23); break;
    case 36: if(mc) {thisdelay=20; thisinc=1; thisfade=1;} confetti_pal(); break;
    case 37: if(mc) {thisdelay=20; palchg=0; octaves=1; hue_octaves=2; hxy=6000; x=5000; xscale=3000; hue_scale=50; hue_speed=15; x_speed=100;} noise16_pal(); break;
    case 38: if(mc) {thisdelay=10; } noise8_pal(); break;
    case 39: if(mc) {thisdelay=10; palchg=0;} fire(); break;
    case 40: if(mc) {thisdelay=10; palchg=0;} candles(); break;
    case 41: if(mc) {thisdelay=10; } colorwaves(); break;
//  case 42 .. 121: if(mc) {thisdelay=10; } running_fire(9,3,1); break;
Я не понимаю зачем ставить однотонное закрашивание в зеленый цвет в автоматическом режиме.? то есть, шло переливание цветов, потом закрасилось все в зеленый цвет, и елка стоит две минуты зеленая, потом идет переход на следующий эффект.

Может для вашего проекта надо использовать дистанционный пульт и с него менять цвета?
Или перейти на ESP32, там все управление с телефона по bluetooth
+
avatar
0
Это будет скей доска с подсветкой и красивыми режимами, но в какой-то момент я захочу просто зелёную подсветку, потом другой цвет ну и в темноте можно включить белый как фары будет это по контуру доски, а то что в прошивке «вершина» это будет оптоволокно выходящие в верхушке доски ( прям под ногами) и там нужен эффект бегущий в перед(это я включил в вашей прошифке) а вот чтобы палитра менялась раз в цикл или через какое-то время не включить к сожалению
+
avatar
0
Ну тогда с минимальными переделками скажу как сделать монотонный цвет
Выбираешь режимы которые тебе не нравятся и вместо них вставляешь строку
ledMode = 255; solid = CRGB::Green;
Например 39 режим тебе не нравится тогда вместо
case 39: if(mc) {thisdelay=10; palchg=0;} fire(); break;
вставляем строку
case 39: if(mc) {thisdelay=10; palchg=0;} ledMode = 255; solid = CRGB::Green; break;

solid = CRGB::Green задается цвет, в данном случае зеленый, CRGB::Red — это красный
+
avatar
0
Спасибо огромное так будет удобнее чем у меня сейчас( 3нажатия+удержание)
+
avatar
0
Добрый день! Такой вопрос, ветки просмотрел и ответ на него не нашел. Так вот, перебрал все прошивки и на всех одна и та же проблема. Гирлянда представляет из себя не единое целое, а будто две разных гирлянды, соединенных в параллель. То есть перелив заканчиваетя не в конце гирлянды, а в середине (там где к первому отрезку присоединен другой). Соответственно и все эффекты одновременно начинаются с середины гирлянды и с ее начала, извините за тавталогию. В чем может быть проблема?
+
avatar
0
Здравствуйте. У меня не получается отблагодарить автора через этот кошелек ( у меня карта другой страны) как ещё можно отправить благодарность?
+
avatar
+1
Не знаю как, деньги не главное. Пользуйтесь на здоровье
+
avatar
0
  • babajaga
  • 23 декабря 2022, 12:17
Привет! Всё отлично, не устраивает скорость эффектов. Напрягает глаза.
Как можно программно уменьшить скорость? Более плавнее.
Уделите пожалуйста пару минут на доработку скетча.
С уважением Евгений Боллингер FRG (Germany)
+
avatar
+2
Приветствую.
За скорость эффектов отвечает переменная thisdelay.
В файле _main.ino есть где-то в районе 670 строки есть код
Здесь код
switch (mode) {                                          // First time through a new mode, so let's initialize the variables for a given display.

    case  0: if(mc) {thisdelay=10; palchg=0; } blendwave(); break; 
    case  1: if(mc) {thisdelay=10; palchg=0; } rainbow_beat(); break;
    case  2: if(mc) {thisdelay=10; allfreq=2; thisspeed=1; thatspeed=2; thishue=0; thathue=128; thisdir=1; thisrot=1; thatrot=1; thiscutoff=128; thatcutoff=192;} two_sin(); break;
    case  3: if(mc) {thisdelay=20; allfreq=4; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case  4: if(mc) {thisdelay=10; } noise8_pal(); break;
    case  5: if(mc) {thisdelay=10; allfreq=4; thisspeed=-1; thatspeed=0; thishue=64; thathue=192; thisdir=1; thisrot=0; thatrot=0; thiscutoff=64; thatcutoff=192;} two_sin(); break;
    case  6: if(mc) {thisdelay=20; allfreq=10; bgclr=64; bgbri=4; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case  7: if(mc) {thisdelay=10; numdots=2; thisfade=16; thisbeat=8; thisdiff=64;} juggle_pal(); break;
    case  8: if(mc) {thisdelay=40; thisindex=128; thisdir=-1; thisrot=0; bgclr=200; bgbri=6;} matrix_pal(); break;
    case  9: if(mc) {thisdelay=10; allfreq=6; thisspeed=2; thatspeed=3; thishue=96; thathue=224; thisdir=1; thisrot=0; thatrot=0; thiscutoff=64; thatcutoff=64;} two_sin(); break;
    case 10: if(mc) {thisdelay=20; allfreq=16; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 11: if(mc) {thisdelay=50; mul1=5; mul2=8; mul3=7;} three_sin_pal(); break;
    case 12: if(mc) {thisdelay=10; } serendipitous_pal(); break;
    case 13: if(mc) {thisdelay=20; allfreq=8; bgclr=0; bgbri=4; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 14: if(mc) {thisdelay=10; allfreq=20; thisspeed=2; thatspeed=-1; thishue=24; thathue=180; thisdir=1; thisrot=0; thatrot=1; thiscutoff=64; thatcutoff=128;} two_sin(); break;
    case 15: if(mc) {thisdelay=50; thisindex=64; thisdir=-1; thisrot=1; bgclr=100; bgbri=10;} matrix_pal(); break;
    case 16: if(mc) {thisdelay=10; } noise8_pal(); break; // By: Andrew Tuline
    case 17: if(mc) {thisdelay=10; } plasma(11,23,4,18); break;
    case 18: if(mc) {thisdelay=20; allfreq=10; thisspeed=1; thatspeed=-2; thishue=48; thathue=160; thisdir=-1; thisrot=1; thatrot=-1; thiscutoff=128; thatcutoff=192;} two_sin(); break;
    case 19: if(mc) {thisdelay=50; palchg=0; thisdir=1; thisrot=1; thisdiff=1;} rainbow_march(); break;
    case 20: if(mc) {thisdelay=10; mul1=6; mul2=9; mul3=11;} three_sin_pal(); break;
    case 21: if(mc) {thisdelay=10; palchg=0; thisdir=1; thisrot=2; thisdiff=10;} rainbow_march(); break;
    case 22: if(mc) {thisdelay=20; palchg=0; hxyinc = random16(1,15); octaves=random16(1,3); hue_octaves=random16(1,5); hue_scale=random16(10, 50);  x=random16(); xscale=random16(); hxy= random16(); hue_time=random16(); hue_speed=random16(1,3); x_speed=random16(1,30);} noise16_pal(); break;
    case 23: if(mc) {thisdelay=20; allfreq=6; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 24: if(mc) {thisdelay=10; } plasma(23,15,6,7); break;
    case 25: if(mc) {thisdelay=20; thisinc=1; thisfade=2; thisdiff=32;} confetti_pal(); break;
    case 26: if(mc) {thisdelay=10; thisspeed=2; thatspeed=3; thishue=96; thathue=224; thisdir=1; thisrot=1; thatrot=2; thiscutoff=128; thatcutoff=64;} two_sin(); break;
    case 27: if(mc) {thisdelay=30; thisindex=192; thisdir=-1; thisrot=0; bgclr=50; bgbri=0;} matrix_pal(); break;
    case 28: if(mc) {thisdelay=20; allfreq=20; bgclr=0; bgbri=0; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=224; thisrot=0; thisspeed=4; wavebright=255;} one_sin_pal(); break;
    case 29: if(mc) {thisdelay=20; thisinc=2; thisfade=8; thisdiff=64;} confetti_pal(); break;
    case 30: if(mc) {thisdelay=10; } plasma(8,7,9,13); break;
    case 31: if(mc) {thisdelay=10; numdots=4; thisfade=32; thisbeat=12; thisdiff=20;} juggle_pal(); break;
    case 32: if(mc) {thisdelay=30; allfreq=4; bgclr=64; bgbri=4; startindex=64; thisinc=2; thiscutoff=224; thisphase=0; thiscutoff=128; thisrot=1; thisspeed=8; wavebright=255;} one_sin_pal(); break;
    case 33: if(mc) {thisdelay=50; mul1=3; mul2=4; mul3=5;} three_sin_pal(); break;
    case 34: if(mc) {thisdelay=10; palchg=0; thisdir=-1; thisrot=1; thisdiff=5;} rainbow_march(); break;
    case 35: if(mc) {thisdelay=10; } plasma(11,17,20,23); break;
    case 36: if(mc) {thisdelay=20; thisinc=1; thisfade=1;} confetti_pal(); break;
    case 37: if(mc) {thisdelay=20; palchg=0; octaves=1; hue_octaves=2; hxy=6000; x=5000; xscale=3000; hue_scale=50; hue_speed=15; x_speed=100;} noise16_pal(); break;
    case 38: if(mc) {thisdelay=10; } noise8_pal(); break;
    case 39: if(mc) {thisdelay=10; palchg=0;} fire(); break;
    case 40: if(mc) {thisdelay=10; palchg=0;} candles(); break;
    case 41: if(mc) {thisdelay=10; } colorwaves(); break;
,,,,
каждая строка это эффект, в каждой строке есть задержка {thisdelay=10; } для уменьшения скорости значение надо увеличивать например {thisdelay=20; } уменьшит скорость в 2 раза

С наступающим Новым Годом!!!, Дед Мороз Бикин Дмитрий, СССР (Советский Союз) )))
+
avatar
0
  • nero53
  • 24 декабря 2022, 00:18
зачем вы ардуину то мучаете
пульты какието…
esp32s2 mini
дешевле в разы
быстрее в разы
памяти овер много (макс под эффекты 1.5 процента ушло )
управляется по всякому с телефона(нафик пульт)
да хоть по инету
и самое важное гирлянда летает просто(приходится задержку делать)
адресная лента на 256 диодов…
на окне одна другая на елке
имеют свои имена во внутренней сети дома
работает в среде ардуино
тоесть скетч лего компилится от ардуинки
+
avatar
+1
В момент появления проекта, более 4 лет, поддержки ESP32 не было, а Нано стоила копейки.

Проект поддерживает ESP. и компилируется нормально
Есть и конкретно развитие под esp32 проект
+
avatar
0
  • nero53
  • 16 января 2023, 14:50
да что компилится это и так понятно
просто народ мучается с этой атмелкой древней
пора переходить на более быстрые контроллеры со встроенной вафлей
Я к примеру на Lolin S2 Mini собирал
и на елку и на окно гирлянду
сам приложуху на андроид через сайт сборщик написал
обе гирлянды интегрированы в домашнюю сеть
сенсор из коробки wifi из коробки rtc тоже
ну и зачем атмелка?
тем более чем больше светодиодов тем больше тормоза
да и памяти поболее
часть эффектов стырено у гоувера часть с других языков стянуто
и все равно пол памяти пусто…
+
avatar
+1
Вы предлагаете удалить эту тему, потому что «народ мучается с этой атмелкой древней»
Кому надо могут использовать ESP8266, она еще дешевле вашей или ESP32, как у вас
Прошивки все есть на одно сообщение выше, я выкладывал,
То что Вы сделали, хорошо, я вас поздравляю, Когда чтото сделано своими руками оно всегда приятно
+
avatar
+1
  • IronWork
  • 24 декабря 2022, 14:05
dmitrybik, большое спасибо за проект, за потраченное время и за то что подарили этот труд народу! Делал несколько вариантов начиная с гирлянды Гайвера. В этом году решил сделать универсальный вариант с возможностью модернизации, легким доступом к перепрошивке и самое главное с двумя микроконтроллерами ) Ардуино использует Ваш Notamesh 4.2 а ESP32 прошито Wled.
К сожалению максимально далек от программирования (
Есть вопрос по палитрам. Выбрал нужные эффекты, они крутятся по кругу, но смена палитр не особо нравиться, некоторые бледноваты и скучноваты. Можно как то исключить часть палитр?

Мой вариант гирлянды )

+
avatar
+1
Можно исключить и можно сделать свои
1, как исключить
ищем файл gradient_palettes.h в конце есть таблица
Пример кода
const TProgmemRGBGradientPalettePtr gGradientPalettes[] = {
  my_GreenYellow_gp,                    //Желто зеленая
  Sunset_Real_gp,                       //Закат Красно желтый фиолетово синий
//  es_rivendell_15_gp,                   //светло зеленый грязножелтый
  es_ocean_breeze_036_gp,               //Океанский бриз темносиний синий голубой синий
  rgi_15_gp,                            //Фиолетовый красный фиолетовый красный филдетовый
  retro2_16_gp,                         //золотой 
  Analogous_1_gp,                       //Синекрасный
  es_pinksplash_08_gp,                  //карамелька  фиолетово красный белый красный
  Coral_reef_gp,                        //океан аквамарин голубой
  my_BlueYellow_gp,                     //синежелтый
//  es_ocean_breeze_068_gp,               //океан
  es_pinksplash_07_gp,                  //красный фиолетовый красный фиолетовый красный
//  es_vintage_01_gp,                     // темнокоричневый желтый темнокоричневый
//  departure_gp,                         // темнокоричневый белый светлозеленый
//  es_landscape_64_gp,                   // темнозеленый геленый белый желто синий
//  es_landscape_33_gp,                   // темнокоричневый желтый голуюой синий темносиний
  rainbowsherbet_gp,                    // оранжевый розовый красный фиолетовый желтый зеленый
  my_FuchsiaYellow_gp,                  // фиолетово желтый
  gr65_hult_gp,                         // светлорозовый розовый фиолетовый бирюзовый голубой
  gr64_hult_gp,                         // бирюзовый желтый бирюзовый
  GMT_drywet_gp,                        // желто голубой синий
  ib_jul01_gp,                          // красный синий билюзовый желтый красный
//  es_vintage_57_gp,                     // темнокоричневый желтый
//  ib15_gp,                              // светлофиолетовый розовый фиолетовый
  Fuschia_7_gp,                         // фиолетовый розовый фиолетовый
  es_emerald_dragon_08_gp,              // светло зеленый зеленый
//  lava_gp,                              // темнокоричневый красный оранжевый желтый белый
//  fire_gp,                              // темнокоричневый красный оранжевый желтый белый
  Colorfull_gp,                         // зеленый светлозеленый фиолетовый желтый голубой
  Magenta_Evening_gp,                   // фиолетовый розовый фиолетовый
//  Pink_Purple_gp,                       // фиолетовый голубой желтый розовый
  es_autumn_19_gp,                      // переливающийся красный красный белый желтый белый желтый белый красный красный
//  BlacK_Blue_Magenta_White_gp,
//  BlacK_Magenta_Red_gp,
//  BlacK_Red_Magenta_Yellow_gp,
  Blue_Cyan_Yellow_gp,                  // синий голубой зеленый желтый
  bhw1_28_gp,                           // фиолетовый голубой фиолетовый розовый фиолетовый
  my_Rainbow_gp,                        // радуга
  my_Flag_gp                            // флаг красный синий белый
  }; 
Если что-то не нравится можно закоментировать, Для поиска включаем лог и смотрим какая палитра по счету

2, как добавить
ищем файл gradient_palettes.h в конце есть таблица, перед таблицей есть код вида
Пример кода
DEFINE_GRADIENT_PALETTE( my_Flag_gp ){
    0, 255,   0,   0,
   78, 255,   0,   0,
   83,   0,   0, 255,
  168,   0,   0, 255,
  173, 255, 255, 255,
  255, 255, 255, 255 };
Это палитра как Российский флаг
DEFINE_GRADIENT_PALETTE( my_Flag_gp ) здесь ставится название палитры (название в скобочках, для данного примера my_Flag_gp )
в скобочках {} находятся числа сгруппированных по 4 числа разделенных запятыми (в конце запятая не ставится.
первое число, это точка в палитре может быть в диапазоне от 0 до 255 где 0 начало палитры, 255 — конец палитры.
Остальные три числа это значение красного цвета, зеленого цвета, и синего цвета где 0- нет цвета 255 максимально яркий цвет
Значения цвета точки можно найти в яндексе/гугле по запросу RGB значение цвета

По данному примеру палитра будет такая
с 0 по 78 будет красный цвет RGB (255,0,0)
с 83 по 168 будет синий цвет RGB (0,0,255)
с 173 по 255 будет белый цвет RGB (255, 255, 255)

с 78 по 83 будет плавный переход с красного на синий
с 168 по 173 будет плавный переход с синего на красный
+
avatar
0
  • IronWork
  • 25 декабря 2022, 09:48
Благодарю. Буду пробовать )
+
avatar
0
Всем привет. Шикарная реализация, но не работает пульт. Вроде все прописал, но реакции на кнопки нет. Библиотека Irremote выдает пульт NEC и код кнопки вида «0xFF30CF» Но что-то не работает. Пин приемника указан верно. Может версию библиотеки надо конкретную поставить?
+
avatar
0
Чтобы мне вам помочь, скажите, если подключаете ЛОГ, там при нажатии кнопок, что выдается
Если чтото есть, скиньте сюда строчек 5-10
+
avatar
0
Initial Random: 4090
DEMO MODE 1
---SETUP COMPLETE---
Mode: 0
4172
Change palette off
End SetMode
The function decode(&results)) is deprecated and may not work as expected! Just use decode() without a parameter and IrReceiver.decodedIRData..
Command: 0xFF728D
Solid_Violet
Command: 0xFF728D
Solid_Violet
Command: 0xFF609F
Command: 0xFF609F
Command: 0xFF32CD
Command: 0xFF32CD
+
avatar
0
Отлично
Теперь для скетча notamesh4.3_(Bluetooth) делаем следующее
Открываем файл notamesh4.3.ino в конце есть список команд вида
Пример кода
///                               Все команды которые обрабатывает скетч

//формат такой
// #define Command_XXXX   YYYYY
// где Command_XXXX   - код команды, это лучше не менять
//     YYYYY          - код обработчика ( это либо число получаемое кри нажатии кнопки пульта
//                                            либо Значение соответствующее нажатой кнопке аналоговой клавиатуры, это мы определили выше как значения KEY_0, KEY_1, KEY_2 и подобные
//                                            либо Значение соответствующее нажатой кнопке библиотеке GyverButton, это мы определили выше как значения BTN_1, BTN_2, BTN_3, BTN_4 и BTN_PRESS
//                                            либо Значение 0 если команда не используется )
// Если команда не используется то тогда надо YYYYY заменить на 0 или закомментировать строку

// значения кнопок пульта получаются следующим способом:
// загружаем пример из библиотеки IRremote с названием IRrecvDemo и смотрим в мониторе коды клавиш
// число должно иметь  вид 0x00ff4ab5  (шестнадцатеричное число)

// Пример:        #define Command_Brightness_plus   0xff4ab5                Установить обработку команды "Увеличить максимальную яркость"  на кнопку с кодом 0xff4ab5 с пульта
//                #define Command_Brightness_plus   KEY_0                   Установить обработку команды "Увеличить максимальную яркость"  на 0 кнопку подключенную к аналоговому входу
//                #define Command_Brightness_plus   BTN_1                   Установить обработку команды "Увеличить максимальную яркость"  на нажатие кнопки подключенной к библиотеке GyverButton
//                #define Command_Brightness_minus  BTN_2                   Установить обработку команды "Уменьшить максимальную яркость"  на двойное нажатие кнопки подключенной к библиотеке GyverButton

                                                      // кнопка на моем пульте
#define Command_Brightness_plus              BTN1_PRESS       //Кн1 нажатие       // Увеличить максимальную яркость и остановится если достигли максимума
#define Command_Brightness_plus_R            0                                    // Увеличить максимальную яркость, при достижения максимума начать с минимума
#define Command_Brightness_minus             BTN3_PRESS       //Кн3 нажатие       // Уменьшить максимальную яркость и остановится если достигли максимума
#define Command_Brightness_minus_R           0                                    // Уменьшить максимальную яркость, при достижения минимума начать с максимума
#define Command_Reset                        0                                    // Сброс всех настроек и перезагрузка 
#define Command_Stop                         0                                    // Останов Черный цвет 
#define Command_Start                        0                                    // Продолжение работы
#define Command_Start_Stop                   BTN1_2       //Кн1 2 клик            // Старт/стоп
#define Command_Demo_On                      0                                    // Востановим демо режим (какой был до этого)
#define Command_Demo_Sequence                0                                    // Включит демо режим (перебор) 
#define Command_Demo_Random                  0                                    // Включит демо режим (Случайно) 
#define Command_Demo_Sequence_Select         0                                    // Включит демо режим (перебор) 
#define Command_Demo_Random_Select           0                                    // Включит демо режим (Случайно) 
 
#define Command_Setup_Mode_On                BTN3_3_PRESS     //Кн3 3 клика + удержание       // Перейти в настройку программы 
#define Command_Length_Garland_plus          0                                    // Увеличить количество светодиодов в гирлянде и перейти в режим настройки
#define Command_Length_Garland_minus         0                                    // Уменьшить количество светодиодов в гирлянде и перейти в режим настройки
#define Command_Rotate                       0                                    // Сменить направление движения эффектов
#define Command_Speed_minus                  0                                    // Замедлить движение
#define Command_Speed_plus                   0                                    // Ускорить движение

......
Каждая строка это команда, в конце каждой команды нужно поставить код или 0 (если 0 или она закомментирована, то команда не используется)
В вашем случае, те коды, которые получили в логе, необходимо добавить в нужную команду.
Например, если на пульте кнопка, которую вы ходите использовать как переход на следующий режим, в логе выдает код 0xFF609F, то мы этот код должны вставить в команду
#define Command_Next_mode_Demo               0xFF609F                                    // Следующий эффект. Оставлякт демонстрационный режим
+
avatar
0
Я все это прописал. В notamesh4biblio
#define Command_Length_Garland_plus 0xEC13FF00 // L/R -osd // Увеличить количество светодиодов в гирлянде
#define Command_Length_Garland_minus 0xA659FF00 // Slow // Уменьшить количество светодиодов в гирлянде
#define Command_Rotate 0xB847FF00 // Setup // Сменить направление движения эффектов
#define Command_Speed_minus 0xAF50FF00 // vol — // Замедлить движение
#define Command_Speed_plus 0xF708FF00 // vol + // Ускорить движение
С этим и не работает. Меня больше смущает сообщение The function decode(&results)) is deprecated and may not work as expected! Just use decode() without a parameter and IrReceiver.decodedIRData..
+
avatar
0
Печальные новости
Разработчик IRremote в очередной раз сделал пакость: сделал версию 3.0 которая выросла в объеме и больше не влезает в Nano, приходится что то отключать
на тест выставляю версию скетча, где есть возможность выбора какая версия IRremote используется, за это отвечает строка
#define IR_ON         1           // Если равен 1  используется пульт библиотеки IRremote версии 3, поставте 2 для работы с IRremote версии 2
Если ставим 1, будет использоваться версия IRremote 3, если ставим 2 то все будет по старому IRremote 2
С отключенным логом в нану влезает версия 3

Могу предложить использовать 2 версию.
Скриншот
Завтра сам протестирую тестовый скетч
+
avatar
0
Попробую вторую версию библиотеки тогда. У меня стояла последняя.
У меня получилось для теста включить лог с 3 версией библиотеки на нано, пришлось только количество диодов сократить до 10 и отключить GyverButton
+
avatar
0
Перепроверил, все работает. во всех режимах, у вас все таки команды не прописаны
Строка The function decode(&results)) is deprecated and may not work as expected! Just use decode() without a parameter and IrReceiver.decodedIRData. не мешает работе, она выводится только один раз, мое устройство работает

И еще в вашем логе
Command: 0xFF728D
Solid_Violet
Command: 0xFF728D
Solid_Violet
при нажатии кнопки 0xFF728D исполнилась команда Solid_Violet
+
avatar
0
Обновления в скетче notamesh4.2_(Biblio) ссылка на скачивание (не изменилась)
Добавлена поддержка IRremote версии 3
+
avatar
0
Каждый год ищу этот пост. А можно как то добавить в скетч блутуз?
+
avatar
+1
Каждый год говорю, что добавлен тут
Если вам надо именно к этой плате добавить модуль Bluetooth, то это можно сделать только пожертвовав какие то эффекты
+
avatar
0
Спасибо большое!!! Я настолько неожиданно удивлён ответу, что это ничего не сказать.

Коль вы пришли. Помогите, уже бесит все.

не компилируется. выдаёт ошибку постоянно: на строке #elif BACKGR_ON >0
leds[i].b +=CRGB(5,5,5);

In file included from C:\Users\Bugaev\Desktop\notamesh4Biblio\_main.ino:239:0:
C:\Users\Bugaev\Desktop\notamesh4Biblio\addings.h: In function 'void addbackground()':
C:\Users\Bugaev\Desktop\notamesh4Biblio\addings.h:52:21: error: no match for 'operator+=' (operand types are 'uint8_t {aka unsigned char}' and 'CRGB')
leds[i].b +=CRGB(5,5,5);
~~~~~~~~~~^~~~~~~~~~~~~
C:\Users\Bugaev\Desktop\notamesh4Biblio\addings.h:52:21: note: candidate: operator+=(uint8_t& {aka unsigned char&}, int) <built-in>
C:\Users\Bugaev\Desktop\notamesh4Biblio\addings.h:52:21: note: no known conversion for argument 2 from 'CRGB' to 'int'
C:\Users\Bugaev\Desktop\notamesh4Biblio\addings.h:52:21: note: candidate: operator+=(uint8_t& {aka unsigned char&}, long unsigned int) <built-in>
C:\Users\Bugaev\Desktop\notamesh4Biblio\addings.h:52:21: note: no known conversion for argument 2 from 'CRGB' to 'long unsigned int'

exit status 1

Compilation error: no match for 'operator+=' (operand types are 'uint8_t {aka unsigned char}' and 'CRGB')

Сил нет. Тлен.
+
avatar
+2
Изменения в библиотеке FastLED
Либо откатить ее назад

Либо в файле addings.h
Заменить
Открыть
///////////////////////////////////////////////////////////////// Черный фон
void addbackground() 
{
  #if MAX_LEDS < 255
    uint8_t i; 
  #else
    uint16_t i;
  #endif

   for (i = 0; i < NUM_LEDS ; i++ ) 
    if (  (leds[i].r < 5) &&
          (leds[i].g < 5) &&
          (leds[i].b < 5) ) {
        #if     BACKGR_ON == 3 
          leds[i].r +=CRGB(5,5,5);
        #elif   BACKGR_ON == 2
          leds[i].g +=CRGB(5,5,5);
        #elif   BACKGR_ON >0 
          leds[i].b +=CRGB(5,5,5);
        #endif
   }
}
на
Открыть
void addbackground() 
{
  #if MAX_LEDS < 255
    uint8_t i; 
  #else
    uint16_t i;
  #endif

   for (i = 0; i < NUM_LEDS ; i++ ) 
    if (  (leds[i].r < 5) &&
          (leds[i].g < 5) &&
          (leds[i].b < 5) ) {
          
        #if     BACKGR_ON == 3 
          leds[i].r +=5;  //CRGB(5,5,5);
        #elif   BACKGR_ON == 2
          leds[i].g +=5;  //CRGB(5,5,5);
        #elif   BACKGR_ON >0 
          leds[i].b +=5;  //CRGB(5,5,5);
        #endif
   }
}
+
avatar
0
Дмитрий, добрый день.
Arduino nano, скетч notamesh4.2_(Biblio), спаял последовательно 2 гирлянды на SK6812 по 50 диодов в каждой…
Работает только первая. У Вас было решение для ESP32, а вот для Arduino nano, что надо сделать, что бы работали обе гирлянды?
+
avatar
0
Увидел Ваше сообщение от 18 декабря 2022, 17:26
Попробую сделать.
Я правильно понял, что сигнал на управление второй гирляндой надо брать с того же, пина D6, что и для первой?
+
avatar
0
Доброго здоровья
Нет, там как раз на оборот выделяются для каждого отрезка свой пин
Для первой гирлянды свой и для второй свой в скетче надо выбрать эти пины
Контроллер первую. часть светодиодов выводит на первый пин, оставшуюся часть выводит на второй пин
и физически вторая гирлянда будет продолжением первой
Я вам сюда скину скетч с доделками сюда но чуть погодя
понедельник вторник (я какраз буду в Барнауле в командировке и будет свободное время)
+
avatar
0
Спасибо. Жду с нетерпением.
+
avatar
0
Похоже, что у меня разные ленты, хотя выглядат одинаково и обе заявлялись продавцами как sk6812. Куплены в разное время.
У одной шина управления звонится на всю длину, а у второй нет.
Причём вторая, в гирлянде Гайвера, работала только если установить количество светодиодов 100 шт., а в ленте их 50.
Вот теперь пытаюсь их заставить работать вместе.
+
avatar
0
Дмитрий, добрый день. Вы не забыли про меня?
+
avatar
+1
Нет не забыл, почти сделал, до воскресенья скину
Я в командировках, временные зоны меня доканают, в воскресенья я лечу во Владивосток
+
avatar
0
Добавил возможность резки в основную версию. Прошивка тут
Настройка такая же как описана в ESP32
Если есть вопросы пишите
+
avatar
0
Спасибо. Работает.
+
avatar
0
  • Reygubin
  • 11 декабря 2023, 19:16
Добрый день.
Решил перезалить скетч с Уно на Нано
вылезла ошибка:
In file included from E:\Arduino\Projects\Гирлянда\проект 1\notamesh4.1_(plus)\notamesh4plus\notamesh4plus.ino:171:0:
IRremote.h:81:19: error: redeclaration of 'UNKNOWN'
С:\....\Arduino\libraries\IRremote\src/IRProtocol.h:40:5: note: previous declaration 'decode_type_t UNKNOWN'
UNKNOWN = 0,
^~~~~~~
С:\....\Arduino\libraries\IRremote\src/IRProtocol.h:62:3: note: previous declaration as 'typedef enum decode_type_t decode_type_t'
} decode_type_t;
^~~~~~~~~~~~~
In file included from E:\Arduino\Projects\Гирлянда\проект 1\notamesh4.1_(plus)\notamesh4plus\notamesh4plus.ino:171:0:
IRremote.h:129:7: error: redefinition of 'class decode_results'
In file included from E:\Arduino\Projects\Гирлянда\проект 1\notamesh4.1_(plus)\notamesh4plus\IRremote.h:24:0,
from E:\Arduino\Projects\Гирлянда\проект 1\notamesh4.1_(plus)\notamesh4plus\notamesh4plus.ino:171:
C:\...\Arduino\libraries\IRremote\src/IRremoteInt.h:116:8: note: previous definition of 'class decode_results'
struct decode_results {
^~~~~~~~~~~~~~
In file included from E:\Arduino\Projects\Гирлянда\проект 1\notamesh4.1_(plus)\notamesh4plus\notamesh4plus.ino:171:0:
IRremote.h:149:7: error: redefinition of 'class IRrecv'
In file included from E:\Arduino\Projects\Гирлянда\проект 1\notamesh4.1_(plus)\notamesh4plus\IRremote.h:24:0,
from E:\Arduino\Projects\Гирлянда\проект 1\notamesh4.1_(plus)\notamesh4plus\notamesh4plus.ino:171:
C:\....\Arduino\libraries\IRremote\src/IRremoteInt.h:167:7: note: previous definition of 'class IRrecv'
class IRrecv {
^~~~~~

typedef
enum {.
UNKNOWN = -1,
RC5,
RC6,
NEC,
SONY,
PANASONIC,
JVC,
SAMSUNG,
WHYNTER,
LG,
DISH,
SHARP,
DENON,
LEGO_PF,
..}

отметил по которым ошибка появляется.

заменял библиотеки с этого поста, а также пробовал почти все версии которые есть у автора. ничего не помогает, и ардуину ИДЕ ставил и 2.0 и 1.18 и переустанавливал обеи — результат один и тот же.
год назад делал — работало. сейчас нет.
Подскажите где исправить
+
avatar
0
Похоже что два раза подключена библиотека \IRremote\
Надо почистить
+
avatar
0
  • Reygubin
  • 13 декабря 2023, 19:24
удалил обе IDE и все папки с библиотеками и вообще все папки «Arduino...» в разных местах как тут описано ссылка.
поставил с нуля IDE 2.0


в ошибках оставил для пульта NEC
когда было несколько библиотек IRemote в логе показывало, что их две и какая используется. сейчас одна, а результат тот же. ошибки по пульту, причём не по всему списку, а по некоторым
+
avatar
0
у вас случайно не это?
Описано в шапке
Для установки библиотеки IRremote, по совету автора надо удалить Arduino / libraries / RobotIRremote
Появлюсь у компьютера, проверю
или опять разработчик IRremote внес проблему, тогда надо откатить его не версию
+
avatar
0
Здравствуйте, подскажите пожалуйста как в коде 4.1(plus) уменьшить яркость светодиодов
+
avatar
0
220 uint8_t max_bright = 255; // ------------------Яркость--------------------
+
avatar
0
спасибо, помогло
+
avatar
0
Друзья, здравствуйте! Объясните пожалуйста вот что. Сделал гирлянду из пяти готовых, по 50 светодиодов каждая, с али. Каждая была со своим контролёром. Объединил в одну, соответственно 250 диодов получилось. В гирлянде дублируются диоды через каждые 50 штук. То есть 1, 51, 101, 201, затем 2, 52, 102, 202 и т.д. Настраивал и на 50 и на 250, и много других промежуточных вариантов, все одно и тоже. Запускал пример blink — тоже мигают через каждые 50шт. Диоды прописаны как 2812b, но пробовал все варианты из библиотеки, какие-то светят, какие-то нет, но если светят, то каждый через 50шт. Третий год пытаюсь довести ее до ума, а то некоторые эффекты теряются из-за дубляжа. А в целом работает без проблем, я с семьей и гости, все в восторге! Мое почтение всем причастным, может кто сможет пролить свет))
+
avatar
0
Вам нужен вариант как здесь
Многие накалываются, добавлю в основной скетч.
Если вкратце, надо для каждого отрезка свой пин Скетч автоматически из объединить.
До воскресенья сделаю
+
avatar
0
Благодарю за ответ, поддержка на высшем уровне!!!
+
avatar
0
Добрый день Дмитрий. Спасибо за скетч. Получилось зажечь только 100 светодиодов с двух пинов, еще две гирлянды на двух пинах никак получается включить. Где я ошибаюсь?
+
avatar
0
Добрый день, Ну если у вас больше 100 светодиодов то тогда надо делать на каждые 50 светодиодов свой пин,
сколько у вас всего гирлянд по 50 светодиодов?

И попробуйте еще подключится не к последнему светодиоду в гирлянде а к вред последнему, может в этом дело, на последнем стоит заглушка

После вашего от вета по количеству гирлянд, подкорректирую скетч
+
avatar
0
Пять гирлянд по 50 светодиодов. Сейчас. Подключил к 5 пинам, все диоды светятся в правильном порядке и правильным цветом. Не получилось уменьшить время смены эффекта (бенгальский огонь бежит 8-9 сек, хотелось бы секунду или две, CHANGE_TIME не даёт изменений). В остальном все отлично.
+
avatar
0
Разобрался следующим образом. Подкинул скетч gyvercut, там все пины заработали, дописал по аналогии 5й пин, все 5 гирлянд заработали как и задумывалось. Но там не было команд для пульта. Собрал из версии biblio и gyvercut скетч, добавил свои команды и все работает как надо. Только раньше все влезало в nano, а теперь, видимо из-за разделения на 5 гирлянд, памяти не хватило. Валялась Мега, записал на неё. Спасибо)) гирлянда снова радует. Не получается сменить время смены эффекта, нет изменений. Теперь из-за большой длины эффект меняется 8-9 секунд, хотелось бы одну секунду.
+
avatar
0
Вот модифицированный скетч disk.yandex.ru/d/jVav9WWLfHyKdQ
+
avatar
0
Можно просто отключить бенгальский огонь, меньше времени не сделать (надо обдумать)
есть вариант поиграть с параметром change_time в файле _main.ino
#if CHANGE_ON != 0                                                            // Включена плавная смена эффектов
    if ( StepMode< (NUM_LEDS-TOP_LENGTH) ) {                                    // есть шаги, исполняем
        uint16_t change_time = (1000L *CHANGE_TIME) / (NUM_LEDS-TOP_LENGTH);    // время в мСек на каждый светодиод
        if (change_time < 20) change_time = 20;
//        static uint8_t change_increment = (uint32_t)change_time * (NUM_LEDS-TOP_LENGTH) / (1000L *CHANGE_TIME)+1;
попробовать или удалить
if (change_time < 20) change_time = 20;
или поменять на if (change_time < 10) change_time = 10;
+
avatar
0
Сейчас попробовал. На 10 если менять эффекта нет. Change на 0, то не включаются эффекты при старте, даже с пульта. Change Time если поставить 20 секунд, то время смены действительно увеличивается до 20 секунд. Но если 10, 9, 8, 7, 6 и тд, то все равно около 10 секунд идёт смена эффекта.
+
avatar
+1
Я вспомнил, не доделал там были сложности, попробуйте этот фрагмент изменить
Код
#if CHANGE_ON != 0                                                            // Включена плавная смена эффектов
    if ( StepMode< (NUM_LEDS-TOP_LENGTH) ) {                                    // есть шаги, исполняем
        uint16_t change_time = (1000L *CHANGE_TIME) / (NUM_LEDS-TOP_LENGTH);    // время в мСек на каждый светодиод
        if (change_time < 20) change_time = 20;
//        static uint8_t change_increment = (uint32_t)change_time * (NUM_LEDS-TOP_LENGTH) / (1000L *CHANGE_TIME)+1;
        EVERY_N_MILLISECONDS( change_time) {                      // Движение плавной смены эффектов
//            if (StepMode >10) StepMode+=change_increment;
//            else              
              StepMode++;
на этот
Код
#if CHANGE_ON != 0                                                            // Включена плавная смена эффектов
    if ( StepMode< (NUM_LEDS-TOP_LENGTH) ) {                                    // есть шаги, исполняем
        uint16_t change_time = (1000L *CHANGE_TIME) / (NUM_LEDS-TOP_LENGTH);    // время в мСек на каждый светодиод
        if (change_time < 20) change_time = 20;
        uint8_t zz = (uint32_t)change_time * (NUM_LEDS-TOP_LENGTH) / (1000L *CHANGE_TIME)+1;
        static uint8_t change_increment = ( zz >0)? zz : 1;
        EVERY_N_MILLISECONDS( change_time) {                      // Движение плавной смены эффектов
            if (StepMode >10) StepMode+=change_increment;
            else              
              StepMode++;
+
avatar
+1
Есть! Работает, и CHANGE_TIME теперь правильно регулируется от 1сек и дольше. Мое Вам почтение и уважение))
+
avatar
0
Подскажите ещё пожалуйста где цвета подкорректировать, а то желтый не совсем желтый, оранжевый в зелёный отдаёт, белый в синеву. Там наверняка на БЕЛЫЙ стоит 255;255;255, я бы синего чуть убавил))
+
avatar
0
Это уже к Библиотеке FastLED
в ней есть коррекция подробнее тут

для скетча можно прописать в конце функции Setup
LED1_Off;                                         //Выключим светодиод

  LEDS.setCorrection(TypicalLEDStrip);

} // setup()
вместо TypicalLEDStrip можно ввести свою коррекцию
+
avatar
0
Спасибо! То что нужно. Сейчас долго игрался с уровнями RGB, то желтый настроишь, белый начинает зеленить, то фиолетовый слишком белый. Запустил скетч из примеров rgb calibrate. Зажег 6 диодов разными цветами и понял что они прекрасно передают все цвета без коррекций(все по 255). Решил увеличить в основном скетче ток с 5000 до 15000 и все заработало как надо, но недолго — блок питания стал уходить в защиту)) Пока поменял на блок от системника. Оказывается просто питания не хватало, как я сразу не додумался. Спасибо Вам за подсказки))
+
avatar
0
Можно поиграться с параметром POWER
В шапке описано
Увидел, что вы так и сделали
+
avatar
0
Всех приветствую, подскажите не компилируется прошивка notamashe4plus выдает такую ошибку:

In file included from C:\Users\punkm\Desktop\notamesh4plus\notamesh4plus.ino:313:0:
C:\Users\punkm\Desktop\notamesh4plus\addings.h: In function 'void addbackground()':
addings.h:46:15: error: no match for 'operator+=' (operand types are 'uint8_t {aka unsigned char}' and 'CRGB')
leds[i].b +=CRGB(5,5,5);
~~~~~~~~~~^~~~~~~~~~~~~
C:\Users\punkm\Desktop\notamesh4plus\addings.h:46:15: note: candidate: operator+=(uint8_t& {aka unsigned char&}, int) <built-in>
C:\Users\punkm\Desktop\notamesh4plus\addings.h:46:15: note: no known conversion for argument 2 from 'CRGB' to 'int'
C:\Users\punkm\Desktop\notamesh4plus\addings.h:46:15: note: candidate: operator+=(uint8_t& {aka unsigned char&}, long unsigned int) <built-in>
C:\Users\punkm\Desktop\notamesh4plus\addings.h:46:15: note: no known conversion for argument 2 from 'CRGB' to 'long unsigned int'
exit status 1
no match for 'operator+=' (operand types are 'uint8_t {aka unsigned char}' and 'CRGB')

Подскажите куда копать?
+
avatar
0
Отвечал, вроде даже исправил в последнем скетче
+
avatar
0
Все перепробовал, помогло откатить FastLed на версию пониже, теперь все работает!!! Спасибо!!!
+
avatar
0
Обновления в скетче notamesh4.2_(Biblio) ссылка на скачивание (не изменилась)
Добавлена Возможность разбить гирлянду на части (проблема отсюда)
+
avatar
0
Здравствуйте, посоветуйте пожалуйста, как лучше расположить гирлянду на елке, по кругу спиралью или сверху вниз змейкой
+
avatar
0
Я обычно накручиваю по спирали, обычно сверху вниз
+
avatar
0
Благодарю Дмитрий
+
avatar
0
  • 513DA
  • 26 декабря 2023, 23:15
всем привет я неделями бьюсь с разными версиями программы и прошивки, у меня не компилируется, на старых версиях Arduino до 1.8 ошибок море, и по разным причинам, вот нашёл 1.8.9 на которой меньше всего, я умоляю скиньте кто ни будь версию для виндовс для adrduino nano, гирлянда ws2812b без пульта, потому что я раньше всё делал по инструкции и всё прекрасно работало прошивалось, а теперь не могу разобраться, или помогите с этой проблемой пожалуйста
+
avatar
0
На вашей картинке не видно ошибки
Судя по тому где вы остановились я уже отвечал 3 раза
+
avatar
0
  • 513DA
  • 27 декабря 2023, 12:22
вот такая ошибка

In file included from I:\С НОВЫМ ГОДОМ ИНТЕРНАТ\libraries\notamesh4Gyver\_main.ino:239:0:

sketch\addings.h: In function 'void addbackground()':

addings.h:52:21: error: no match for 'operator+=' (operand types are 'uint8_t {aka unsigned char}' and 'CRGB')

leds[i].b +=CRGB(5,5,5);

~~~~~~~~~~^~~~~~~~~~~~~

sketch\addings.h:52:21: note: candidate: operator+=(uint8_t& {aka unsigned char&}, int) <built-in>

sketch\addings.h:52:21: note: no known conversion for argument 2 from 'CRGB' to 'int'

sketch\addings.h:52:21: note: candidate: operator+=(uint8_t& {aka unsigned char&}, long unsigned int) <built-in>

sketch\addings.h:52:21: note: no known conversion for argument 2 from 'CRGB' to 'long unsigned int'

exit status 1
no match for 'operator+=' (operand types are 'uint8_t {aka unsigned char}' and 'CRGB')
+
avatar
0
  • 513DA
  • 27 декабря 2023, 12:28
всё получилось я не увидел на что поменять (чёрный фон графа) заработало ураааа с новым годом
+
avatar
+1
Второй год использую версию notamesh4.zip просто в демо-режиме. Из скетча выбросил всё что связано с кнопками и IR пультом (в Новый год мне лень лазить под ёлку или тыкать в пульт), так же и логирование. Скомпилировал и загрузил в ESP-01S с шильдом для RGB и могу сказать по поводу «Зависания» что одна и та же версия скетча с включенным мерцанием, свечами, но с разным количеством диодов. Так вот, прошивка с KOL_LED = 100 ни разу не зависла за два года в течение новогодних выходных, прошивка с KOL_LED = 50 сожгла две гирлянды (зависает примерно через полчаса после включения), прошивка с KOL_LED = 64 зависала пару тройку раз за два года. Блоки питания используются одинаковые 5v 2A, зависания не зависят от конкретного БП, так как менял их местами ради эксперимента, ESP тоже можно исключить т.к. брал 20шт оптом и перепрошивал скомпилированными бинарниками под разное количество диодов.
Использовал такой шильд и такую гирлянду
+
avatar
0
У кого вылетает ошибка
Compilation error: ‘TProgmemRGBGradientPalettePtr’ does not name a type; did you mean ‘TProgmemRGBGradientPaletteRef’?
Надо поменять TProgmemRGBGradientPalettePtr на TProgmemRGBGradientPaletteRef’
+
avatar
0
  • Andriss
  • 21 декабря 2024, 18:01
Скачал, по всей видимости, исправленную, но теперь наоборот, вылетает ошибка:
Compilation error: 'TProgmemRGBGradientPaletteRef' does not name a type; did you mean 'TProgmemRGBGradientPalettePtr'?
При этом в тексте скетча поиском не находится ни одного «TProgmemRGBGradientPalettePtr». Как быть?
+
avatar
0
Обновлен в скетч notamesh4.2_(Biblio) ссылка на скачивание (не изменилась)
Обновлен в скетч notamesh4.2_(Gyver) ссылка на скачивание (не изменилась)
Причина: исправлена ошибка
+
avatar
0
Дмитрий добрый вечер! Подскажите пожалуйста как добавить в обновленный скетч notamesh4.2 вот это управление одной кнопкой.

#define USE_BTN 1 // использовать управление одной кнопкой
// клик: вкл-выкл
// 2х клик: след. режим
// 3х клик: пред. режим
// 4х клик: вкл/выкл блёстки
// удержание — яркость
+
avatar
0
Доброго здоровья. Для начала определим коды состояний кнопки BTN 1
// клик:
#define BTN1_1 1000 // кнопка 1 клик
// 2х клик:
#define BTN1_2 1001 // кнопка 1 два клика
// 3х клик:
#define BTN1_3 1002 // кнопка 1 три клика
// 4х клик:
#define BTN1_4 1003 // кнопка 1 четыре клика
// удержание
#define BTN1_PRESS 1005 // кнопка 1 удержание

Далее сопоставляем коды с действиями, эти строки надо вставить в раздел
Раздел
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
///                               Все команды которые обрабатывает скетч

//формат такой
// #define Command_XXXX   YYYYY
// где Command_XXXX   - код команды, это лучше не менять
//     YYYYY          - код обработчика ( это либо число получаемое кри нажатии кнопки пульта
//                                            либо Значение соответствующее нажатой кнопке аналоговой клавиатуры, это мы определили выше как значения KEY_0, KEY_1, KEY_2 и подобные
//                                            либо Значение соответствующее нажатой кнопке библиотеке GyverButton, это мы определили выше как значения BTN_1, BTN_2, BTN_3, BTN_4 и BTN_PRESS
//                                            либо Значение 0 если команда не используется )
// Если команда не используется то тогда надо YYYYY заменить на 0 или закомментировать строку

// значения кнопок пульта получаются следующим способом:
// загружаем пример из библиотеки IRremote с названием IRrecvDemo и смотрим в мониторе коды клавиш
// число должно иметь  вид 0x00ff4ab5  (шестнадцатеричное число)

// Пример:        #define Command_Brightness_plus   0xff4ab5                Установить обработку команды "Увеличить максимальную яркость"  на кнопку с кодом 0xff4ab5 с пульта
//                #define Command_Brightness_plus   KEY_0                   Установить обработку команды "Увеличить максимальную яркость"  на 0 кнопку подключенную к аналоговому входу
//                #define Command_Brightness_plus   BTN_1                   Установить обработку команды "Увеличить максимальную яркость"  на нажатие кнопки подключенной к библиотеке GyverButton
//                #define Command_Brightness_minus  BTN_2                   Установить обработку команды "Уменьшить максимальную яркость"  на двойное нажатие кнопки подключенной к библиотеке GyverButton
#define Command_Start_Stop                   BTN1_1                     // Старт/стоп
#define Command_Previous_my_mode             BTN1_3                    // Предыдущий эффект с учетом выбранных режимов. Отключает демонстрационный режим
#define Command_Next_my_mode                 BTN1_2                      // Следующий эффект с учетом выбраных режимов. Отключает демонстрационный режим
#define Command_Glitter                      BTN1_4                // Включить/выключить сверкание
#define Command_Brightness_plus_R            BTN1_PRESS 1005               // Увеличить максимальную яркость, при достижения максимума начать с минимума
остальное в этом разделе надо удалить или закомментировать
+
avatar
0
Благодарю, буду пробовать.
+
avatar
+1
Какой жаркий обзор, 6 лет актуален:)
+
avatar
+7
Дак я до сих пор здесь отвечаю на каждую проблему
+
avatar
0
Дело жизни нашли=)
+
avatar
0
  • DmiwX
  • 04 декабря 2024, 07:43
С смартфона Arduino Droid пишет 0x0007F9

/FastLED/colorpalettes.cpp:140:5: error: expected '}' at end of input

/FastLED/colorpalettes.cpp:140:5: error:

expected ',' or ';' at end of input

Return code is not 0
Менял скетчи, библиотеки, ставил как на компе, бесполезно. На компе всë работает, а мне нужно с телефона залить скетч, компиляция не проходит! Помогите пожалуйста что не так
+
avatar
0
  • VSU1
  • 08 декабря 2024, 20:22
dmitrybik, подскажите: как погасить светодиод «L» на плате arduino? (arduino uno)
+
avatar
+1
В яндексе пишут что светодиод L подключен к 13 пину и для выключения надо подать лог 1
есть 3 варианта
1. выкусить
2. в настройках прописать
#define LED_ON        1           // Количество светодиодов (0- светодиоды не используются, максимум 2 светодиода 


//********************************************************************************
//                          Настройка Светодиодов
#define LED1_PIN      13          // Номер пина, куда подключен 1 светодиод
светодиод будет осмысленно включатся

3. вариант в файле _main.ino найти функцию setup() и в ней добавить строки
/*------------------------------------------------------------------------------------------
--------------------------------------- Start of code --------------------------------------
------------------------------------------------------------------------------------------*/
void setup() {
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
+
avatar
0
  • VSU1
  • 09 декабря 2024, 15:46
Никак не могу понять: проект notamesh4Gyver, при компиляции проекта по варианту 2:

+
avatar
+1
Это место окружите Фигурными скобками как тут
if (  Led1_flesh & 4)    {LED1_On;}
else                     {LED1_Off;}
+
avatar
0
Добрый день. Не могу скомпилировать проэкт notamesh4.ino, хотя до перестановки ОС все работало. выскакивает куча ошибок типа
In file included from C:\Users\User\Desktop\n4\notamesh4\notamesh4.ino:321:0:
rainbow_beat.h:14:2: error: #endif without #if
#endif
Во многих библиотеках. Как устранить?
+
avatar
+2
поискать в этом чате (кнопка Ctrl+F)
вот ответы первый второй
+
avatar
0
вопрос к автору — как можно в версии Nostamesh4 сделать так, чтобы убрать конкретные цвета: красный, оранж и т.д. Жене нравятся холодные цвета. Используя пульт можно включить определённый цвет всей гирлянды — жёлтый, синий, зелёный. Но это несколько не то — утрачивается смысл гирлянды))).
+
avatar
+1
Интересно…
Есть эффекты где цвета зашиты в алгоритм, поэтому вам придется создать список того что оставить и прописать их
Код
#define DEMO_MODE     1           // Режим при включении 
                                  // 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 отключаются
На остальных эффектах используется палитра, это файл gradient_palettes.h
в конце есть структура со списком палитр
Код
const TProgmemRGBGradientPaletteRef gGradientPalettes[] = {
  my_GreenYellow_gp,                    //Желто зеленая
  Sunset_Real_gp,                       //Закат Красно желтый фиолетово синий
//  es_rivendell_15_gp,                   //светло зеленый грязножелтый
  es_ocean_breeze_036_gp,               //Океанский бриз темносиний синий голубой синий
  rgi_15_gp,                            //Фиолетовый красный фиолетовый красный филдетовый
  retro2_16_gp,                         //золотой 
  Analogous_1_gp,                       //Синекрасный
  es_pinksplash_08_gp,                  //карамелька  фиолетово красный белый красный
  Coral_reef_gp,                        //океан аквамарин голубой
  my_BlueYellow_gp,                     //синежелтый
//  es_ocean_breeze_068_gp,               //океан
  es_pinksplash_07_gp,                  //красный фиолетовый красный фиолетовый красный
//  es_vintage_01_gp,                     // темнокоричневый желтый темнокоричневый
//  departure_gp,                         // темнокоричневый белый светлозеленый
//  es_landscape_64_gp,                   // темнозеленый геленый белый желто синий
//  es_landscape_33_gp,                   // темнокоричневый желтый голуюой синий темносиний
  rainbowsherbet_gp,                    // оранжевый розовый красный фиолетовый желтый зеленый
  my_FuchsiaYellow_gp,                  // фиолетово желтый
  gr65_hult_gp,                         // светлорозовый розовый фиолетовый бирюзовый голубой
  gr64_hult_gp,                         // бирюзовый желтый бирюзовый
  GMT_drywet_gp,                        // желто голубой синий
  ib_jul01_gp,                          // красный синий билюзовый желтый красный
//  es_vintage_57_gp,                     // темнокоричневый желтый
//  ib15_gp,                              // светлофиолетовый розовый фиолетовый
  Fuschia_7_gp,                         // фиолетовый розовый фиолетовый
  es_emerald_dragon_08_gp,              // светло зеленый зеленый
//  lava_gp,                              // темнокоричневый красный оранжевый желтый белый
//  fire_gp,                              // темнокоричневый красный оранжевый желтый белый
  Colorfull_gp,                         // зеленый светлозеленый фиолетовый желтый голубой
  Magenta_Evening_gp,                   // фиолетовый розовый фиолетовый
//  Pink_Purple_gp,                       // фиолетовый голубой желтый розовый
  es_autumn_19_gp,                      // переливающийся красный красный белый желтый белый желтый белый красный красный
//  BlacK_Blue_Magenta_White_gp,
//  BlacK_Magenta_Red_gp,
//  BlacK_Red_Magenta_Yellow_gp,
  Blue_Cyan_Yellow_gp,                  // синий голубой зеленый желтый
  bhw1_28_gp,                           // фиолетовый голубой фиолетовый розовый фиолетовый
  my_Rainbow_gp,                        // радуга
  my_Flag_gp                            // флаг красный синий белый
  };

В ней непонравившиеся можно закомментировать, поставив в начале // или наоборот разкомментировать…
Если и этого мало то есть на просторах интернета редактор градиентов, например если интересно расскажу как добавить
+
avatar
+2
+
avatar
+1
ну Вы мегаSupport своего проэкта… Спасибо большое!!!
+
avatar
0
Ещё есть вопросы по пульту. Свой пульт смог настроить, но не понимаю зачем существует вот эти блоки в файле. Это три блока. Как работают первых два? И для чего нужен третий? Я так понимаю, что третий нужен для выбора эффектов от 1 до 40. Но в Вашем примере им не назначены кнопки пульта.
//Вариант выбора используя кнопки 0-9 и +10  кнопками 0-9 меняются только единицы числа, а кнопкой +10 увеличиваются десятки числа
#define IR_Key_SetMode_X0                   0                                   // Набор номера выбор эффекта единицы кнопка 0
#define IR_Key_SetMode_X1                   0                                   // Набор номера выбор эффекта единицы кнопка 1
#define IR_Key_SetMode_X2                   0                                   // Набор номера выбор эффекта единицы кнопка 2
#define IR_Key_SetMode_X3                   0                                   // Набор номера выбор эффекта единицы кнопка 3
#define IR_Key_SetMode_X4                   0                                   // Набор номера выбор эффекта единицы кнопка 4
#define IR_Key_SetMode_X5                   0                                   // Набор номера выбор эффекта единицы кнопка 5
#define IR_Key_SetMode_X6                   0                                   // Набор номера выбор эффекта единицы кнопка 6
#define IR_Key_SetMode_X7                   0                                   // Набор номера выбор эффекта единицы кнопка 7
#define IR_Key_SetMode_X8                   0                                   // Набор номера выбор эффекта единицы кнопка 8
#define IR_Key_SetMode_X9                   0                                   // Набор номера выбор эффекта единицы кнопка 9
#define IR_Key_SetMode_1X                   0                                   // Набор номера выбор эффекта десядки кнопка +10

//Вариант выбора используя кнопки 0-9  кнопками 0-9 число сдвигается на разряд и добавляется единица, соответствующая номеру кнопки
#define IR_Key_SetMode_0                    0X20D3D827   //0                       // Набор номера выбор эффекта сдвиг + кнопка 0
#define IR_Key_SetMode_1                    0X20D3827D   //1                       // Набор номера выбор эффекта сдвиг + кнопка 1
#define IR_Key_SetMode_2                    0X20D3C03F   //2                       // Набор номера выбор эффекта сдвиг + кнопка 2
#define IR_Key_SetMode_3                    0X20D342BD   //3                       // Набор номера выбор эффекта сдвиг + кнопка 3
#define IR_Key_SetMode_4                    0X20D3A25D   //4                       // Набор номера выбор эффекта сдвиг + кнопка 4
#define IR_Key_SetMode_5                    0X20D3E01F   //5                       // Набор номера выбор эффекта сдвиг + кнопка 5
#define IR_Key_SetMode_6                    0X20D3629D   //6                       // Набор номера выбор эффекта сдвиг + кнопка 6
#define IR_Key_SetMode_7                    0X20D3AA55   //7                       // Набор номера выбор эффекта сдвиг + кнопка 7
#define IR_Key_SetMode_8                    0X20D3E817  //8                       // Набор номера выбор эффекта сдвиг + кнопка 8
#define IR_Key_SetMode_9                    0X20D36A95   //9                       // Набор номера выбор эффекта сдвиг + кнопка 9

#define IR_Key_Mode_0                       0                                   //  Эффект 0
#define IR_Key_Mode_1                       0                                   //  Эффект 1
#define IR_Key_Mode_2                       0                                   //  Эффект 2
#define IR_Key_Mode_3                       0                                   //  Эффект 3
#define IR_Key_Mode_4                       0                                   //  Эффект 4
#define IR_Key_Mode_5                       0                                   //  Эффект 5
#define IR_Key_Mode_6                       0                                   //  Эффект 6
#define IR_Key_Mode_7                       0                                   //  Эффект 7
#define IR_Key_Mode_8                       0                                   //  Эффект 8
#define IR_Key_Mode_9                       0                                   //  Эффект 9
#define IR_Key_Mode_10                      0                                    //  Эффект 10
#define IR_Key_Mode_11                      0                                    //  Эффект 11
#define IR_Key_Mode_12                      0                                    //  Эффект 12
#define IR_Key_Mode_13                      0                                    //  Эффект 13
#define IR_Key_Mode_14                      0                                    //  Эффект 14
#define IR_Key_Mode_15                      0                                    //  Эффект 15
#define IR_Key_Mode_16                      0                                    //  Эффект 16
#define IR_Key_Mode_17                      0                                    //  Эффект 17
#define IR_Key_Mode_18                      0                                    //  Эффект 18
#define IR_Key_Mode_19                      0                                    //  Эффект 19
#define IR_Key_Mode_20                      0                                    //  Эффект 20
#define IR_Key_Mode_21                      0                                    //  Эффект 21
#define IR_Key_Mode_22                      0                                    //  Эффект 22
#define IR_Key_Mode_23                      0                                    //  Эффект 23
#define IR_Key_Mode_24                      0                                    //  Эффект 24
#define IR_Key_Mode_25                      0                                    //  Эффект 25
#define IR_Key_Mode_26                      0                                    //  Эффект 26
#define IR_Key_Mode_27                      0                                    //  Эффект 27
#define IR_Key_Mode_28                      0                                    //  Эффект 28
#define IR_Key_Mode_29                      0                                    //  Эффект 29
#define IR_Key_Mode_30                      0                                    //  Эффект 30
#define IR_Key_Mode_31                      0                                    //  Эффект 31
#define IR_Key_Mode_32                      0                                    //  Эффект 32
#define IR_Key_Mode_33                      0                                    //  Эффект 33
#define IR_Key_Mode_34                      0                                    //  Эффект 34
#define IR_Key_Mode_35                      0                                    //  Эффект 35
#define IR_Key_Mode_36                      0                                    //  Эффект 36
#define IR_Key_Mode_37                      0                                    //  Эффект 37
#define IR_Key_Mode_38                      0                                    //  Эффект 38
#define IR_Key_Mode_39                      KEY_0                                //  Эффект 39
#define IR_Key_Mode_40                      0                                    //  Эффект 40
#define IR_Key_Mode_41                      0                                    //  Эффект 40
+
avatar
+1
Есть разные пульты по выбору программы, я встречал 2 вида
1 вариант (11 кнопок такие как 0, 1, 2, 3,…, 8, 9, +10) например такой
2 вариант (10 кнопок такие как 0, 1, 2, 3,…, 8, 9 ) например такой
Логика работы у этих пультов разная. например, для пульта из 11 кнопок выбор программы 23 делается так
+10, +10, 3
для пульта из 10 кнопок такой же выбор программы 23 делается так
2, 3
Если подключить лог там все видно
+
avatar
0
Спасибо. То есть в этом участке кода и не должны прописываться клавиши пульта?
Дополнительная информация
#define IR_Key_Mode_0                       0                                   //  Эффект 0
#define IR_Key_Mode_1                       0                                   //  Эффект 1
#define IR_Key_Mode_2                       0                                   //  Эффект 2
#define IR_Key_Mode_3                       0                                   //  Эффект 3
#define IR_Key_Mode_4                       0                                   //  Эффект 4
#define IR_Key_Mode_5                       0                                   //  Эффект 5
#define IR_Key_Mode_6                       0                                   //  Эффект 6
#define IR_Key_Mode_7                       0                                   //  Эффект 7
#define IR_Key_Mode_8                       0                                   //  Эффект 8
#define IR_Key_Mode_9                       0                                   //  Эффект 9
#define IR_Key_Mode_10                      0                                    //  Эффект 10
#define IR_Key_Mode_11                      0                                    //  Эффект 11
#define IR_Key_Mode_12                      0                                    //  Эффект 12

И ещё не понятна подсказка из файла Если кнопка не используется, то тогда надо либо поставить код 0, либо закоментировать строку
// Например #define IR_Key_XXXX 0xff4ab5
// или так #define IR_Key_XXXX KEY_0

Так у Вас прописано в строке эффекта 39
+
avatar
+1
IR_Key_Mode_ — Это команда вызвать конкретный эффект, если надо, то можно добавить, особенно если у пульта много клавиш.
В логике обработки есть проверка на 0 и проверка на отсутствие этой строки, в обоих случаях команда обрабатываться не будет.

При этом чем меньше команд задействовано, тем меньше код прошивки
+
avatar
0
Хотел поэкспериментировать с Вашими подсказками. Но при компиляции выдаёт ошибки. В прошлом году всё работало. Железо (программатор, платы ардуино, скетчи) всё тоже самое. Библиотеки поставил старые и FastLed и IRemote. Версия программы 2.3.4. Плата Pro Mini

Ошибка компиляции
In file included from G:\Dropbox\Public\Ардуїно\Скетчі\notamesh4plus\notamesh4plus.ino:325:0:
G:\Dropbox\Public\Ардуїно\Скетчі\notamesh4plus\rainbow_beat.h:14:2: error: #endif without #if
In file included from G:\Dropbox\Public\Ардуїно\Скетчі\notamesh4plus\notamesh4plus.ino:329:0:
G:\Dropbox\Public\Ардуїно\Скетчі\notamesh4plus\blendwave.h:33:2: error: #endif without #if
In file included from G:\Dropbox\Public\Ардуїно\Скетчі\notamesh4plus\notamesh4plus.ino:330:0:
G:\Dropbox\Public\Ардуїно\Скетчі\notamesh4plus\fire.h:58:2: error: #endif without #if
In file included from G:\Dropbox\Public\Ардуїно\Скетчі\notamesh4plus\notamesh4plus.ino:331:0:
G:\Dropbox\Public\Ардуїно\Скетчі\notamesh4plus\candles.h:27:2: error: #endif without #if
In file included from G:\Dropbox\Public\Ардуїно\Скетчі\notamesh4plus\notamesh4plus.ino:332:0:
G:\Dropbox\Public\Ардуїно\Скетчі\notamesh4plus\colorwave.h:78:2: error: #endif without #if
+
avatar
+1
Обновили IDE, кидал ссылки тут
+
avatar
+1
Обновлен в скетч notamesh4.2_(Biblio) ссылка на скачивание (не изменилась)
Обновлен в скетч notamesh4.2_(Gyver) ссылка на скачивание (не изменилась)
Причина: исправлена ошибка
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.