Страница 1 из 3

ПОМОГИТЕ собрать контроллер на MEGE8

Добавлено: Ср фев 06, 2008 17:51:00
shells
Каким образом на светодиодах сделать эффект НАРАСТАЮЩЕГО ОГНЯ на четырех светодиодах с регулятором скорости эффекта?
Может у кого-нибудь есть подобного рода схема, пришлите?

Добавлено: Ср фев 06, 2008 19:00:47
kamikadze
Всмысле с изменением яркости, или 1 горит светодиод, потом 2, потом 3, и потом 4 ?

Добавлено: Ср фев 06, 2008 20:18:23
shells
да 1,2,3,4

Добавлено: Ср фев 06, 2008 20:39:59
ARV
товарисч shells, какая там схема для мигалки на микроконтроллере? МК+4 резистора+4 светодиода... ну, возможно еще какое-то питание... тут не схема, а программа важна... а про программу читайте обучалку, там как раз очень похожая задачка рассматривается :)

Добавлено: Ср фев 06, 2008 22:35:17
kamikadze
:) А регулировку можно сделать галетным переключателем, на 4-5 скоростей будет ПРЕДОСТАТОЧНО )

Добавлено: Ср фев 06, 2008 22:41:29
ARV
kamikadze писал(а)::) А регулировку можно сделать галетным переключателем, на 4-5 скоростей будет ПРЕДОСТАТОЧНО )
сурово... прямо по-челябински :) с галетным переключателем и МК не нужен - можно и так щелкать и включать 1, 2, 3 или 4 светодиода :)))

Добавлено: Ср фев 06, 2008 22:52:44
kamikadze
Я про скорость переключения, которая будет задаватся ими :))

Добавлено: Чт фев 07, 2008 19:35:38
shells
СПАСИБО за советы!!!
НО, хотелось бы сделать регулятор переменным резистором. А программирование с АЦП я еще не освоил.
Может у кого есть подобного типа схема и исходник?
Заранее спасибо!!!

Добавлено: Чт фев 07, 2008 20:24:03
ARV
shells писал(а): хотелось бы сделать регулятор переменным резистором. А программирование с АЦП я еще не освоил.
вы не поверите, но были времена, когда в микроконтроллерах не было ни АЦП, ни компараторов... и на них делали регуляторы "переменным резистором" :) причем довольно просто, надо только чуть-чуть подумать...

подсказываю: кроме переменного резистора потребуется еще один конденсатор.

Добавлено: Чт фев 07, 2008 21:10:26
Artem333
К сожалению связка кондёр+резистор крайне нестабильна. Максимум выжал 50 дискретных положений. К томуже плывёт от температуры окружающей среды. Схему можно выдрать отсюда: http://www.radiokot.ru/lab/controller/24/

Добавлено: Чт фев 07, 2008 21:13:30
ARV
на счет термостабильности - конденсаторы соответствующие надобно... а остальное - разве для бегущих огней мало будет 50 шагов?! тем более что при желании можно и больше...

Добавлено: Чт фев 07, 2008 21:15:23
shells
это как? если бы я всё знал, то не спрашивал бы .

Добавлено: Чт фев 07, 2008 21:26:48
Artem333
1: Собираешь цепь конденсатор + резистор
2: Подаёшь высокий уровень на вход
3: Засекаешь время за которое на выходе появится единица
4: Обнуляешь вход
5: Ждёшь разряда кондёра (если нет диода)

время заряда и есть значение такого АЦП

Добавлено: Пт фев 08, 2008 19:52:18
shells
Спасибо, но мне хотелось бы собрать на MEGA8. И есть ли у у кого-нибудь более подробное описание сборки и исходника, так как я еще не особо разбираюсь в этом, чтобы сделать МК от подсказки. Заранее, спасибо! :lol:

Добавлено: Пт фев 08, 2008 20:42:01
kamikadze
:) Ну на меге и будет, только еще конденсатор надо и все

Добавлено: Пт фев 08, 2008 21:21:10
Artem333
Не парься! Прилагаю конфиг АЦП и обработчик его прерывания. Останется только использовать данные из регистров в основной проге. Работа АЦП независит в данном случае от чего-либо. Ессно регистры можешь переименовать. Вход АЦП - ADC0. Проверено на меге8.

Добавлено: Сб фев 09, 2008 19:30:13
shells
я часть вставил с обучалки, получилась вот такая прога. Правильная ли она?
И по поводу ADC 0: это будет вход сопротивления, у которого один контакт на +, а второй - через конденсатор на - .

Добавлено: Сб фев 09, 2008 22:13:32
Tohey
Вроде правильно, но зачем столько кода? Можно многое засунуть в подпрограммы...

Добавлено: Вс фев 10, 2008 16:49:25
Artem333
Нифига не прально. Переименуй регистры в конфиге и прерывании АЦП. Или обьяви их. А кондёр нафиг не нужен в данном случае. Подключаешь центральный вывод резистрора на ацп, один крайний на землю другой на +. Ну и естессно надо подать питание на АЦП. Ну и в проге надо назначить вектора прерываний (см даташит).

Добавлено: Вс фев 10, 2008 16:54:06
Artem333
Вот типичное начало кода.