Энкодер + Attiny13 + RGB LED

Обсуждаем контроллеры компании Atmel.
AlexDX
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн фев 02, 2009 21:57:42
Контактная информация:

Энкодер + Attiny13 + RGB LED

Сообщение AlexDX »

Привет котам) Есть задумка: собрать устройство на микроконтроллере для подсветки чего-либо RGB светом. В схеме будет использоваться энкодер, для установки необходимого цвета света, микроконтроллер Attiny13 с 3-мя программными ШИМ на выходе и RGB светодиод (ну или 3). В программировании микроконтроллеров имею очень маленький опыт. Хотелось бы послушать мнения матерых котов по данному девайсу.
И еще опишу задумку работы устройства: включили. светодиод не светит. нажимаем на энкодер кратковременно, несколько раз моргает свет, силу которого устанавливаем вращением. видим соответствующий свет. так для каждого цвета. на последнем (синем) чтобы применить установки тоже кратковременно нажимаем на энкодер. все, устройство работает в статическом режиме, то есть всегда видим тот цвет, который установили. при долговременном нажатии на энкодер (около 3 сек) включается автомвтический режим, в котором покругу свет пробегает все оттенки (что-то типа R->max, G->max, R->min, B->max, G->min, R->max, B->min. и так по кругу)
AlexDX
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн фев 02, 2009 21:57:42
Контактная информация:

Сообщение AlexDX »

Вот набросал примерную схему в Proteus 7.6 SP0.
Вложения
.rar
(17.8 КБ) 950 скачиваний
AlexDX
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн фев 02, 2009 21:57:42
Контактная информация:

Сообщение AlexDX »

для начала хочу сделать обработку сигналов с энкодера. идея в принципе такая: по фронту первого канала необходимо вызывать прерывание и уже в нем проверять второй канал. если на втором канале лог. 1 - значит крутим вперед, если лог. 0 - назад. скажите, на Attiny13 есть даташиты на русском? ну или на семейство? несовсем все понятно с прерыванием, как его вызвать? обычной проверкой ножки порта? P.S. что-то никто не отвечает...(
Аватара пользователя
sema
Мудрый кот
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород
Контактная информация:

Сообщение sema »

даташита на русском не встречал. с контроллерами раньше дело имели? на чем пишете (си? асм?)? почему именно тини13?

хотя вру, на www.gaw.ru есть описалово на мегу128
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
AlexDX
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн фев 02, 2009 21:57:42
Контактная информация:

Сообщение AlexDX »

sema, да, бегущий огонь делал и крутил шаговик от принтера... на этом все закончилось. пишу на СИ в CodeVision. отлаживаю в протеусе и AVRStudio. тини - потому что маленькая, и ножек как раз хватает. посоветуете что-то другое? P.S. спасибо за ссылку)
Аватара пользователя
sema
Мудрый кот
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород
Контактная информация:

Сообщение sema »

отсутствие ОЗУ для си потенциальный источник проблем, посоветую мегу8, 48, 88 или тини2313
лишние ноги это хорошо - можно выводить отладочную информацию
кстати для тини2313 где-то видел описание на великом и могучем
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Сообщение Секретный кот »

sema писал(а):отсутствие ОЗУ для си потенциальный источник проблем

А почему отсутствие? 64 байта уже не считаются? :wink:
Даже остановленные часы два раза в сутки показывают правильное время.
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

поищи в сети книгу А.В.Евстифеева "Микроконтроллеры AVR семейства tiny" - это качественный перевод DS по семейству.
ЗЫ: С-щный код боюсь великоват будет для тиньки
Чем дальше, тем больше становлюсь занудой...
Изображение
AlexDX
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн фев 02, 2009 21:57:42
Контактная информация:

Сообщение AlexDX »

посмотрел даташит на мегу8 - три канала PWM, памяти побольше. наверное на ней остановлюсь. но остается много незадействованных ножек... возникает вопрос к знатокам: если к этой задумке еще прикошачить 3-4 семисегментных индикатора, чтобы не вслепую "крутить ручку", не будет ли это сказываться на работе ШИМ? у нее ведь вроде свои таймеры!?
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

а смысл? что на них отображаться будет?
может проще взять что-нибудь из tiny25/45/85 если памяти не хватит, а так, те же 6 ног.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

да должно хватить тини13 для этой задачи даже если на Си - че там за проблемы-то? 3 канала программного ШИМ да энкодер... вон я задачку предлагал народу - так там в тини13 кучу ШИМ-каналов влепили и кучу кнопок :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
AlexDX
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн фев 02, 2009 21:57:42
Контактная информация:

Сообщение AlexDX »

GP1 писал(а):а смысл? что на них отображаться будет?
может проще взять что-нибудь из tiny25/45/85 если памяти не хватит, а так, те же 6 ног.


будет отображаться интенсивность (скажем, в процентах)
AlexDX
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн фев 02, 2009 21:57:42
Контактная информация:

Сообщение AlexDX »

коты, поможете с написанием программы и прошивкой?)
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

ARV писал(а):да должно хватить тини13 для этой задачи даже если на Си - че там за проблемы-то? 3 канала программного ШИМ да энкодер... вон я задачку предлагал народу - так там в тини13 кучу ШИМ-каналов влепили и кучу кнопок

дык там на асме...
AlexDX писал(а):sema...пишу на СИ в CodeVision...

я пас... :(
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
sema
Мудрый кот
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород
Контактная информация:

Сообщение sema »

Секретный кот писал(а):
sema писал(а):отсутствие ОЗУ для си потенциальный источник проблем

А почему отсутствие? 64 байта уже не считаются? :wink:

потому и потенциальная :wink:
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
AlexDX
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн фев 02, 2009 21:57:42
Контактная информация:

Сообщение AlexDX »

помогите плиз с шим... прилагаю схемку код и прошивку, там по нажатию на кнопку В1 должна меняться скважность. этого не происходит. может у кого есть хорошее описание примера ШИМ и регистров, что там к чему...?
Вложения
8.rar
(55.15 КБ) 543 скачивания
NiceMAN
Встал на лапы
Сообщения: 94
Зарегистрирован: Пн май 05, 2008 14:36:30
Откуда: г. Челябинск

Сообщение NiceMAN »

AlexDX писал(а):посмотрел даташит на мегу8 - три канала PWM, памяти побольше. наверное на ней остановлюсь. но остается много незадействованных ножек... возникает вопрос к знатокам: если к этой задумке еще прикошачить 3-4 семисегментных индикатора, чтобы не вслепую "крутить ручку", не будет ли это сказываться на работе ШИМ? у нее ведь вроде свои таймеры!?


Делаешь аппаратный ШИМ, он будет работать в фоновом режиме, плюс по прерываниям по переполнению таймера делаешь динамическую индикацию на 3-х разрядах (0-255) "яркость в у.е." .
В основном цикле программы опрашиваешь энкодер и кнопку. Превое нажатие кнопки - R +/-, второе нажатие - записал R в регистр сравнения таймера - G +/-, третье нажатие - записал G в регистр сравнения таймера - B +/-, четвертое нажатие - записал B в регистр сравнения таймера. Как то так.
NiceMAN
Встал на лапы
Сообщения: 94
Зарегистрирован: Пн май 05, 2008 14:36:30
Откуда: г. Челябинск

Сообщение NiceMAN »

Если отказаться от энкодера - можешь попробовать мою схему на меге8 с 6-ю кнопками:
+R, -R, +G, -G, +B, -B.
Исходник на асме во вложении, разберешься с аппаратным ШИМом, там все просто
Вложения
PWM.rar
(13.7 КБ) 626 скачиваний
AlexDX
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Пн фев 02, 2009 21:57:42
Контактная информация:

Сообщение AlexDX »

всем спасибо! ассемблер вообще не могу понять... посмотрите проект. в авр студио работет все как надо, а вот протеус не симулирует все так, как надо... интересно, почему?
Вложения
8.rar
(68.73 КБ) 503 скачивания
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

для МК истина в последней инстанции - железо. а всякие там протеусы-шпротеусы это только для прикидки.
Чем дальше, тем больше становлюсь занудой...
Изображение
Ответить

Вернуться в «AVR»