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

Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 10:33:34
ATtiny13
Помогите найти прошивку или написать ее вот видео http://www.youtube.com/watch?v=XilqyIiCNTM
Простая схема и есть где ее использовать и имею много ATtiny13a
Искал в интернете прошивку но не нашел :( поэтому прошу помочь в создании ее
1. 25%
2. 50%
3. 100%
4. Flashing
5. Emergency
6. Strobe
7. S.O.S.

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 10:42:04
pyzhman
Достучаться до ploop'а.

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 10:44:58
ATtiny13
Достучаться до ploop'а.

не понял? :(

попросить ploop'а ?

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 10:49:09
Мастер Ломастер
да сами напишите - там делов-то! На Си 20 строчек.

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 10:54:00
pyzhman
2Мастер Ломастер: хочу уже увидеть эти 20 строчек. :)
2ATtiny13: чтож, язык не отвалится.

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 10:54:14
ATtiny13
#include <tiny13.h>
#include <delay.h>

void main(void)
{

DDRB = 0xFF;
DDRB.5=0x00;
while (1 == 1) {
if (PINB.5 == 1)
{
програма
}
}
};
как-то так?
а как сделать яркость 25%, 50%, 100%?

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 10:57:04
ATtiny13
pyzhman
чтож, язык не отвалится.
К чему это?

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 11:06:10
pyzhman
ATtiny13 писал(а):попросить ploop'а

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 11:07:05
ATtiny13
Понял

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 11:17:49
Мастер Ломастер
ATtiny13 писал(а):как-то так?
да, грубоприблизительно так
ATtiny13 писал(а):а как сделать яркость 25%, 50%, 100%?
режим FastPWM таймера
pyzhman писал(а):Мастер Ломастер: хочу уже увидеть эти 20 строчек.
от меня хотите их получить?!

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 12:11:41
ATtiny13
#include <tiny13.h>
#include <delay.h>

void main(void)
{
{
DDRB = 0xFF;
DDRB.5=0x00;
while (1 == 1) {
if (PINB.5 == 1)


PORTB.2=1;
delay_ms(10);

PORTB.2=0;
delay_ms(100);//8режим
}
}
};
Не знаю как сделать яркость разную. Не знаю как сделать переключение кнопкой.
Задержки здесь достаточно? чтобы было как на видео?

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 12:52:32
pyzhman
Мастер Ломастер писал(а):от меня хотите их получить?!
Я? Не хочу. Хочу увидеть подтверждение слов
Мастер Ломастер писал(а):На Си 20 строчек.
:)

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 13:59:06
urry
у меня около 50 строчек заняла обработка прерывания таймера для программного шим на 16 каналов - туда входит вращение входного массива на 90 градусов и чтение очередной порции из массива рисунка.

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 15:04:58
Мастер Ломастер
urry писал(а):у меня около 50 строчек заняла обработка прерывания таймера для программного шим на 16 каналов - туда входит вращение входного массива на 90 градусов и чтение очередной порции из массива рисунка.
вот-вот :) тем более что в Си можно хоть какой исходник записать в одну строчку :))) ну будет в крайнем случае 20 ооооооочень длинных строк - и чо?

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 15:10:24
ploop
pyzhman писал(а):Достучаться до ploop'а.
Таааак, pyzhman, держись! В следующую тему тебя порекомендую! :)))

ATtiny13
, я смотрю, прогресс есть. У вас всё получится!

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 15:24:42
ChipKiller
ATtiny13 писал(а):а как сделать яркость 25%, 50%, 100%?
.. для начала выкинуть половину (а может и все :) ) delay_ms

Код: Выделить всё

TCCR0A=(1<<COM0B1|1<<COM0A1|1<<WGM01|1<<WGM00);
.....
OCR0A=0x80;	// 50%
OCR0B=0x40;	// 25%
.....

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 15:39:57
Engineer_Keen
Мастер Ломастер писал(а):вот-вот :) тем более что в Си можно хоть какой исходник записать в одну строчку :))) ну будет в крайнем случае 20 ооооооочень длинных строк - и чо?
Не обязательно в Си, у меня это прога влезла в 47 строк редактора и две сотни байт памяти :wink: (естественно АСМ)
Я мог и в одну строчку написать, но неудобно переходы без меток считать :)))

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 16:46:54
ATtiny13
Спасибо :))
Ткните пальцем пожалуйста где вставить в код :shock:

TCCR0A=(1<<COM0B1|1<<COM0A1|1<<WGM01|1<<WGM00);

OCR0A=0x80; // 50%
OCR0B=0x40; // 25%

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 17:09:20
urry
как бы идея в том, чтобы расширить количество каналов в регулировке.
Для ШИМ выделено пару ножек, а нужно - 8 или 16.
В этом случае лучше применить программный ШИМ, благо частоты не запредельные - достаточно 100 Герц, чтобы не было заметно мерцания светодиодов.
Сама идея программного ШИМа заключается в следующем - можно получить 256 степеней градации, используя 1 таймер и перестраивая время его срабатывания.
Существует английская аббревиатура этого метода, но я ее забыл.
Общий период - скажем, 10 мс - делится на неравные части, соответствующие весу разрядов выдаваемого числа.
Например, пусть будет значение яркости - число 128 0b10000000
Это соответствует половинной яркости. В этом случае из 10 мс светодиод 5 мс должен гореть, а 5 нет .
Самый первый отсчет таймера - будет 5 мс.
Четвертинное значение яркости число 64 0b01000000 - 2.5 мс светодиод должен гореть, а 7.5 - нет
Второй отсчет таймера - 2.5 мс, третий отсчет - 1.25 мс и так до самого младшего разряда.
Всего по 8 срабатываниям таймера мы можем представить диапазон яркости - 256 значений.

Теперь - как выдавать число на порты.
пусть у нас 8 каналов - в каждом записано 0b10000000
Они должны гореть 5 мс - первое срабатывание таймера.
Для того, чтобы это выдать в порт, достаточно байты во входном массиве развернуть на 90 градусов
Пример - было
0b10000000
0b10000000
0b10000000
0b10000000
0b10000000
0b10000000
0b10000000
0b10000000
Стало
0b11111111
0b00000000
0b00000000
0b00000000
0b00000000
0b00000000
0b00000000
0b00000000

По 1 срабатыванию таймера выдаем единицы, по остальным -0
Таким образом, светодиоды горят 5 мс

Re: Помогите найти прошивку или написать ее.(ATtiny13)

Добавлено: Пт апр 06, 2012 19:08:18
ATtiny13
Спасибо очень доходчиво обєснили :)
вот нашол такой проектик http://cxem.net/mc/mc104.php