ARDUINO - Atmega328
- Войдите на сайт для отправки комментариев
Знатоки, присоветуйте, пожалуйста.
Сделал программу в ARDUINO IDE. Управляем WS2812 лентой.
Пока жду ARDUNINу из Китая, все загнал в Протеус. Работает.
Пока суть да дело, пробую перегнать на "голый" МК. Для простоты взял ATMega328 - как в Ардуине.
Предполагаестя, что с фьюзами разобрался, потому как в программе помимо управления WS2812 есть простой светодиод - мограет он при нажатии на некотрые кнопки. Так вот, он моргает (в Протеусе), как запрограммировано. Более того, когда делишь фьюзами частоту на 8, он моргает соответственно в восемь раз реже. Т.е., вроде, работает. Но WS-ы не работают при старте и запуске ленты (опять же - по окнопкам) лента заливается белым цветом. Я ж правильно понимаю, что если есть НЕХ, сделанный IDE, то он и в Африке НЕХ? Ну сильно не оптимальный, ну и НЕХ с ним. :-) Может просто не париться и сделать уже реальную схему? Но интерес спортивно-практический - как обычно, хочется элегантной микро платки, а не пихать всю Ардуину, и в Протеусе собой погордиться. :-) Да, в Протеусе проблема с запуском от внешнего кварца - 16 Мгц, но выставил внутренний генератор на 8Мгц - указанный выше ЛЕД прекрасно работает при этих условиях. Мож я чего-то еще не "дофьюзил" или еще где покопаться?
А.
Боюсь, что в протеусе не указанный , а идеальный лед.
В исходниках библиотек под пиксели множество вариантов выводящего кода - под кажную частоту расчитанного. Чуть в сторону частота уплыла и начинается цирк.
Не совсем понял, про лед. Но он взят точно такой же, как в схеме с Ардуино. Т.е.. вообще взял схему с Ардуино и Ардуину заменил на Мега328.
Про частоту понял. Но вот размышляю. В Ардуино частота... хм, даже не знаю, наверно 16 Мгц?
Во всяком случае, я ничего по частоте не менял в настройках Ардуино, если вообще частота меняема (говорим только о виртуальном - Протеус).
И в исходнике нигде частота не указывается. Ну разве что она где-то по умолчанию "сидит" в IDE? Тогда.. Хм, ну и что тогда? Тут знаний не хватат. Инициализируется WS лента, ну и пускай себе, не видал, что она где-то опирается на частоту МК. Мож зря не видал? В общем, пока домыслил до того, что раз 16 Мгц в Протеусе не задать, надо ваять в реале. Или мож еще чего подскажете? А то руки чешутся, а посылка с Ардуинами все идет идет идет... :-)
И спасибо Вам за ответ.
В Ардуино нет частоты, это платформа. МК, опираясь на который, компилятор определит тот или иной способ вывода на ленту, выбирается перед компиляцией. Он может и 16мгц быть и 8мгц, и еще всякое. Соответсвенно - будут разные HEX-ы под эти частоты.
Идеальный LED - лишенный недостатков физического. Например, как связь между компонентами с нулевым сопротивлением и без подверженности наводкам. Поэтому - то, что работает идеально в протеусе, в железе может пофейлиться.
Правда, я не совсем понял, где лента заливается белым - на реальном МК, который с 16мгц кварцем и правильными фьюзами?
И в исходнике нигде частота не указывается. Ну разве что она где-то по умолчанию "сидит" в IDE? Тогда.. Хм, ну и что тогда? Тут знаний не хватат. Инициализируется WS лента, ну и пускай себе, не видал, что она где-то опирается на частоту МК. Мож зря не видал? В общем, пока домыслил до того, что раз 16 Мгц в Протеусе не задать, надо ваять в реале. Или мож еще чего подскажете? А то руки чешутся, а посылка с Ардуинами все идет идет идет... :-)
Весь протокол работы с этой лентой опирается на частоту МК. Поэтому, лучше стабилизировать кварцем, не факт что на внутреннем резонаторе все будет нормально. Мне попадались чипы, которые отказывались общаться с сериал портом от внутренних 8мГц. ИМХО.
Заливается белым в Протеусе. До реальной схемы пока не добрался. И тот лед моргает свою работу в нем же. Моргает правильно, все как в коде было сделано.Из этого делаю вывод, что, в принципе, Мега328 НЕХ принял. Другое дело, что при заданных для Мега 328 8 Мгц он моргает с такой же частотой, как было задумано в программе для Ардуино, а там подразумеваем, что 16 Мгц. Но что-то не задалось с WS-ами. Услышав Вами сказанное: "МК, опираясь на который, компилятор определит тот или иной способ вывода на ленту, выбирается перед компиляцией. Он может и 16мгц быть и 8мгц, и еще всякое. Соответсвенно - будут разные HEX-ы под эти частоты." очень вероятно, что все же частоту надо выставлять 16 Мгц. На Ардуине-то стоит на плате кварц на 16. Ну это так, рассуждения в качестве самообразования. На практике наверно надо прошивать реальный МК и уже с ним "плясать" с бубнами фьюзами. Протеус тоже тот еще гаврик. :-)
Ну да, в ответе Sadman-у поразмышлял насчет тактовой. Когда доберусь до реального МК, планирую ставить кварц на 16. Но, как я понял, не факт, что Ардуиновский МК работает на 16 Мгц? Ну не то, что работает, но где он там ее (частоту) на что поделил/не поделил, основываясь на коде, никому не известно?
Ну почему же неизвестно? Компилировать он будет под указанный загрузчик, а загрузчик опирается на установленные фузы.
Ещё раз: нет ардуиновского МК. Есть 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 и суньте своему протеусу.
О, супер. Разъяснили чайнику. Это для меня новое. Спасибо большое. Ща попробую.
А.
Ну, как там было у классиков - уррааа, зарабооталооо! :-)
Спасибо Вам огромное. И Sadman и BVM.
Если интересно, вот ОНО (для сынули делаю, поэтому Вам МИЛЛИАРД благодарностей): https://mega.nz/#!R65hDKAK
Ну если вдруг будете в наших краях (Рига) - реальное пиво с меня. :-)
Андрей.
без пароля:
https://mega.nz/#!ciJ32KQa!8WPVCRtXWH7h8yHzFhfkJYTuEV9f4VSBFgxXhO8Goas
без пароля:
https://mega.nz/#!ciJ32KQa!8WPVCRtXWH7h8yHzFhfkJYTuEV9f4VSBFgxXhO8Goas
А сможете помочь посмотреть в протеусе схему двух тонального генератора, интересует та часть, что выполнена на операционном усилителе, в частности если применить LM358?
Ну если вдруг будете в наших краях...
Из серии "приезжайте к нам на Колыму.")
Ну если вдруг будете в наших краях...
Из серии "приезжайте к нам на Колыму.")
нет, это из серии выпить настоящего пивасика )))
Только сегодня озвучил сыну, что КВВК Арарат современной трактовки к коньяку не имеет никакого отношения )))
А можете скинуть этот код без номеров строк?
Ну и Вашу схему с Ардуино
Допер, что вы спрашивали :-)
Так глубоко Протеусом не владею. Ди кажись, он больше под цифру "заточен".
Мысли вслух: поробуйте NI Multisim.
В отличие от Протеуса он как-то стабильнее показывет осциллограммы.
Только сегодня озвучил сыну, что КВВК Арарат современной трактовки к коньяку не имеет никакого отношения )))
Я современную трактовку не знаю, но Арарат запомнил с детства.)
Только сегодня озвучил сыну, что КВВК Арарат современной трактовки к коньяку не имеет никакого отношения )))
Я современную трактовку не знаю, но Арарат запомнил с детства.)
Только сегодня озвучил сыну, что КВВК Арарат современной трактовки к коньяку не имеет никакого отношения )))
Я современную трактовку не знаю, но Арарат запомнил с детства.)
я не о названии, о содержании напитка )))
В современной трактовке все, что производится за пределами провинции Коньяк, - коньяком называться не может. Следовательно - бренди.
Типа, авторские права, понимаю. Ну тогда и шампанское, наверно, тоже.)
В современной трактовке все, что производится за пределами провинции Коньяк, - коньяком называться не может. Следовательно - бренди.
Типа, авторские права, понимаю. Ну тогда и шампанское, наверно, тоже.)
Есть такой прикол: "Советское шампанское".
В современной трактовке все, что производится за пределами провинции Коньяк, - коньяком называться не может. Следовательно - бренди.
Типа, авторские права, понимаю. Ну тогда и шампанское, наверно, тоже.)
Только не "авторские права", а "торговая марка". Что, в общем-то, гораздо хуже, т.к. не имеет ограничения по срокам.
Кстати "Советское шампанское", единственное, на которое французы дали добро на использование брэнда.
Так, тут "Остапов понесло" :-)
Ребят, я по делу и не к месту, наверное: понимаю, тут форум ардуино. Но со вчерашнего днея "гуглю" - ни фига не нашел - мож кто "под шампанское" знает, как добавить библиотеку в Атмел Студио? В частности, lght_WS2812 - охота загрузить усе в Атмега13, а это (оправдываюсь) уже никак не Ардуино, т.е., Ардуиновский скетч скорее всего потом не запихнется в Тини.
Кстати "Советское шампанское", единственное, на которое французы дали добро на использование брэнда.
В тиньке же памяти под 10 пикселей только, насколько мне помнится.
Кстати "Советское шампанское", единственное, на которое французы дали добро на использование брэнда.
Сейчас, возможно, но при СССР оно шло на экспорт с их согласия, по другому было нельзя.
То ТС, без обид, нельзя впихать невпихуемое.
Да, много не влезет, вот сделал человек http://samopal.pro/ws2812-attiny13a/, там 15 ледов, метеор летит. но
мне надо простотсдедать «лампочку» на одном, двух, трехтпикселях чтобы просто перебирала
цвета по кругу. Да, можно на простом RGB диоде, но мы ж увимся-играемся. :)Но библиотека как-то не запускается. Закидываю ее в фолдер (ну и рядом), где проект, ошибки при копиляции дают понять, что хhttp://samopal.pro/ws2812-attiny13a/отя бы #include действует - видит библиотеку, но чета пще не хватает.
Так, граждане сомелье :DD, кто-нить че-нить сечет в Атмелстудио?
Так, граждане сомелье :DD, кто-нить че-нить сечет в Атмелстудио?
название до боли знакомое )))
ОК, мож кто-нить хотя бы какой форум присоветует Атмеловский?