ARDUINO - Atmega328

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

Знатоки, присоветуйте, пожалуйста.

Сделал программу в ARDUINO IDE. Управляем WS2812 лентой.

Пока жду ARDUNINу из Китая, все загнал в Протеус. Работает.

Пока суть да дело, пробую перегнать на "голый" МК. Для простоты взял ATMega328 - как в Ардуине.

Предполагаестя, что с фьюзами разобрался, потому как в программе помимо управления WS2812 есть простой светодиод - мограет он при нажатии на некотрые кнопки. Так вот, он моргает (в Протеусе), как запрограммировано. Более того, когда делишь фьюзами частоту на 8, он моргает соответственно в восемь раз реже. Т.е., вроде, работает. Но WS-ы не работают при старте и запуске ленты (опять же - по окнопкам) лента заливается белым цветом.  Я ж правильно понимаю, что если есть НЕХ, сделанный IDE, то он и в Африке НЕХ? Ну сильно не оптимальный, ну и НЕХ с ним. :-) Может просто не париться и сделать уже реальную схему? Но интерес спортивно-практический - как обычно, хочется элегантной микро платки, а не пихать всю Ардуину,  и в Протеусе собой погордиться. :-) Да, в Протеусе проблема с запуском от внешнего кварца - 16 Мгц, но выставил внутренний генератор на 8Мгц - указанный выше ЛЕД прекрасно работает при этих условиях. Мож я чего-то еще не "дофьюзил" или еще где покопаться?

А.

 

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Боюсь, что в протеусе не указанный , а идеальный лед.

В исходниках библиотек под пиксели множество вариантов выводящего кода - под кажную частоту расчитанного. Чуть в сторону частота уплыла и начинается цирк.

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

Не совсем понял, про лед. Но он взят точно такой же, как в схеме с Ардуино. Т.е.. вообще взял схему с Ардуино и Ардуину заменил на Мега328.

Про частоту понял. Но вот размышляю. В Ардуино частота... хм, даже не знаю, наверно 16 Мгц?

Во всяком случае, я ничего по частоте не менял в настройках Ардуино, если вообще частота меняема (говорим только о виртуальном - Протеус).

И в исходнике нигде частота не указывается. Ну разве что она где-то по умолчанию "сидит" в IDE? Тогда.. Хм, ну и что тогда? Тут знаний не хватат. Инициализируется WS лента, ну и пускай себе, не видал, что она где-то опирается на частоту МК. Мож зря не видал?  В общем, пока домыслил до того, что раз 16 Мгц в Протеусе не задать, надо ваять в реале. Или мож еще чего подскажете? А то руки чешутся, а посылка с Ардуинами все идет идет идет... :-)

 

 

И спасибо Вам за ответ.

sadman41
Онлайн
Зарегистрирован: 19.10.2016

В Ардуино нет частоты, это платформа. МК, опираясь на который, компилятор определит тот или иной способ вывода на ленту, выбирается перед компиляцией. Он может и 16мгц быть и 8мгц, и еще всякое. Соответсвенно - будут разные HEX-ы под эти частоты.

Идеальный LED - лишенный недостатков физического. Например, как связь между компонентами с нулевым сопротивлением и без подверженности наводкам. Поэтому - то, что работает идеально в протеусе, в железе может пофейлиться.

Правда, я не совсем понял, где лента заливается белым - на реальном МК, который с 16мгц кварцем и правильными фьюзами?

bwn
Offline
Зарегистрирован: 25.08.2014

Andrejkarklins пишет:

И в исходнике нигде частота не указывается. Ну разве что она где-то по умолчанию "сидит" в IDE? Тогда.. Хм, ну и что тогда? Тут знаний не хватат. Инициализируется WS лента, ну и пускай себе, не видал, что она где-то опирается на частоту МК. Мож зря не видал?  В общем, пока домыслил до того, что раз 16 Мгц в Протеусе не задать, надо ваять в реале. Или мож еще чего подскажете? А то руки чешутся, а посылка с Ардуинами все идет идет идет... :-)

Весь протокол работы с этой лентой опирается на частоту МК. Поэтому, лучше стабилизировать кварцем, не факт что на внутреннем резонаторе все будет нормально. Мне попадались чипы, которые отказывались общаться с сериал портом от внутренних 8мГц. ИМХО.

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

Заливается белым в Протеусе. До реальной схемы пока не добрался. И тот лед моргает свою работу в нем же. Моргает правильно, все как в коде было сделано.Из этого делаю вывод, что, в принципе, Мега328 НЕХ принял. Другое дело, что при заданных для Мега 328 8 Мгц он моргает с такой же частотой, как было задумано в программе для Ардуино, а там подразумеваем, что 16 Мгц. Но что-то не задалось с WS-ами.  Услышав Вами сказанное: "МК, опираясь на который, компилятор определит тот или иной способ вывода на ленту, выбирается перед компиляцией. Он может и 16мгц быть и 8мгц, и еще всякое. Соответсвенно - будут разные HEX-ы под эти частоты." очень вероятно, что все же частоту надо выставлять 16 Мгц. На Ардуине-то стоит на плате кварц на 16.  Ну это так, рассуждения в качестве самообразования. На практике наверно надо прошивать реальный МК и уже с ним "плясать" с бубнами фьюзами. Протеус тоже тот еще гаврик. :-)

 

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

Ну да, в ответе Sadman-у поразмышлял насчет тактовой. Когда доберусь до реального МК, планирую ставить кварц на 16. Но, как я понял, не факт, что Ардуиновский МК работает на 16 Мгц? Ну не то, что работает, но где он там ее (частоту) на что поделил/не поделил, основываясь на коде, никому не известно?

bwn
Offline
Зарегистрирован: 25.08.2014

Ну почему же неизвестно? Компилировать он будет под указанный загрузчик, а загрузчик опирается на установленные фузы. 

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Ещё раз: нет ардуиновского МК. Есть Arduino Nano с ATMega328, работающим на 5V/16MHz, есть Arduino Mini Pro с ATMega328, работающим на 3.3V/8MHz. Там еще всякие Due... вообще 84Mhz. Но все они относятся к платформе Arduino, программируются в одном IDE. К тому же это IDE поддерживает всякие тиньки, ESP и других животных.

Вы выбрали в менюшке МК (например ATMega328 16Mhz), IDE незаметно в код подсунуло макрос #define F_CPU 16000000L или#define ARDUINO_AVR_MINI, в пиксельной либе под эти макросы куча блоков кода с условной компиляцией - в объектный код будет вкомпилирован только один вариант - который лежит под условием #if (F_CPU==16000000L), например. 

Выберите в IDE вариант с 3.3V/8MHz, компильните HEX и суньте своему протеусу.

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

О, супер. Разъяснили чайнику. Это для меня новое. Спасибо большое. Ща попробую.

А.

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

Ну, как там было у классиков - уррааа, зарабооталооо! :-)

Спасибо Вам огромное. И Sadman  и BVM.

Если интересно, вот ОНО (для сынули делаю, поэтому Вам МИЛЛИАРД благодарностей): https://mega.nz/#!R65hDKAK

Ну если вдруг будете в наших краях (Рига) - реальное пиво с меня. :-)

Андрей.

 

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Andrejkarklins пишет:

без пароля:

https://mega.nz/#!ciJ32KQa!8WPVCRtXWH7h8yHzFhfkJYTuEV9f4VSBFgxXhO8Goas

А сможете помочь посмотреть в протеусе схему двух тонального генератора, интересует та часть, что выполнена на операционном усилителе, в частности если применить LM358?

Green
Offline
Зарегистрирован: 01.10.2015

Andrejkarklins пишет:

Ну если вдруг будете в наших краях...

Из серии "приезжайте к нам на Колыму.")

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Green пишет:

Andrejkarklins пишет:

Ну если вдруг будете в наших краях...

Из серии "приезжайте к нам на Колыму.")


нет, это из серии выпить настоящего пивасика )))
Только сегодня озвучил сыну, что КВВК Арарат современной трактовки к коньяку не имеет никакого отношения )))

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

А можете скинуть этот код без номеров строк?

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

Ну и Вашу схему с Ардуино

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

Допер, что вы спрашивали :-)

Так глубоко Протеусом не владею. Ди кажись, он больше под цифру "заточен".

Мысли вслух: поробуйте NI Multisim. 

В отличие от Протеуса он как-то стабильнее показывет осциллограммы.

 

Green
Offline
Зарегистрирован: 01.10.2015

ua6em пишет:

Только сегодня озвучил сыну, что КВВК Арарат современной трактовки к коньяку не имеет никакого отношения )))

Я современную трактовку не знаю, но Арарат запомнил с детства.)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Green пишет:

ua6em пишет:

Только сегодня озвучил сыну, что КВВК Арарат современной трактовки к коньяку не имеет никакого отношения )))

Я современную трактовку не знаю, но Арарат запомнил с детства.)

В современной трактовке все, что производится за пределами провинции Коньяк, - коньяком называться не может. Следовательно - бренди.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

Green пишет:

ua6em пишет:

Только сегодня озвучил сыну, что КВВК Арарат современной трактовки к коньяку не имеет никакого отношения )))

Я современную трактовку не знаю, но Арарат запомнил с детства.)

В современной трактовке все, что производится за пределами провинции Коньяк, - коньяком называться не может. Следовательно - бренди.

я не о названии, о содержании напитка )))

Green
Offline
Зарегистрирован: 01.10.2015

andriano пишет:

В современной трактовке все, что производится за пределами провинции Коньяк, - коньяком называться не может. Следовательно - бренди.

Типа, авторские права, понимаю. Ну тогда и шампанское, наверно, тоже.)

SLKH
Offline
Зарегистрирован: 17.08.2015

Green пишет:

andriano пишет:

В современной трактовке все, что производится за пределами провинции Коньяк, - коньяком называться не может. Следовательно - бренди.

Типа, авторские права, понимаю. Ну тогда и шампанское, наверно, тоже.)

Есть такой прикол: "Советское шампанское".

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Green пишет:

andriano пишет:

В современной трактовке все, что производится за пределами провинции Коньяк, - коньяком называться не может. Следовательно - бренди.

Типа, авторские права, понимаю. Ну тогда и шампанское, наверно, тоже.)

Ты будешь смеяться, но - да, тоже.

Только не "авторские права", а "торговая марка". Что, в общем-то, гораздо хуже, т.к. не имеет ограничения по срокам.

bwn
Offline
Зарегистрирован: 25.08.2014

Кстати "Советское шампанское", единственное, на которое французы дали добро на использование брэнда.

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

Так, тут "Остапов понесло" :-)

Ребят, я по делу и не к месту, наверное: понимаю, тут форум ардуино. Но со вчерашнего днея "гуглю" - ни фига не нашел - мож кто "под шампанское" знает, как добавить библиотеку в Атмел Студио? В частности, lght_WS2812 - охота загрузить усе в Атмега13, а это (оправдываюсь) уже никак не Ардуино, т.е., Ардуиновский скетч скорее всего потом не запихнется в Тини.

SLKH
Offline
Зарегистрирован: 17.08.2015

bwn пишет:

Кстати "Советское шампанское", единственное, на которое французы дали добро на использование брэнда.

пожалуй, точнее будет "пока терпят"

sadman41
Онлайн
Зарегистрирован: 19.10.2016

В тиньке же памяти под 10 пикселей только, насколько мне помнится.

bwn
Offline
Зарегистрирован: 25.08.2014

SLKH пишет:

bwn пишет:

Кстати "Советское шампанское", единственное, на которое французы дали добро на использование брэнда.

пожалуй, точнее будет "пока терпят"

Сейчас, возможно, но при СССР оно шло на экспорт с их согласия, по другому было нельзя.
То ТС, без обид, нельзя впихать невпихуемое. 

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

Да, много не влезет, вот  сделал человек http://samopal.pro/ws2812-attiny13a/, там 15 ледов, метеор летит. но

мне надо простотсдедать «лампочку» на одном, двух, трехтпикселях чтобы просто перебирала 

цвета по кругу. Да, можно на простом RGB  диоде, но мы ж увимся-играемся. :)Но библиотека как-то не запускается. Закидываю ее в фолдер (ну и рядом), где проект, ошибки при копиляции дают понять, что хhttp://samopal.pro/ws2812-attiny13a/отя бы #include действует - видит библиотеку, но чета пще не хватает.

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

Так, граждане сомелье :DD, кто-нить че-нить сечет в Атмелстудио?

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Andrejkarklins пишет:

Так, граждане сомелье :DD, кто-нить че-нить сечет в Атмелстудио?

название до боли знакомое )))

Andrejkarklins
Offline
Зарегистрирован: 23.02.2019

ОК, мож кто-нить хотя бы какой форум присоветует Атмеловский?