Плавное мерцание нескольких светодиодов
- Войдите на сайт для отправки комментариев
Чт, 06/10/2016 - 06:58
Доброго времени суток форумчане. Совсем недавно начал дружить с ардуинкой и столкнулся со следующей проблемкой.
Имееться грубо говоря 5 светодиодов и нужно заставить их плавно загораться\затухать отдельно друг от друга в определенном порядке. В уроках нашел управление через digitalWrite, но там не реализовать плавного мерцания. Так же нашел через analogWrite , но опять же, реализовано только для одного светодиода.
http://arduino.ru/Tutorial/Fade
Что нужно сделать с кодом в уроке выше, чтобы отдельно управлять плавным мерчанием 5 отдельных светодиодов?
в этом уроке написано про ШИМ, с ним и разбирайтесь, там всё предельно понятно
в этом уроке написано про ШИМ, с ним и разбирайтесь, там всё предельно понятно
Ну, Вы, блин, даёте, ТС же ясно сказал, что ШИМ - это для одного светодиода. Е ему для пяти нужно :)))
ТС, ну Вы для разминки, сделайте пять раз как там написано. А там посмотрим.
позвольте, у ТС ни слова про шим....
а если сначала, то тогда надо делать блинк для 5 диодов
позвольте, у ТС ни слова про шим....
Как это "ни слова". А вот это
http://arduino.ru/Tutorial/Fade
про что? :)))
так это ссылка)))
у нас этих ссылок... у нас дядя работает на фабрике по производству ссылок, вот и шлет всем подряд)))
у нас дядя работает на фабрике по производству ссылок, вот и шлет всем подряд)))
Тырит, что-ли? Или им зарплату продукцией выдают?
Вам нужен ШИМ, для его использования применяется команда analogWrite.
Если идти простым путем, то нужно каждый светодиод подключить к отдельной ноге через токограничивающий резистор.
Далее если у Вас Arduino Uno, то смотрим описание контролеера (datasheet) и видим, что ноги которые поддерживают ШИМ - 3, 5, 6, 9, 10, и 11.
К примеру:
Ну а алгоритм изменения яркости запрограмируйте сами.
Схему подключения я понял, проблема для меня заключается в коде.
.
. .
. .
Схематично, на точках, это должно работать следующим образом:
Сначала начинают разгораться нижние 2 светодиода, когда они достигают половины яркости, начинают загораться вторые 2 светодиода, и последний аналогично (когда яркость нижних на полную, а средних на половину).
Самому с 0 писать код пока проблематично, пользуюсь уроками и форумами.
Сначала начинают разгораться нижние 2 светодиода, когда они достигают половины яркости, начинают загораться вторые 2 светодиода, и последний аналогично (когда яркость нижних на полную, а средних на половину).
Самому с 0 писать код пока проблематично, пользуюсь уроками и форумами.
Лучше книжку по языку почитайте. На видео и форумах Вы всегда будете видеть "обрывки" и целостной картины у Вас не будет.
Я это прекрасно понимаю, но боюсь, что не успею сам к нужному времени все изучить и доделать (а книжечку все таки посоветуйте), поэтому и обратился сам на форум. Жене к выступлению нужно подстветку такую организовать, а выступление меньше чем через месяц. А у меня с работой времени совсем не много остается на обучение, да и голова зачастую не варит после работы.
а книжечку все таки посоветуйте
Ну, вот, например.
Жене к выступлению нужно подстветку такую организовать, а выступление меньше чем через месяц. А у меня с работой времени совсем не много остается на обучение, да и голова зачастую не варит после работы.
Тогда зайдите вот сюда и запостите своё ТЗ, там за разумную денюшку кто-нибудь сделает.
совершенно случайно делаю елочную гирлянду там реализовано нетчео подобное, вот код
qwone, поправьте меня, если я ошибаюсь, но мне на первый взгляд показалось, что у Вас второй начинает разгораться, когда первый достигнет максимальной яркости, третий начинает - когда второй достигнет максимума и т.д. Так или я чего-то не заметил? Вроде ж ТС не это просил.
Ну да. Можно и с середины зажигать следущий. Но скорее всего ТС не дошурупает. А программы пишу для отработки своего подхода.
ПС: Любой код надо всегда заливать и смотреть. Хотя ШИМ линеен, диоды зажигаются нелинейно. Так что надо найти максимальный уровень при котором светодиоды еще не горят. А это величина у сведодиодов индивидульная. А с какой середины. когда ШИМ= 255/2 или с середины яркости. Вот этот ньюанс ТС не знает.
Ну да. Можно и с середины зажигать следущий. Но скорее всего ТС не дошурупает. А программы пишу для отработки своего подхода.
Сможете подсказать, каким образом их плавно выключать поочереди? :)
Встают, как вкопанные, после включения и все тут.
Друг, дам тебе совет - не буди в квоне подсказчика...
Друг, дам тебе совет - не буди в квоне подсказчика...
Пробую свои знания применить, а к qwone не будет лишним обратиться :) Подход к коду у него отличный!
Понятно же что надо начинать с такой строки
Понятно же что надо начинать с такой строки
И вправду. Благодарю за наводку!