светодиодное пано\ светодиодная матрица
- Войдите на сайт для отправки комментариев
Пнд, 12/12/2016 - 12:52
Приветствую уважаемые знатоки! загнался идеей создать квадратную матрицу из RGB светодиодов, накрыть матовым стеклом её и повесить на стену, типа интерактивная картина своеобразная, погуглил реализацию но нашел только темы с отдельным управлением одним диодом. Итак вопрос! возможно ли реализовать на ардуинке управление матрицей из 100 светодиодов? и самое главное что бы каждый диод мог отдельно управляться и я мог создавать любые световые эффекты
если это возможно я был бы рад любым советам по реализации
погуглил реализацию но нашел только темы с отдельным управлением одним диодом.
Странно Вы как-то гуглили. Материалов про RGB матрицы завались. В том числе и на данном форуме. Например, и ещё с десяток если поискать..
Итак вопрос! возможно ли реализовать на ардуинке управление матрицей из 100 светодиодов? и самое главное что бы каждый диод мог отдельно управляться и я мог создавать любые световые эффекты
Можно. В том примере, на который я дал ссылку - 64 светодиода. Точно также можно сделать и из ста.
большое спасибо за помощь, вероятно я криво искал и запросы "подключение rgb светодиодов к arduino" не совсем верны для моей идеи
Да, не за что. Смотрите.
Там я правда делал исключительно демонстрацию работы матрицы, поэтому код сделан в лоб без каких-либо оптимизиаций. Но каждый диодик управляется независимо, как Вы хотели, и есть функции сложения цветов (когда одна волна на другую набегает). Для старта Вам подойдёт, а там разберётесь и оптимизируете.
В данном форуме есть несколько тем про светодиоды WS2811 или WS2812 (или ленты с ними) - их можно до 500 спокойно подключить (и управлять ими по одному пину).
большое спасибо! Ваш комментарий идеально подходит для моей задумки, на мой взгляд лента гораздо проще матрицы, а главное, как мне кажется, дешевле
лента гораздо проще матрицы
Если умеете её готовить, то да.
как мне кажется, дешевле
А вот это ХЗ.
И ещё, если ленту паять самому, то конечно "паяем как хотим", а если покупать готовую, то обращайте внимание на количество светодиодов на метр, а то бывает, что они довольно редко стоят. Также обращайте внимание на отзывы и ищите хорошего поставщика, т.к. часто халтурщики плохо делают теплоотвод. И последнее, сам не нарывался, но тут на форуме много писали - чтобы она служила долго и безпроблемно, сразу делайте двойной запас по току, т.е. подавайте на неё ток вдвое меньше, чем заявлено, т.к. светодиоды они туда пихают нонэймовые и от положенного тока они часто выходят из строя (как в китайских светодиодных лампах - китайцы делают их на меньший ток и тогда служат нормально).
спасибо за совет)
Здравствуйте. Подскажите как оптимизировать код:
Мне не нравится идея выполнять условия каждые N циклов, но зато не использую delay
Здравствуйте. Подскажите как оптимизировать код:
Мне не нравится идея выполнять условия каждые N циклов, но зато не использую delay
Можно избавится от переменной q.
На работоспособность не проверялось.
Добрый день,
Мне не нравится идея выполнять условия каждые N циклов,
Вот этого текста я не понял. Где у Вас там что делается каждые N циклов, Вы бы поподробнее рассказали.
Зато, глянул на код ... давайте вместе посмотрим ... Переменная a у Вас описана как int. Стало быть она не бывает больше, чем 32767, а Вы в строках 80-82 чего от неё ожидаете?
но зато не использую delay
Само по себе это не говорит ни о чём. Использование или не использование того или иного инструмента обуславливается потребностями программы. Вот Вы не используете делэй, но при этом крутитесь в собственном цикле, т.е. процессорное время для других дел Вы всё равно не освободили. Так зачем было городить огород?
Добрый день
Вот этого текста я не понял. Где у Вас там что делается каждые N циклов, Вы бы поподробнее рассказали.
Зато, глянул на код ... давайте вместе посмотрим ... Переменная a у Вас описана как int. Стало быть она не бывает больше, чем 32767, а Вы в строках 80-82 чего от неё ожидаете?
Вот Вы не используете делэй, но при этом крутитесь в собственном цикле, т.е. процессорное время для других дел Вы всё равно не освободили. Так зачем было городить огород?
Цикл - это я имела ввиду a=a+1;....60000....
Ещё хотела спросить почему switch (в моем коде) после 40 000 притормаживает иногда. Про int не знала. Спасибо.
А я думала что таким образом освобождаю процессор.
Какое решение Вы посоветуете?
Этот код управляет светодиодной марицей 8*8 через два HC595
Так потому и притормаживает. 32 тысячи он съел, а потом ему надо пройти отрицательные значения.
Решения советовать незваозможно, не зная задачи целиком. Если Вашей программе нечего делать между переключениями режимов (т.е. она не оправшивает никаких датчиков, кнопок и т.п.), то ставьте delay и не парьтесь.
Если же есть есть чем заняться, то делайте переключения через миллис или прерывания таймера, как Вам проще и легче.
Спасибо. Оставлю одну ардуинку чисто для рисования на матрице, а к ней организую доступ.
вместо вот этого
if
(str>7){str=0;}
добрые луди пишуть
str &= 0x7;
вместо вот этого
if
(str>7){str=0;}
добрые луди пишуть
str &= 0x7;
Не разбирался в коде ТС, но эти два выражения в общем случае не одно и тоже
вместо вот этого
if
(str>7){str=0;}
добрые луди пишуть
str &= 0x7;
Работает, спасибо.