Ви не увійшли.
Добрый день нужна помощь в реализации:
Гирлянда на основе 33 светодиода с использованием ШИМ на каждом светодиоде.
Знаю что на мега имеет 15 портов ШИМ, но вроде возможно увеличить к-тво выходов на основе библиотеки "Arduino/Wiring SoftPWM Library".
Владею минимальным уровнем программирования, потому прошу готовый скетч, с разъяснением основных строк.
Внизу написал программы которые требуются в базовом наборе мигания.
Бюджет на скетч 500 грн.
Кому интересно пишите email: Stuzhuk1988@ukr.net
Аппаратная часть:
Arduino mega 2560 – 1 шт.
Светодиоды (гирлянда) – 33 шт.
Переключатель режимов(ползунок) – 1 шт.
Звуковой модуль - 1 шт.
Переключатель типа мигания(микрик) – 1 шт.
Потенциометр – 1 шт
Предварительно присвоил пины подключения.
ТЗ:
Режим №1
1.1. Все светодиоды светятся и можно регулировать их яркость потенциометром через потенциометр А1
1.2. Все светодиоды равномерно зажигаются и тухнут.
Временные пропорции 1/3 зажигание; 1/3 все горят; 1/3 гаснут
Потенциометр А1 отвечает за время полного цикла от 0.5 до 3 сек
Режим №2
2.1 Через звуковой модуль светодиоды работают как индикатор уровня шума (VU meter) с центра в бока (симметрично).
Тобто led#17 является центровым, а остальные симметрично загораются от уровня шума.
Через потенциометр А1 управление чувствительностью модуля.
2.2. Через звуковой модуль светодиоды работают как индикатор уровня шума (VU meter) все одинаково.
Чем больше звук (шум) тем ярче все светодиоды загораются.
Через потенциометр А1 управление минимальной яркостью свечения светодиодами, та же чувствительность модуля.
Режим №3
Потенциометр А1 отвечает за скорость каждого типа мигания (регулировка времени исполнения цикла).
3.1. Бегущий огонек с лево на право с 1 по 33 светодиод.
Время полного цикла от 2 сек до 20 сек (возможное изменение переменных)
Первый светодиод зажигается постепенно (время цикла)/33*2) (пропорционально времени цикла) когда зажегся полностю следующий сетодиод начинает зажигаться – предыдущий за это время тухнет. Так до 33 светодиода. И потом заново. (Волна с лева на право, ШИМ)
3.2. Бегущий огонек с право на лево с 1 по 33 светодиод.
Аналогично к выше написанному в обратном порядке. (Волна с право на лево, ШИМ)
3.3. Бегущий огонек с центра в бока.
Время полного цикла от 2 сек до 10 сек (возможное изменение переменных)
Центральный (led#17)светодиод зажигается постепенно когда зажегся полностью - зажигаются два соседних светодиода led#16 led#18, когда они полностью зажгутся центральный начинает гаснуть и так следующие. (Волна с центра в стороны, ШИМ)
3.4. Бегущий огонек с двух боков в центр
Аналогично к выше написанному в обратном порядке. (Волна со сторон в центр, ШИМ)
3.5. - 3.8 Все аналогично с 3.1 по 3.4 только без использования плавного загорания и затухания (ШИМ)
3.9. - 3.12. Все аналогично с 3.1 по 3.4 только отсутствует затухание, в результате чего конец цикла - свечение всех светодиодов.
Остання редакція Metr_cv (2017-11-27 23:56:13)
Неактивний
За репетиртство и практику 500 гр.
ПС: что бы не повторять одно и тоже почитайте эту мою тему.http://arduino.ru/forum/programmirovanie/klassy-arduino-po-qwone-dlya-chainikov
Остання редакція qwone (2017-11-27 21:16:45)
Неактивний
~50 cent )
var t=function(a,b){return function(c,d){return a.replace(/#{([^}]*)}/g,function(a,f){return Function("x","with(x)return "+f).call(c,d||b||{})})}},s=function(a,b){return b?{get:function(c){return a[c]&&b.parse(a[c])},set:function(c,d){a[c]=b.stringify(d)}}:{}}(this.localStorage||{},JSON),p=function(a,b,c,d){c=c||document;d=c[b="on"+b];a=c[b]=function(e){d=d&&d(e=e||c.event);return(a=a&&b(e))?b:d};c=this},m=function(a,b,c){b=document;c=b.createElement("p");c.innerHTML=a;for(a=b.createDocumentFragment();b=
c.firstChild;)a.appendChild(b);return a},$=function(a,b){a=a.match(/^(\W)?(.*)/);return(b||document)["getElement"+(a[1]?a[1]=="#"?"ById":"sByClassName":"sByTagName")](a[2])},j=function(a){for(a=0;a<4;a++)try{return a?new ActiveXObject([,"Msxml2","Msxml3","Microsoft"][a]+".XMLHTTP"):new XMLHttpRequest}catch(b){}};
Неактивний
Metr_cv
посмотри такой вариант -
http://forum.arduino.ua/viewtopic.php?pid=2738#p2738
Остання редакція NoName (2017-11-27 22:59:04)
Неактивний
.Однако, многие вещи невозможно сделать проще чем они есть, это касается и программирования.
Можно и программирование сделать проще. Собственно, я это и предлагал..
Неактивний
) єто да, оценить можно только по результату и времени решения вопроса.
я вот собрался сделать одну штуку. взял железо и не смог спаять. то одна проблема. то работа. то .. еще что то .. в конце концов вот увольняюсь что б сделать проект. работы реально часов на 30 - потолок ( писанины на 3-5 часов , остальное сборка ). а затянул на год. вот сколько стоит такая работа? ) самому стыдно до ужаса.
Неактивний
Вы конечно извините за следующее, но... Можно ли конкретно?!
1. Да, возьмусь
2. Нет, малый бюджет
мне не надо вникать с нуля, хотя бы костяк который написал в описании, потом сам буду разбираться, или буду доплачивать за допил скетча.
Остання редакція Metr_cv (2017-11-27 23:38:50)
Неактивний
я пас - конструктор для лампочек свой я скинул, там реализованы практически все ваши хотелки. ШИМ, волны и т.д. кроме уровня шума. это сами. контруктор еффектов избыточен - но за день мне проще не написать.
Неактивний
Все что указано в заголовке из железа у меня есть, нужен только код.
если возможно применить TLC5940, прошу объяснить что это даст? вернее если без него никак то добавлю но все упирается в код ибо нету времени изучать программирование.
Остання редакція Metr_cv (2017-11-28 01:01:36)
Неактивний
Batu, а вы покажите, что значит ваше проще не одному мне а, допустим, всему научному миру, опубликовав официальную статью в официальном издании. Тогда ваше авторское право, на это упрощение программирования, будет неопровержимо. Может быть, даже премию Тюринга дадут.
Это заблуждение что вот опубликовал и сразу будет понятно. Из 10 с кем я общался один въезжает. Из тех, кто въезжает понимает в чем прелесть после месяца общения. Это по опыту. Сейчас может три-четыре раза надо пообщаться что б вкусить фишку. Я примеров сделал для въезжания. Ты ж тоже бегло взглянул и сказал что все понятно. А надо было еще пару циклов общения.. И я б еще файлик прислал. Хотя я тебя считаю очень не глупым. Судя по постам здесь. Потому статья мне не интересно. Надо сделать. Так будет проще.
Неактивний
Вопрос автору поста: а не подойдет вам воплотить эту задумку в жизнь на светодиодах WS2812B упрравляемых ввсего лишь по одной шине данных, rкоторые кстати еще и RGB
Рекомендую не решать вопрос в ЛОБ. Возьмите микросхемы сдвигового регистра 74HC595 и вам понадобиться только три пина у микроконтроллера чтобы этим всем управлять. Разобраться с тем как работать с такими регистрами очень просто. В интернете есть куча примеров. Для 30 выходов вам понадобиться 4 регистра соединенных вместе (потенциально можно получить и 32 выходы если это интересно). Это по железу. По софту тоже все просто. Нужен всего одномерный массив на 30 (или 32) элемента, которые вы будете модифицировать по своему алгоритму в каждом цикле "показа".
Это просто. Если сами не справитесь - наверняка кто то поможет. Таким образом делают даже светодиодные кубики и управляют 512 светодиодами в аналогичном режиме.
Вы конечно извините за следующее, но... Можно ли конкретно?!
1. Да, возьмусь
2. Нет, малый бюджетмне не надо вникать с нуля, хотя бы костяк который написал в описании, потом сам буду разбираться, или буду доплачивать за допил скетча.
Если актуально то можно сделать, цена 800 грн.
Неактивний