Вы не вошли.
Добрый день нужна помощь в реализации:
Гирлянда на основе 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)
Offline
ШИМ программно можно сделать на любом порте
Offline
При съемке на видео заметно будет 100 Гц?
Offline
И что? Примитивная реализация. Вот только код для продвинутого Си и Си++
Offline
по этому готов заплатить 500 грн
Offline
За репетиртство и практику 500 гр.
ПС: что бы не повторять одно и тоже почитайте эту мою тему.http://arduino.ru/forum/programmirovanie/klassy-arduino-po-qwone-dlya-chainikov
Редактировался qwone (2017-11-27 21:16:45)
Offline
~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){}};
Offline
Metr_cv
посмотри такой вариант -
http://forum.arduino.ua/viewtopic.php?pid=2738#p2738
Редактировался NoName (2017-11-27 22:59:04)
Offline
.Однако, многие вещи невозможно сделать проще чем они есть, это касается и программирования.
Можно и программирование сделать проще. Собственно, я это и предлагал..
Offline
) єто да, оценить можно только по результату и времени решения вопроса.
я вот собрался сделать одну штуку. взял железо и не смог спаять. то одна проблема. то работа. то .. еще что то .. в конце концов вот увольняюсь что б сделать проект. работы реально часов на 30 - потолок ( писанины на 3-5 часов , остальное сборка ). а затянул на год. вот сколько стоит такая работа? ) самому стыдно до ужаса.
Offline
Вы конечно извините за следующее, но... Можно ли конкретно?!
1. Да, возьмусь
2. Нет, малый бюджет
мне не надо вникать с нуля, хотя бы костяк который написал в описании, потом сам буду разбираться, или буду доплачивать за допил скетча.
Редактировался Metr_cv (2017-11-27 23:38:50)
Offline
я пас - конструктор для лампочек свой я скинул, там реализованы практически все ваши хотелки. ШИМ, волны и т.д. кроме уровня шума. это сами. контруктор еффектов избыточен - но за день мне проще не написать.
Offline
Все что указано в заголовке из железа у меня есть, нужен только код.
если возможно применить TLC5940, прошу объяснить что это даст? вернее если без него никак то добавлю но все упирается в код ибо нету времени изучать программирование.
Редактировался Metr_cv (2017-11-28 01:01:36)
Offline
Batu, а вы покажите, что значит ваше проще не одному мне а, допустим, всему научному миру, опубликовав официальную статью в официальном издании. Тогда ваше авторское право, на это упрощение программирования, будет неопровержимо. Может быть, даже премию Тюринга дадут.
Это заблуждение что вот опубликовал и сразу будет понятно. Из 10 с кем я общался один въезжает. Из тех, кто въезжает понимает в чем прелесть после месяца общения. Это по опыту. Сейчас может три-четыре раза надо пообщаться что б вкусить фишку. Я примеров сделал для въезжания. Ты ж тоже бегло взглянул и сказал что все понятно. А надо было еще пару циклов общения.. И я б еще файлик прислал. Хотя я тебя считаю очень не глупым. Судя по постам здесь. Потому статья мне не интересно. Надо сделать. Так будет проще.
Offline
Вопрос автору поста: а не подойдет вам воплотить эту задумку в жизнь на светодиодах WS2812B упрравляемых ввсего лишь по одной шине данных, rкоторые кстати еще и RGB
Добрый день, не подходит, в конечном результате должны транзисторы быть всесто светодиодов
Offline
Рекомендую не решать вопрос в ЛОБ. Возьмите микросхемы сдвигового регистра 74HC595 и вам понадобиться только три пина у микроконтроллера чтобы этим всем управлять. Разобраться с тем как работать с такими регистрами очень просто. В интернете есть куча примеров. Для 30 выходов вам понадобиться 4 регистра соединенных вместе (потенциально можно получить и 32 выходы если это интересно). Это по железу. По софту тоже все просто. Нужен всего одномерный массив на 30 (или 32) элемента, которые вы будете модифицировать по своему алгоритму в каждом цикле "показа".
Это просто. Если сами не справитесь - наверняка кто то поможет. Таким образом делают даже светодиодные кубики и управляют 512 светодиодами в аналогичном режиме.
Вы конечно извините за следующее, но... Можно ли конкретно?!
1. Да, возьмусь
2. Нет, малый бюджетмне не надо вникать с нуля, хотя бы костяк который написал в описании, потом сам буду разбираться, или буду доплачивать за допил скетча.
Если актуально то можно сделать, цена 800 грн.
Offline
Актуально, пишите stuzhuk1988@ukr.net
Offline