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

Подсветка для роликов

Добавлено: Ср июн 15, 2011 02:09:53
Hard3d
Я еще в этом новичок. решил собрать себе подсветку для роликов на RGB светодиодах. Начал обсуждение своей схемы на схем.нет, но к сожалению помощи там получил мало. Схема пока что выглядит так (прикрепленный файл). Организован на контроллере программный шим (программа взята от сюда).
Самое первое нужна помощь в выставлении фьюзов. Прошивку заливаю с помощью ponyprog2000. Так же прикрепил файл как они у меня сейчас выглядят

Re: Подсветка для роликов

Добавлено: Ср июн 15, 2011 05:49:15
m.ix
В этом я совсем не понимаю
но думаю ног у меги много для этого дэвайса
10 задействовано из считай тридцати
да и кварец тогда желательно убрать в МК шо б не сотрёсся

Re: Подсветка для роликов

Добавлено: Ср июн 15, 2011 08:31:54
pyzhman
tiny13 будет в самый раз. Здесь на форуме где-то про управление светодиодной лентой есть тема, посмотрите.
PS. мега8 ну уж больно шикарно для такого применения.

Re: Подсветка для роликов

Добавлено: Ср июн 15, 2011 09:57:14
Coolish
ага, в 13-й есть встроенный генератор на 9.6 мГц, чтоб шим и эффекты могли быть быстрее, а на Меге8 только 1-8 мгц. Кварц долой. Без кварца то и фьюзы менять вообще не надо будет

Re: Подсветка для роликов

Добавлено: Ср июн 15, 2011 10:52:16
Engineer_Keen
Кстати, тема такая была уже...

Re: Подсветка для роликов

Добавлено: Чт июн 16, 2011 00:07:01
Hard3d
Ну мегу8 взял потому что была такая в наличии у меня и на ней начал делать опыты. И схема что я выложил, это еще не полный вариант. Выкладываю что вообще хочу. Прошу помощи кто умеет программировать AVR

программа контролера:
#include <avr/io.h>//подключаем библиотеку ввода/вывода
#define nop() {asm("nop");}//функция необходимая для реализации задержки

unsigned int i,p,pp,c,buf,ms,x;//перечисление переменных

// функция задержки
void delay_ms(int ms)
{
for (x=ms;x>0;x--)
nop ();
}

// функция ШИМ светодиода
void led0(int led, int i, int p) //где led - адрес светодиода, i - время включения светодиода
//p - время выключения
{
PORTD &= ~_BV(PD0);
delay_ms(i);
PORTD |= _BV(led);
delay_ms(p);
}

int main( void ) //главная программа
{
//конфигурирование на вывод порта D
DDRD |= _BV(PD0);//конфигурирование битов
DDRD |= _BV(PD1);//PD0, PD1 и PD2
DDRD |= _BV(PD2);//на выход

PORTD = 0xFF; //включаем подтягивающие резисторы
pp=1000; //задаем скорость зажигания /гашения

for(;;) //бесконечный цикл
{
//Зажигаем красный светодиод
PORTD &= ~_BV(PD0);

//плавное зажигание зеленого светодиода
for (i = 20; i < pp; i++)
{
p=pp-i;
led0(PD1,i,p);
}
//Зеленый светодиод остается гореть
PORTD &= ~_BV(PD1);

//плавное гашение красного светодиода
for (i = 20; i < pp; i++)
{
p=pp-i;
led0(PD0,p,i);
}

//Зеленый светодиод остается гореть
PORTD &= ~_BV(PD1);

//плавное зажигание синего светодиода
for (i = 20; i < pp; i++)
{
p=pp-i;
led0(PD2,i,p);
}

//Синий светодиод продолжает гореть
PORTD &= ~_BV(PD2);

//Плавное гашение зеленого светодиода
for (i = 20; i < pp; i++)
{
p=pp-i;
led0(PD1,p,i);
}

//Синий светодиод продолжает гореть
PORTD &= ~_BV(PD2);

//постепенное зажигание красного светодиода
for (i = 20; i < pp; i++)
{
p=pp-i;
led0(PD0,i,p);
}

//Красный светодиод продолжает гореть
PORTD &= ~_BV(PD0);

//Плавно тушим синий светодиод
for (i = 20; i < pp; i++)
{
p=pp-i;
led0(PD1,p,i);
}
}
}
Кнопки + и - должны регулировать скорость зажигания /гашения
Кнопка Reset делает сброс на начальное значение.
Кнопка On/Off должна включать и выключать светодиоды в блоке 5
Светодиоды в блоке 3 и 4 должны по очереди зажигаться и гаснуть

Возможно ли это все организовать на одном контроллере?

Re: Подсветка для роликов

Добавлено: Чт июн 16, 2011 06:11:10
pyzhman
Конечно возможно.
Кнопка Reset делает сброс на начальное значение.
Ее веселее подцепить на соответствующую лапку мк.(Нет, если надо как в схеме, то будет по схеме.)
Светодиоды в блоке 3 и 4 должны по очереди зажигаться и гаснуть
Насколько быстро, насколько медленно. Такие вещи сразу определяйте.

Re: Подсветка для роликов

Добавлено: Чт июн 16, 2011 13:18:08
Hard3d
Ее веселее подцепить на соответствующую лапку мк.(Нет, если надо как в схеме, то будет по схеме.)
Если подцепить к соответствующей лапке, то будет ведь сбрасываться весь же МК, а мне надо чтобы сбрасывалось только время на шиме.
Насколько быстро, насколько медленно. Такие вещи сразу определяйте.
Ну думаю мс на 500. если что потом сам подправлю

Re: Подсветка для роликов

Добавлено: Чт июн 16, 2011 19:18:22
>TEHb<
Косяк на схеме: резистор нужен свой на каждый кристалл, иначе если зажечь одновременно, скажем, синий и красный, то гореть будет тольк красный.

Re: Подсветка для роликов

Добавлено: Чт июн 16, 2011 21:39:21
Hard3d
>TEHb< писал(а):Косяк на схеме: резистор нужен свой на каждый кристалл, иначе если зажечь одновременно, скажем, синий и красный, то гореть будет тольк красный.
светодиод RGB с общим анодом. и все нормально переливается

Re: Подсветка для роликов

Добавлено: Ср авг 20, 2014 19:02:34
4erTa
Есть RGB светодиоды с общим катодом и анодом. В чем разница, и какие лучше? Также есть в матовом и прозрачном корпусе. Разница какая может знает кто?

Re: Подсветка для роликов

Добавлено: Чт авг 21, 2014 08:11:14
Engineer_Keen
4erTa писал(а):Есть RGB светодиоды с общим катодом и анодом. В чем разница, и какие лучше?
Разница в управлении, у одних плюсом, у других землей. Лучше тот, который больше подходит по яркости/цене/габаритам/(придумать еще кучу параметров).
4erTa писал(а):Также есть в матовом и прозрачном корпусе. Разница какая может знает кто?
Матовый корпус рассеивает свет во все стороны, прозрачный светит конусом с определенным углом расхождения.