Доброго времени суток. Только начал осваивать язык СИ, чувствую сам не успею. А скоро новогодние праздники.
Ребята, может кто сможет накидайть код программы для 8-ми каналов (гирлянд из светодиодов).
Если такие найдутся, опишу подробно что желаю от программки.
Re: atmega16 + цду
Добавлено: Пн дек 16, 2013 20:07:41
Dr. Alex
Так ты сразу опиши, такое каждый сможет)))
Re: atmega16 + цду
Добавлено: Пн дек 16, 2013 21:37:21
tager_
Есть 8 гирлянд из светодиодов. Сейчас всё это хозяйство работает на к155ир3 через тумблеры.
Как выставил тумблеры так она и бежит.
Задался целью обновить к новому году, а то лет за 10 как то уже приелась.
Программа должна создавать разные светоэффекты (бежать, моргать, сверкать, плавно гаснуть и загоратся и т. д. зависит от фантазии ). Должен быть реализован перебор и случайный выбор эффектов.
Можете предлагать свои варианты. Просто написал что сейчас пришло на ум.
Программу нужно составить таким образом, чтоб начинающему в программировании было несложно добавлять свои комбинации эффектов. Возможно это кому то еще пригодится.
Можно пару кнопок для перебора эффектов, и энкодер для регулировки скорости прикрутить.
В наличии имеется: 8 гирлянд, Atmega16, Программатор, Atmel Studio 6.1 и протеус.
Печатную плату нарисую сам. В дальнейшем возможно еще будут вопросы по схеме и программе.
На этом пока все. Спасибо за внимание.
Re: atmega16 + цду
Добавлено: Ср дек 18, 2013 18:48:06
zero648
Есть один проектик, но на асме, претерпевший уже не одну модификацию, там есть элементы управления прогрессбаром из 10 сегментов, так вот к нему можно довавлять эффекты, ну конечно все лишнее уберу, нужно только дописать алгоритм смены эффектов и сочинить еще какие нибудь, скорость меняется крутилкой потенциометром, так вот останется подключить гирлянды через ключи вместо прогрессбара.
Re: atmega16 + цду
Добавлено: Ср дек 18, 2013 20:32:28
Dr. Alex
tager_ писал(а):Только начал осваивать язык СИ, чувствую сам не успею.
Ну по большому счёту ничего сложного нет в ваших пожеланиях. Достаточно записать все эффекты в массивы, а потом перебирать значения массивов.... Вот как-то так))))) Это подсилу даже начинающему программисту)
Re: atmega16 + цду
Добавлено: Пт дек 20, 2013 12:30:23
tager_
zero648 Я в асме вообще не силён, но впринципе можно посмотреть. Dr. Alex Если не трудно накидайте код. И пару эфектов. Желательно с коментариями.
Светодиоды к порту А прикручены.
Для интереса и проверки работаспособности, попробовал залил прошивку от сюда http://www.radiokot.ru/circuit/light/run/58/
Видео
Спойлер
Воде не плохо, даже в моём варианте. Правда у меня кварц на 16.384 стоит.
На следующий год смотрю в сторону ленты на чипе WS2812 или подобной.
А пока буду довольствоваться тем что есть.
Re: atmega16 + цду
Добавлено: Пт дек 20, 2013 13:22:50
takei
Восемь каналов? Зачем мега 16 , планируйте на тини 2313.
Re: atmega16 + цду
Добавлено: Пт дек 20, 2013 13:26:44
tager_
Просто мега 16 уже есть в наличии. Если есть готовые проекты на тини, выкладывайте рассмотрю как вариант.
Re: atmega16 + цду
Добавлено: Пт дек 20, 2013 13:48:05
takei
Жаль что в наличии только 16 , а у меня денег хватило только на 13.
Ну ладно, как говорит товарищ Dr. Alex , дело то "гавно , вопрос"
Вот вам первый эффект, если поймете что тут к чему, прибавите точно так второй эффект, многие скажут что это примитивно , а вы не слушайте никого, потому что ваша фантазия будет реализована на практике , а не останется в теории как у некоторых
рандомный, вроде как случайный.
unstable++; это при каждом проходе скорость будет увеличиватся, так не пойдет.
Нужна случайная скорость при каждом проходе эффекта.
Тут мысль пришла, может записать в массив штук 30 - 50 случайных циферек, да и выбирать их от туда по очереди. Для _delay_ms , коли ей нужно точное значение.
Получится что у каждого эффекта своя скорость.
Только количество эффектов не должно совпадать с количеством циферек.
Что на это скажешь?
Re: atmega16 + цду
Добавлено: Сб дек 21, 2013 11:32:48
takei
Правильно, нужно использовать для этого случая массивы, просто начинаем с простого, и движемся далее, начинайте составлять первый массив для светодиодов (этих массивов далее сделаете несколько)
И один для чисел (_delay_ms) скорости.