Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить

Re: Новогодняя звездочка !

Пт авг 23, 2019 19:04:00

я нет

Re: Новогодняя звездочка !

Пт авг 23, 2019 20:42:16

у меня тоже не получается, AS6.2 ругается(ошибок много)

Re: Новогодняя звездочка !

Вс авг 25, 2019 00:08:40

а в чем проблема пишите в CodeVisionAVR 3.12 http://radioaktiv.ru/loads/softf/compil ... r-312.html
точнее подставляй циферки получится эффект
Спойлерvoid view_flasher_1(void) {
int i,j;
for (j =0; j<h;++j){

for (i =0; i<9;++i){

unsigned int A[] = {8,5,2,5,8,5,2,5,8};
unsigned int B[] = {8,5,2,5,8,5,2,5,8};
unsigned int C[] = {8,5,2,5,8,5,2,5,8};
unsigned int D[] = {8,5,2,5,8,5,2,5,8};
unsigned int E[] = {8,5,2,5,8,5,2,5,8};

digit_out[0] = A[i];
digit_out[1] = B[i];
digit_out[2] = C[i];
digit_out[3] = D[i];
digit_out[4] = E[i];

view_yarkost();
delay_ms(ff);
}

}
view_pauza();
}

если интересно могу подробнее :)))

Re: Новогодняя звездочка !

Ср сен 25, 2019 15:28:47

если интересно могу подробнее :)))

очень даже интересно

Re: Новогодняя звездочка !

Ср сен 25, 2019 19:25:54

что именно не получается, не понятно?
что подробнее пояснить?

Re: Новогодняя звездочка !

Пт сен 27, 2019 18:21:39

что именно не получается, не понятно?
что подробнее пояснить?

хотелось-бы ещё эффектов добавить
Вложения
ZveZda.7z
(3.36 KiB) Скачиваний: 339
ZveZda.zip
(2.64 KiB) Скачиваний: 335

Re: Новогодняя звездочка !

Чт окт 24, 2019 08:05:08

Если кому надо, то вот прошивка с добавленными эффектами, о которых выше писали. Спасибо автору конструкции, а так же разработчику эффектов!
Вложения
ZveZda.hex
(13.19 KiB) Скачиваний: 364

Re: Новогодняя звездочка !

Пн ноя 18, 2019 08:42:11

Serzh2000, будет ли новая прошивка с новыми эффектами или может подправленная? Если внимательно присмотреться в некоторых эффектах есть небольшие недочёты. Сам к сожалению так и не понял как строится световой эффект. А то уже до Нового года немного осталось.

Re: Новогодняя звездочка !

Пн ноя 18, 2019 18:42:10

сейчас много времени уходит на ремонт квартиры, да к тому же хочется доделать гирлянду
https://sites.google.com/view/digiscript/
https://www.youtube.com/watch?v=8Nf_tWu ... e=youtu.be
https://www.youtube.com/watch?v=ShQiqVyB1lY&t=25s

Добавлено after 46 minutes 37 seconds:
а как еще помигать светиками в звезде придумайте, а я впишу
или лучше Вас научу! :))) ничего сложного :kill:

открываете программу CVavr
на ходите такие строки
// ---------- рабочая часть ----------
while (1) {
view_flasher();
view_flasher_1();
view_flasher_2();
view_flasher_3();
view_flasher_4();
view_flasher_5();
view_flasher_6();
view_flasher_7();
view_flasher_8();
view_flasher_9();
view_flasher_10();
view_flasher_11();
view_flasher_12();
view_flasher_13();
//пишите сюда скажем 14 эффект
view_flasher_14();
}; // ---------- рабочая часть (end) ----------

готово !
теперь пишем сам эффект №14! :music:

снова находи где закончился предыдущий
// ----------

void view_flasher_13(void) {
int i,j;
for (j =0; j<h;++j){

for (i =0; i<10;++i){

unsigned int A[] = {15, 8, 8, 8, 8,15, 8, 8, 8, 8};
unsigned int B[] = { 8,15, 8, 8, 8, 8,15, 8, 8, 8};
unsigned int C[] = { 8, 8,15, 8, 8, 8, 8,15, 8, 8};
unsigned int D[] = { 8, 8, 8,15, 8, 8, 8, 8,15, 8};
unsigned int E[] = { 8, 8, 8, 8,15, 8, 8, 8, 8,15};


digit_out[0] = A[i];
digit_out[1] = B[i];
digit_out[2] = C[i];
digit_out[3] = D[i];
digit_out[4] = E[i];

yarkost=255;
view_yarkost_ubyvanie();
delay_ms(ff);
}

}
view_pauza_1();
}

и пишем
// ----------

void view_flasher_14(void) { // название эффекта
int i,j;
for (j =0; j<h;++j){ не важно

for (i =0; i<5;++i){ 5 это сколько кадров

unsigned int A[] = {1,0,0,0,0}; 1 луч звезды
unsigned int B[] = {0,2,0,0,0}; 2 луч звезды
unsigned int C[] = {0,0,4,0,0}; 3 луч звезды
unsigned int D[] = {0,0,0,8,0}; 4 луч звезды
unsigned int E[] = {0,0,0,0,15}; 5 луч звезды


digit_out[0] = A[i]; остальное не важно без изменения
digit_out[1] = B[i];
digit_out[2] = C[i];
digit_out[3] = D[i];
digit_out[4] = E[i];

yarkost=255;
delay_ms(f);
}

}
view_pauza();
}


вот и все готов эффект!!!
нажимаешь Ctrl+F9 прошивка готова
можешь прошить атмегу8 или посмотреть эффект в пртеусе



1кадр- 1 луч загорится 1светик остальные лучи не светятся
смотри вертикальный первый столбик
unsigned int A[] = {1,
unsigned int B[] = {0,
unsigned int C[] = {0,
unsigned int D[] = {0,
unsigned int E[] = {0,

2кадр- 2 луч загорится 2светик остальные лучи не светятся
смотри вертикальный второй столбик
unsigned int A[] = {1,0,
unsigned int B[] = {0,2,
unsigned int C[] = {0,0,
unsigned int D[] = {0,0,
unsigned int E[] = {0,0,

3 и 4 кадрах догадайся какие светики светятся и в каких лучах

5 кадр в 5 луче светятся все светодиоды остальные лучи не горят


почему так
DDRD=0b00001111; //порт D не вдаваясь в подробности 1,2,3,4 нога подключены к светодиодам
в луче у порта ноги считаются с право налево 0b00001111 где единица светодиод будет светится
то есть весь луч светится если так 0b00001001 первый и четвертый светик в ЛУЧЕ светится второй и третий нет
так писать можно ,но не удобно
0b00001111
8421
скажем это вес единичек чтобы засветить первый и четвертый 8+1=9 вот мы и пишем 9 в нужном нам луче


Вложения
ZveZda14эффект.rar
(860.62 KiB) Скачиваний: 290

Re: Новогодняя звездочка !

Ср ноя 20, 2019 15:01:13

belokota вы про двоичная система счисления слышали ?

попробую на пальцах
00001111- ноги атмеги порт D четыре светодиода подключены с права налево считать
------8421

то есть
1 светодиод =1
2 светодиод =2
3 светодиод =4
4 светодиод =8

включим 1и2 надо цифру 3 написать

в каком луче? скажем 5
unsigned int A[] = {0,
unsigned int B[] = {0,
unsigned int C[] = {0,
unsigned int D[] = {0,
unsigned int E[] = {3,

получилось вся звезда не светится кроме двух светодиодов 1 и 2 в пятом луче



включим 3 и 4 надо цифру написать 12 (3 светодиод =4 , 4 светодиод =8 4+8=12)

в каком луче? скажем 2
unsigned int A[] = {0,
unsigned int B[] = {12,
unsigned int C[] = {0,
unsigned int D[] = {0,
unsigned int E[] = {0,

получилось вся звезда не светится кроме двух светодиодов 3 и 4 в втором луче


включим 2 и 4 надо цифру написать 10 (2 светодиод =2 , 4 светодиод =8 2+8=10)

в каком луче? скажем 2
unsigned int A[] = {0,
unsigned int B[] = {10,
unsigned int C[] = {0,
unsigned int D[] = {0,
unsigned int E[] = {0,

получилось вся звезда не светится кроме двух светодиодов 2 и 4 в втором луче


включим 2 и 3 и 4 надо цифру написать 14 (2 светодиод =2 , 3 светодиод =4 , 4 светодиод =8 2+4+8=14)

в каком луче? скажем 2
unsigned int A[] = {0,
unsigned int B[] = {14,
unsigned int C[] = {0,
unsigned int D[] = {0,
unsigned int E[] = {0,

получилось вся звезда не светится кроме трех светодиодов 2, 3 и 4 в втором луче

включим 1 и 2 и 3 надо цифру написать 7 (1 светодиод =1 , 2 светодиод =2 , 3 светодиод =4 1+2+4=7)

в каком луче? скажем 2
unsigned int A[] = {0,
unsigned int B[] = {7,
unsigned int C[] = {0,
unsigned int D[] = {0,
unsigned int E[] = {0,

получилось вся звезда не светится кроме трех светодиодов 1, 2 и 3 в втором луче


включим 1 и 4 светодиод
в 1, 2 и 4 ЛУЧЕ надо цифру написать 9 (1 светодиод =1 , 4 светодиод =8 1+8=9)

в каком луче? скажем 1,2,4
unsigned int A[] = {9,
unsigned int B[] = {9,
unsigned int C[] = {0,
unsigned int D[] = {9,
unsigned int E[] = {0,

получилось вся звезда не светится кроме трех светодиодов 1, 2 и 4 в первом, втором и четвертом луче

пиши если не ясно

Re: Новогодняя звездочка !

Пт ноя 22, 2019 12:25:47

belokota
как дела, много написали эффектов? не пора похвалиться?

Re: Новогодняя звездочка !

Сб ноя 23, 2019 14:33:30

С приятелем немного разобрались и подправили некоторые эффекты(построение звезды 8-ой и 15-й), написали пару своих. Сейчас попробую вставить в исходник и скомпилировать. Но проверить смогу только в понедельник. Звезда на работе находится. Если что то получится, то обязательно выложу сюда.

Re: Новогодняя звездочка !

Сб ноя 23, 2019 14:53:12

Молодцы!

Re: Новогодняя звездочка !

Пн ноя 25, 2019 19:57:16

belokota
попробуйте 15 эффект :solder:
Вложения
ZveZda_15_sluchai.rar
(865.92 KiB) Скачиваний: 276

Re: Новогодняя звездочка !

Вт ноя 26, 2019 10:10:10

Вот, выкладываю свой вариант с добавленными эффектами (получилось 26), но без настроек яркости свечения светодиодов, вероятно, при таком применении её не особо нужно менять. Прошивка в папке Exe. Ещё я немного поменял фьюзы для повышения стабильности при включении и отключении питания (как мне кажется). В местах прошивки, где я что то менял есть комментарии. Огромное спасибо Serzh2000 за оказанное содействие!
Вложения
ZveZda+.rar
Исходник
(128.01 KiB) Скачиваний: 315

Re: Новогодняя звездочка !

Вт ноя 26, 2019 11:33:07

view_pauza(); // тут была пропущена пауза,может специально - не знаю



это после прохождения эффекта загоралась вся звезда и тухла типа один эффект кончился другой начался

// тут поменяли 15 на 0, чтобы в паузах вся звезда не горела


в этом нет смысла просто не пишите view_pauza(); звезда и не будет загораться

как вам объяснить, когда программа до ходит до view_pauza(); (это по сути тот же эффект только название я придумал ему такое)
программа находит эффект view_pauza(); и выполняет все что в нем написано , выполнив возвращается к тому месту от куда перепрыгнула.

думаю что понятно пояснил :shock: :))

Re: Новогодняя звездочка !

Вт ноя 26, 2019 11:42:23

Это я понял, и сделал, что бы в паузах звезда потухала, а сами паузы решил оставить. :))

Re: Новогодняя звездочка !

Вт ноя 26, 2019 13:38:54

так это не пауза это я ее так обозвал с таким же успехом можно обозвать ssylka() еще как

ели пауза нужна то надо delay_ms(f); f= 100- выше написано если в место f поставить цифру можно увеличить или уменьшить паузу

название(); это законченный кусок программы расписанный выше его исполнения
delay_ms(); тоже кусок прописан он в библиотеке в самом нчале
это для того чтобы не писать повторяющиеся куски несколько раз в программе. а написал название(); программа перепрыгнет где расписана
название(); выполнит ее и возвращается

к стати например
void view_flasher_14(void) { // название эффекта
int i,j;
for (j =0; j<h;++j){ не важно

for (i =0; i<5;++i){ 5 это сколько кадров

unsigned int A[] = {1,0,0,0,0}; 1 луч звезды
unsigned int B[] = {0,2,0,0,0}; 2 луч звезды
unsigned int C[] = {0,0,4,0,0}; 3 луч звезды
unsigned int D[] = {0,0,0,8,0}; 4 луч звезды
unsigned int E[] = {0,0,0,0,15}; 5 луч звезды


digit_out[0] = A[i]; остальное не важно без изменения
digit_out[1] = B[i];
digit_out[2] = C[i];
digit_out[3] = D[i];
digit_out[4] = E[i];

yarkost=255;
delay_ms(f);
}

}
view_pauza(); view_flasher_25(); // после выполнения 14 будет выполнятся 25(не помню по моему ваш 25 эффект ) звезда будет мигать всеми лучами
}

Re: Новогодняя звездочка !

Вт ноя 26, 2019 14:06:33

Мне было нужно, что бы между эффектами была пауза и ни один светодиод не горел гарантированно. Я и решил использовать это мини эффект "пауза".

Re: Новогодняя звездочка !

Вт ноя 26, 2019 14:20:07

понятно
изовсего эффекта view_pauza(); нужна для выполнения всего лишь строчка delay_ms(f);

наверно правильнее тогда и написать delay_ms(f);
Ответить