ШИМ mega8 + 30 белых светиков
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
Всем привет. Друг попросил в его десятку подсветку приборки сделать, весной у нас соревнования по автозвуку, вот и готовится представлять свой магазин. На YouTube видел как паренек все организовал на mеga 16 для своей тойоты, но ссылочек нема. Сам новичок, шим собирал для одного двух диодов(для осовения, на этом все.). Схемку никто неподскажет для AVR?
- Реклама
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
регулировка их яркости свечения с кнопок двух, прибавлять и убавлять. после выключения зажигания(прекрашения питания) запоминалось состояние в каком была настроена яркость свечения, при новой подачи питания оставалась там же (т.е. память не энергозависимая).lix писал(а):что конкретно хочется? как должны эти 30 светодиодов светится?
т.е. все 30 светятся одинаково? тогда хватит attiny2313 или даже attiny13. схема проста - контроллер, ключ на транзисторе, несколько сопротивлений. если посмотреть другие схемы и чуть-чуть пофантазировать то можно и самому сделать 
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
да, все одинаково!lix писал(а):т.е. все 30 светятся одинаково? тогда хватит attiny2313 или даже attiny13. схема проста - контроллер, ключ на транзисторе, несколько сопротивлений. если посмотреть другие схемы и чуть-чуть пофантазировать то можно и самому сделать
вроде представляю как это сделать, теорию читал по avr...
схемку, от чего оттолкнуться, и в каком направлении думать, хотябы там тинька и транзюк?
сопротивление я так понимаю от ножки тиньки до транзистора(на базу) 1 кОм, второй резюк на коллектор и массу далее 10кОм? Транзюк ZXTN19020 содрал с одного проекта.....
- Реклама
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
надо сохранять в eeprom. она есть в МК. сохранять можно после изменения яркости.neid писал(а):ну и самое главное, как програмно запоминалось регулировка?
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
правильно человек предлогает!упите резюк подстроечный!на 1 килоом вроде хватит все зависит от светиков !всего лишь кренку подстроечную или просто резюк ахахаххаха на фига мк тратить?!Мурик писал(а):А зачем тут контроллер,одного переменного резистора хватит!
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
смешно)Мурик писал(а):А зачем тут контроллер,одного переменного резистора хватит!
есть такие балы как за организацию и интегрирование и внешний вид сие чуда, что и будет тож оцениваться в довесок к основным баллам за звук и качество звучания! это несомненно прибавит баллы! крутилкой не удивишь ни кого, а вот конопочки или энкодер(скажут как на магнитоле), привлечет судейскую симпатию(их политику знаем). Вообще не рассматриваем с точки зрения что проще.
Может тогда хотя бы RGB подсветку сделать? Взять энкодер со встроенной кнопкой. Кнопкой выбирать цвет, крутилкой - яркость. Как раз вышеупомянутой тиньки13 должно хватить. А то действительно глупо как-то ради элементарной регулировки яркости использовать МК.
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
вот набросал код, пока для 16 меги, мне ща принцип понять да и другой нет под руками. гляньте по eeprom?(читал CodeVision AVR Пособие для начинающих. Лебедев, глава Доступ к EEPROM-памяти)
Код: Выделить всё
#include <mega16.h>
#include <delay.h>
// Declare your global variables here
eeprom int var_eep;
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=P State0=P
PORTA=0x03;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=0 State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x08;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 125,000 kHz
// Mode: Fast PWM top=FFh
// OC0 output: Non-Inverted PWM
TCCR0=0x6B;
TCNT0=0x00;
OCR0=var_eep;
while (1)
{
// Place your code here
if((PINA.0==0)&(OCR0!=0xff)) // увеличивать пока не достигло максиума
{
delay_ms(10); // задержка 10 мс.
OCR0+=1; //увеличиваем заполнение
}
if((PINA.1==0)&(OCR0!=0x00)) // уменьшать пока не достигло миниума
{
delay_ms(10); // задержка 10 мс.
OCR0-=1; //уменьшаем заполнение
}
var_eep=OCR0;
};
}
я не в курсе как там в CVA, но сохранять значение надо только тогда, когда оно изменилось. и лучше сделать задержку записи, т.е. подождать и если значение более не меняется сохранять в eeprom. количество циклов записи ограничено, всего 100000 раз.
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
так и сделал в цикле после условий var_eep=OCR0... или нет? в протусе будет работать хочу прогнать пока там?lix писал(а):я не в курсе как там в CVA, но сохранять значение надо только тогда, когда оно изменилось. и лучше сделать задержку записи, т.е. подождать и если значение более не меняется сохранять в eeprom. количество циклов записи ограничено, всего 100000 раз.
да про ограниченность записи читал. т.е. перезапись каждый раз при изменении будет, и при подачи и отключении питания?
как ожидание организавать на изменение занчения, через if двойной? елси к примеру OCR0=200, то ждем сколько времени и еще раз если 200 то записываем?
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
neid писал(а):крутилкой не удивишь ни кого
Разве энкодер это не крутилка?neid писал(а):энкодер(скажут как на магнитоле)
Сделайте на переменном резисторе и скажите что это типа такой энкодер как в магнитоле.
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
поглумился, и хватит... смотри на красну икру на ветрине лучше)))Мурик писал(а):neid писал(а):крутилкой не удивишь ни когоРазве энкодер это не крутилка?neid писал(а):энкодер(скажут как на магнитоле)![]()
Сделайте на переменном резисторе и скажите что это типа такой энкодер как в магнитоле.
Делай уж тада емкостной сенсор! Рукой по приборке провел, яркость изменилась ) Вот этим точно привлечешь внимание. А у АВР готовые исходники есть и схемы, там элементов то раз два и обчёлся. По коду не сильно сложнее энкодера.
Автоматическая регулировка круче...Fasterpast писал(а):Делай уж тада емкостной сенсор!
фотодиод/фоторезистор/фототранзистор-АЦП-ШИМ-ключ на транзисторе - все...
причем если в еепроме создать пересчетную таблицу АЦП-ШИМ, то можно любые зависимости забабахать:
хош - линейную
хош - логарифмическую
хош - квадратурную
ну и т.д.
Ну если уж автор хочется выпендриться, я бы сделал и то и другое 



