Официальный сайт компании Arduino по адресу arduino.cc
Управление двумя RGB
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Никак не могу решить, в какую сторону идти для управления двумя RGB-лентами с разных пинов.
Для одной ленты все просто и понятно - прописать три пина цветов и вперед, навстречу радуге.
А если указать пины другой ленты, то наступает коллапсец.
Изначально идея была как работа двух RGB-лент в одинаковом режиме плавного изменения цветов.
Затем при включении определенных пинов режимы работы меняются, в зависимости от пина у каждой ленты свой режим.
Вообще хотел прописать каждый режим функциями и для кажого пина подставлять свой набор функций.
Но с самого начала не пошло. Нашел библиотеку под плавное изменение цвета, решил прописать туда несколько пинов, потом решил вписать массив, потом.... стал искать револьвер )
Догадываюсь, что задача достаточно проста, но вот уже несколько часов топчусь на одном месте.
Жуть. перечитал себя.
К ардуино подключаются две RGBленты к выводам с ШИМ-управлением.
Режимы работы как синхронные (самое простое), но и различные, в зависимости от сигналов на других пинах.
Думал, что найду подобное в сети - ан нет, либо плохо искал либо случай клинический.
Чего. Это достаточно простая задача. Но все скетчи написаны в дебильном (зачеркнуто) "традиционом" для ардуино стиле. Вот херню вы и видили.
vitmish, Ккой библиотекой Вы пользуетесь, не знаю. Но общий подход таков: для каждой ленты описываете свою переменную (объект, экземпляр класса) и указываете ей, с какими пинами работать.
Библиотеку нашел на просторах. Подкупила достаточной компактностью и результатом. Немножко отредактировал (в меру своих возможностей) по свои нужды, но...
Сама библиотека ниже.
Просто когда начинаю прописывать вторую ленту - клинит. Как завести в скетч пины второй ленты, когда прописана первая... Пороюсь в заданном Вами направлении
И где же Вы пытаетесь прописать вторую ленту?
И где же Вы пытаетесь прописать вторую ленту?
ПС: Что бы управлять надо сначало сказать с помощью чего Вы собираетесь управлять. А так это всего лишь заготовка,шаблон.
78,79 строки, если не ошибаюсь.
Только данный вариант у меня отнимает возможность раздельного управления лентами, если я правильно понимаю весь скетч.
Уффф, ладно.
78,79 строки, если не ошибаюсь.
Только данный вариант у меня отнимает возможность раздельного управления лентами, если я правильно понимаю весь скетч.
Уффф, ладно.
Единственный опубликованный Вами скетч (пост №4) имеет только 61 строку.
И то, что там приведено, никаких возможностей не отнимает.
сама лента работает по очень компактному скетчу, который без библиотеки ни о чем не скажет
И что вас устраивает, что цвета меняюся случайным образом?
для данного режима - вполне. В этом случае главное, чтобы цвета менялись по всей палитре и плавно
Плавно это тоже самое, что и резко, только медленно. Рандом приращение на каждый цвет с шагом - 25..+25 в течении 0,05-0,1 сек . Разумеется немного подобрать константы и все.
да с константами я уже игрался, в результате выбрал такие.
Но жутко не хочется параллелить ленты, ибо кроме собственной проблемы в программировании, других проблем реализации нет.
Ну еще можно применить метод отскока. Цвет меняется от 0 до 255 и 255 до 0 . Как бы отскакивает от "стенок". При отскоке меняется шаг измения 5,10,15,20,25. Рандомно. Шаг длится 0,5 секунды. Так что переход от крайностей может длится 25-5 секунды. Тогда классов будет не 2 , а !!! шесть. На каждый цвет каждой гирлянды свой класс. Код короче и проще.
Плавно это тоже самое, что и резко, только медленно.
))) В цитатник!
Ну еще можно применить метод отскока. Цвет меняется от 0 до 255 и 255 до 0 . Как бы отскакивает от "стенок". При отскоке меняется шаг измения 5,10,15,20,25. Рандомно. Шаг длится 0,5 секунды.
А визуально чего получится, чтото я не скомпилирую. Наверно пробовать надо. А не случится что вкакой момент все тухнет? Наверно случится, это плохо.
Отлично. У меня тоже от шампанского газики в нос шибают. Уходя, стараюсь выключить свет. И не читайте советских газет на ночь.
К чему это я? Ах да... проблема у меня в другом - развести в программе две RGBленты для библиотеки, написанной для одной ленты.
Пытался вместо пинов воткнуть переменные - ругается. Пытался библиотеку переписать - ругается. Пытался функциями решить - так мне ж сначала сетап нужно прописать, а это - см выше.
Вообще я хотел всю прогу написать через вызов функций. есть сигнал на пине - вызываем функции А, В и С.
Для другого пина - такой набор функций. Нет сигналов - работаем с этим составом функций. Ну и критичные команды отслеживать в loop
А визуально чего получится, чтото я не скомпилирую. Наверно пробовать надо. А не случится что вкакой момент все тухнет? Наверно случится, это плохо.
Резкое изменение цветов (см выше)
Нет, не гаснет - плавное изменение цветов. Один цвет идет на максимум, второй где-то около, третий к минимуму. Так и живут.
без библиотеки rgb.h вряд ли скомпилится.
сама лента работает по очень компактному скетчу, который без библиотеки ни о чем не скажет
Не знаю, как это понимает компилятор, но лично я не понимаю, в 4-й строке "rgb" - это имя класса или имя переменной?
Если Вы хотите работать с двумя лентами, то и опишите две ленты:
И дальше работайте с кажлой так, как считаете нужным:
А визуально чего получится, чтото я не скомпилирую. Наверно пробовать надо. А не случится что вкакой момент все тухнет? Наверно случится, это плохо.
Резкое изменение цветов (см выше)
Нет, не гаснет - плавное изменение цветов. Один цвет идет на максимум, второй где-то около, третий к минимуму. Так и живут.
Но меняются все три цвета одновременно и независимо, с разными шагами. Потому должны быть моменты когда все три на минимуме. Так ведь?
без библиотеки rgb.h вряд ли скомпилится.
Выше была изложена библиотека (основная часть)
Выложил бы всю, да вижу только возможность указания кода
Это так на посмотреть константы подобрать.
Но меняются все три цвета одновременно и независимо, с разными шагами. Потому должны быть моменты когда все три на минимуме. Так ведь?
Библиотека не моя, я только использую в проекте (R)
Я в ней поковырялся чуть-чуть, в одно мгновенье показалось, что я все понял. Потом понял, что без изучения библиотеки ардуино.х не снизойдет свыше.
Могу сказать одно - лента рядом светит, час светит, два.... может, когда отвернусь, она и гаснет )