
#1
Отправлено 04 Сентябрь 2015 - 15:24
- mr. J, basopotam, lexx8691 и еще 1 это нравится
#2
Отправлено 04 Сентябрь 2015 - 16:40
а интерфейс пользователя где ?
#3
Отправлено 04 Сентябрь 2015 - 22:11
дык вот же:
- Sleepy, DNK и mascod это нравится
#4
Отправлено 05 Сентябрь 2015 - 21:06
Класс! Сегодня заказал на "Али" плату за 180руб, , часы с батарейкой за 74 руб. Через месяц буду пробовать! Если все заработает, то это будет не контроллер..., а ХАЛЯВА! Спасибо, Sinnpriest!
#5
Отправлено 09 Сентябрь 2015 - 13:34
Обнаружил баг. Верный код в 18-ой строке:
18: int long Array[7][5];
#6
Отправлено 09 Сентябрь 2015 - 15:09
Извините:
Обнаружил баг. Верный код в 14-ой строке:
14: int long Array[7][5];
#7
Отправлено 09 Сентябрь 2015 - 16:57
Подумав, решил тут задать вопрос, так, как в этой ветке много знающих людей. Может подскажете.
Конечно же, нас интересуют рассветы и закаты. Даже это относится к контроллеру описному выше.
В основном на этом форуме для увеличения битности шима используют такое устройство:
Я тут нашел немного другое устройство, оно более компактное и значительно дешевле (мы же любим экономить).
Но суть вопроса вот в чем.
Я использую выход шим сразу с ноги ардуино, и подаю сигнал на драйвер.
вид такой: analogWrite (3, [0 - 255]); т.е. на выход D3 записываю с 0 до 255.
При использовании такого драйвера светодиод, подключенный к нему, постепенно разгорается.
А при использовании такого драйвера, светодиод наоборот постепенно гаснет.
С похожим непонятным явлением я столкнулся с ковырянием с данным девайсом, чтоб плавно зажечь свет мне нужно уменьшать показатель с 4095 до 0. Т.е. на 0 максимальная яркость.
Кто-нибудь сталкивался с таким явлением? Как его поймать? Фиксить?
Просто в ближайшем будущем я хочу использовать оба типа драйвера.
4 канала
2 канала
и тут возникает вопрос, раз они по разному понимают pwm-сигнал: как писать программу??? )))
#8
Отправлено 09 Сентябрь 2015 - 17:23
Класс! Сегодня заказал на "Али" плату за 180руб, , часы с батарейкой за 74 руб. Через месяц буду пробовать! Если все заработает, то это будет не контроллер..., а ХАЛЯВА! Спасибо, Sinnpriest!
на логовском форуме есть подобная тема с таким же контроллером. у меня работала и устраивала более чем. Включил, настроил и забыл.
http://seaforum.aqua...-dms-500pl-72l/
#9
Отправлено 09 Сентябрь 2015 - 17:30
#10
Отправлено 09 Сентябрь 2015 - 19:27
Каждому каналу присвоить некий признак необходимости инвертирование сигнала, далее сигнал инвертировать по необходимости setPWM(pin0,4096- pwm-signal)
Это реализовано непосредственно в языке? Я не видел примеров нигде. Есть где посмотреть.
А вообще какая то запутанность получается:
Например есть скетч из начала топика, я его подключаю к через один драйвер (700мА), все работает отлично. Подключаю через другой драйвер (тот, что до 1.5А), получается, что все начинает работать зеркально. Не хорошо. Хотя тот драйвер, что на 1.5А при перезагрузках ведет себя более корректно, не зажигает все диоды. Таким образом написанное ПО должно иметь еще сноску, с каким типом драйверов оно работает. Или его нужно усложнять делая настройку по возможности "зеркалить" каналы.
Опять же развивая тему получается, что если доработать скетч из начала топика для работы ардуино совместно с TLC5940, то драйвер на 1.5А в этот раз работает корректно по отношению к описанию в программе (если пишу, что нужно плавно включиться от 0 до 4095, то он плавно включается), в то время, когда драйвер на 700мА начинает работать зеркально (при цикле значений на канале от 0 до 4095, начинает плавно выключаться)..
Все бы ничего, и это можно решить, но штука в том, что я планировал использовать эти драйвера вместе... А тут получается уже писец )))...
Нет в жизни справедливости и унификации... )))
#11
Отправлено 09 Сентябрь 2015 - 21:26
Да программа должна знать с каким типом драйвера она работает. То есть на каждый канал должен быть некий флаг, устанавливающий в каком режиме данный канал должен работать, в прямом или инверсном, ну а далее уже при выставлении значения PWM анализируется состояние этого флага, если не взведен, к примеру:
if (flag==0) analogWtite(pin0,pwmValue); else analogWrite(pin0,255-pwmValue);
#12
Отправлено 10 Сентябрь 2015 - 08:57
Да программа должна знать с каким типом драйвера она работает. То есть на каждый канал должен быть некий флаг, устанавливающий в каком режиме данный канал должен работать, в прямом или инверсном, ну а далее уже при выставлении значения PWM анализируется состояние этого флага, если не взведен, к примеру:
if (flag==0) analogWtite(pin0,pwmValue); else analogWrite(pin0,255-pwmValue);
Спасибо.
Это несколько неожиданно для меня случилось...Не ожидал, что драйвера могут отличаться друг от друга правилами приема pwm-сигнала...
#13
Отправлено 10 Сентябрь 2015 - 09:57
#14
Отправлено 10 Сентябрь 2015 - 14:11
Я конечно опять буду воспринят как нехороший человек, но народ... Когда вы начнете наконец даташиты читать? Вы столько гемора имеете...Спасибо.
Это несколько неожиданно для меня случилось...Не ожидал, что драйвера могут отличаться друг от друга правилами приема pwm-сигнала...
Вспоминается дедовская поговорка - лентяй надорался... два раза не хотел ходить.
Может опять открою "Америку" но то, что вы тут "страдаете" уже "выстрадано" и имеет вполне готовые решения. Именно на ардуино. Просто нужно воспользоваться англоязычным поиском.
Вот первый попавшийся пример - http://m.youtube.com...h?v=E0oZzMSKLUQ
Хочу заметить, что человек, замечу, достигший существенных итогов, говорит, как боролся за каждый байт. Причем, я точно знаю, что не сам функционал тому виной, а реализация меню. Т. в. именно это является камнем предкновения для всех. Ну нафига делать интерфейс, когда делаешь для себя? Лень неумолимо побеждает и рождается либо вот такой вариант, где все в коде задается, а он совершенно бессмысленен для окружающих, т. к. тот кто код поправить может уж как-то и сам может написать, либо рождаются интерфейсы-мутанты. Баги в 90% именно в интерфейсах. А т. к. процессорное время тратиться и на интерфейс и на исполнение, то баги интерфейса отражаются на исполнении. Делая всю систему - полной ерундой.
Итого, повторюсь, исполнение и управление исполнительными устройствами нужно разносить. Для интерфейса использовать заточенное под это устройство.
#15
Отправлено 10 Сентябрь 2015 - 14:30
#16
Отправлено 10 Сентябрь 2015 - 16:09
Все правильно пишешь.
Я это делаю для себя. И мне не жалко выложить для других. Но, все дело в том, что изначально я именно этот код и искал, когда начал поиск контроллеров для света на базе Ардуино. А находил каких то монстров. Давно я что-то писал на С++, потом в вебе. Естественно я уже давно все забыл. Если бы увидел этот код раньше, уйму времени бы сэкономил. Может у кого-то именно так и получится.
От себя скажу, я наверно понял, что я хочу. Доделаю, выложу. Я это делаю для себя. Для себя. А сюда выкладываю т. к. не ищу коммерческую составляющую. То, что я сделал возможно кому-то пригодится. У меня нет корысти в сделанном.
#17
Отправлено 10 Сентябрь 2015 - 16:19
А вот человек код выложил - https://code.google....roller-arduino/
И свой контакт
А контакт то свой зачем? Помощь оказывать или деньги собирать?
- bbasil это нравится
#18
Отправлено 10 Сентябрь 2015 - 16:24
О, ДА!
А если вообще копать вглубь проблемы, то вообще, то чем мы тут занимаемся абсолютное рукоблудие. Почему? Да потому, что если бы у меня были деньги, я бы купил себе два Радиона от ЭкоТеч и не сидел бы и не ждал посылки из Китая. Поэтому, господа, когда Вы говорите, что все уже сделано у меня четкая ассоциация не с RLL, а с готовыми решениями.
А начал я этим заниматься потому, что денег нет. А банка планируется большая. На нее нужно будет от 8 до 10 Радионов. По нынешним ценам это ";;№"№!%.
Кстати, у меня сейчас висит Митрас от GHL. Мне его всего лишь немного не хватает по площади покрытия. Вот и тренируюсь перед большой банкой.
#19
Отправлено 10 Сентябрь 2015 - 19:57
А банка планируется большая. На нее нужно будет от 8 до 10 Радионов. По нынешним ценам это ";;№"№!%.
Контроллер может быть один на сколько угодно светильников. Если это будет эквивалент хотя бы пары Радионов, то цена контроллера - гораздо менее 1% от цены полного светильника. Сомнительная экономия как по мне...
#20
Отправлено 10 Сентябрь 2015 - 20:02
Дык спросите у автора. Я почем знаю. Упоминул просто как факт того, что связаться можно с человеком.А контакт то свой зачем? Помощь оказывать или деньги собирать?
О, ДА!
А если вообще копать вглубь проблемы, то вообще, то чем мы тут занимаемся абсолютное рукоблудие. Почему? Да потому, что если бы у меня были деньги, я бы купил себе два Радиона от ЭкоТеч и не сидел бы и не ждал посылки из Китая. Поэтому, господа, когда Вы говорите, что все уже сделано у меня четкая ассоциация не с RLL, а с готовыми решениями.
А начал я этим заниматься потому, что денег нет. А банка планируется большая. На нее нужно будет от 8 до 10 Радионов. По нынешним ценам это ";;№"№!%.
Кстати, у меня сейчас висит Митрас от GHL. Мне его всего лишь немного не хватает по площади покрытия. Вот и тренируюсь перед большой банкой.
А я - нет


p.s. Внимание! По ссылке нецензурщина!
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных