Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
02.03.2013, 12:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Бегущая строка
Что бы управлять цветом совсем по взрослому, то используются статические матрицы с драйверами, внутри которых 16 или 24 шима.
Т.е. на 8 пиксел 3Х16 или 1Х24 драйверов.
С простыми драйверами цвет делается программно.
Допустим, хотим иметь 4 бита на цвет. (4096 цветов)
Тогда кадр делим на 4 подкадра с длительностями Т, 2Т, 4Т, 8Т
где Т= Время кадра /15
А далее все просто, в каждом подкадре включется диод, если бит цвета с номером, равным номеру подкадра равен 1, иначе диод выключается
|
|
|
|
02.03.2013, 12:22
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Бегущая строка
Сообщение от miwutka
|
и как потом добавить температуру temp="24 C" в нужное место в строке...?
|
Вопрос этот появляется удивительно часто, неужели такой трудный? Повторю ссылку... Остается только под int переделать ( signed!)
______________________________________________
Fw: А ATMega8 у тебя всё та же, что и по ссылке?
__________________
There's always more than one way to skin a cat.
Последний раз редактировалось tempora; 02.03.2013 в 12:29.
|
|
|
|
02.03.2013, 12:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Бегущая строка
Сообщение от miwutka
|
надо будет прикупить RGB матрицу и попробовать.........
|
Заодно и Мегу на что-нибудь посерьёзней в плане памяти.
Хотя, если вспомнить старый-добрый спектрум...
|
|
|
|
02.03.2013, 12:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Бегущая строка
Я перехожу на STM32F051, и STM32F405, в зависимости от функций.
|
|
|
|
02.03.2013, 12:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Бегущая строка
Имел в виду Inc/Paper по маске как на speccy. Здорово экономит память, тем более, что здесь не телевизор.
|
|
|
|
04.03.2013, 00:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Бегущая строка
Мужики я вас уже замучал )) Вот собрал РГБ-светодиоды. посабил их общий + на регистры, а минусы запаралелил и через транз NPN к МК на ШИМ. Всего светодиодов 15 шт через 2 регистр асдвига. Хочу чтобы они одновременно светились, но каждый своим цветом и не моргали. Получилось сделать так но плохо. Вместо одного засвечиваеться и рядом стоящий.И они все дрожат... Гляньте плиз код. Что сделал не так? И еще хотелось бы сделать каждому светодиоду скорость выключения свою, например по кнопке... Но это уже в самом конце подмаю....
|
|
|
|
04.03.2013, 00:46
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: Бегущая строка
miwutka, код не смотрел, но в динамике есть необходимость тушить ВСЕ перед тем как зажечь следующий кадр
|
|
|
|
04.03.2013, 00:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Бегущая строка
Сообщение от whoim
|
miwutka, код не смотрел, но в динамике есть необходимость тушить ВСЕ перед тем как зажечь следующий кадр
|
PHP код:
|
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{ //TCNT0=165;
// Place your code here
for(i=0; i‹=15; i++ )
{
if(LED==i)
{
DATA = 1;
}
else
{
DATA = 0;
};
CLOCK = 1; // задвигаем бит
CLOCK = 0;
};
OE=1; // выключение матрицы, что б не было паразитного свечения диодов при переключении строк
LATCH = 1; // Защелка в регистрах
LATCH = 0;
RED=red[LED];
GREEN=green[LED];
BLUE=blue[LED];
OE = 0; // включаем матрицу.
LED++;
if (LED›15) LED=0;
}
|
таймер 125000 Гц...
а вот так выбираю нужный диод и выставляю цвет...
PHP код:
|
if ((PIND.5==0)&&(sw1_state==0)) {Enter_LED++;sw1_state=1;PORTB.0^=1;};
if ((PIND.5==1)&&(sw1_state==1)) sw1_state=0;
if (Enter_LED›15) Enter_LED=0;
if (PIND.6==0)
{ sw2_state=1;PORTB.0^=1;
switch (M)
{
case 1: red[Enter_LED]++; if (red[Enter_LED]==255) M=2;break;
case 2: green[Enter_LED]++; if (green[Enter_LED]==255) M=3; break;
case 3: red[Enter_LED]--; if (red[Enter_LED]==0) M=4; break;
case 4: blue[Enter_LED]++; if (blue[Enter_LED]==255) M=5; break;
case 5: green[Enter_LED]--; if (green[Enter_LED]==0) M=6; break;
case 6: red[Enter_LED]++; if (red[Enter_LED]==255) M=7; break;
case 7: blue[Enter_LED]--; if (blue[Enter_LED]==0) M=8; break;
case 8: red[Enter_LED]--; if (red[Enter_LED]==0) M=9; break;
case 9: red[Enter_LED]++;green[Enter_LED]++;blue[Enter_LED]++; if ((red[Enter_LED]==255)&&(green[Enter_LED]==255)&&(blue[Enter_LED]==255)) M=10; break;
case 10: red[Enter_LED]--;green[Enter_LED]--;blue[Enter_LED]--; if ((red[Enter_LED]==0)&&(green[Enter_LED]==0)&&(blue[Enter_LED]==0)) M=1;break;
};
};
if ((PIND.6==1)&&(sw2_state==1)) sw2_state=0;
delay_ms(5);
|
что не так....?
|
|
|
|
04.03.2013, 00:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,984
Сказал спасибо: 0
Сказали Спасибо 4,943 раз(а) в 2,371 сообщении(ях)
|
Re: Бегущая строка
Сообщение от miwutka
|
И еще хотелось бы сделать каждому светодиоду скорость выключения свою, например по кнопке
|
а ышо (глядя на потолок и выпуская колечки дыма) - я б от АЦП регулирование скорости устроил - по пятницам
|
|
|
|
04.03.2013, 01:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
|
Re: Бегущая строка
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:52.
|
|