Меню

Arduino nano в протеусе как установить

Эмуляция Arduino в Proteus

В прошлой статье мы с вами рассмотрели, чем Ардуино отличается от МК AVR, какие бывают типы Ардуино, а также научились устанавливать драйвер последовательного порта CH340G на Ардуино. Как я уже говорил, в наших статьях мы будем рассматривать китайские варианты Ардуино, собранные на микросхеме CH340G.

На оригинальных Ардуино используются уже совсем другие микросхемы последовательного порта.

Что эта за микросхема CH340G, и для чего она установлена на плату? Если говорить упрощенно, это своего рода встроенный программатор для связи Ардуино с ПК. Плюсы такого решения в том, что нам достаточно просто подключить Ардуино к ПК стандартным USB кабелем и можно будет залить “скетч”. То есть прошить Ардуинку программой. Скетч – это просто код программы, который мы можем по USB кабелю залить в микросхему на нашей плате Ардуино. Тупо устанавливаем дрова, цепляем Ардуинку через USB-кабель, пишем программу, заливаем ее в один клик и ВСЕ! Красота!

Конечно можно! Для этого на Ардуинке есть специальные выводы для прошивки МК, на которой она собрана:

Распиновка выглядит вот так:

Ну а далее действуем как обычно: шьем наш МК. Как это сделать, можно прочитать в этой статье.

В одной из предыдущих статей, посвященных МК AVR, мы рассмотрели, как можно провести эмуляцию схемы на МК AVR в программе Proteus, но можно ли это провести с платой Ардуино? Да, можно. Для этого нужно просто установить в папку с библиотеками программы Proteus, библиотеку для работы с Ардуино. Его надо вставить в вашу библиотеку Proteus.

Дело в том что в Ардуино мы можем залить в программе Proteus не скетч, а прошивку. Да-да, тот самый “HEX” файл. Делается это точно также, как мы и заливали в наш виртуальный МК AVR файл прошивки. Для того, чтобы не тратить лишнее время, мы не будем сами писать код скетча, а воспользуемся одним из готовых примеров.

Получение HEX-файла в Arduiono-среде.

Для того, чтобы получить HEX-файлик для прошивки нашего виртуального Ардуино, нам надо сделать следующие шаги…

Скачать саму Ардуино программку. Как я уже сказал, от свежести этой программы мало что меняется. Я использую версию 1.6.7. Скачать можно здесь.

Предположим, у нас уже есть код программки, которую будем лить в Ардуинку. Я же воспользуюсь готовым кодом. Для этого беру готовую программку Blink.

Вот она открылась в новом окошке:

Затем нам нужно откомпилировать наш код.

После удачной компиляции выйдет вот такое сообщение:

Потом нажимаем “Сохранить”

А потом кликаем “Экпорт бинарного файла”

В результате у нас появятся вместе с сохраненным проектом еще два файла. Берем для загрузки в Proteus самый длинный по названию файл

Открываем Proteus. Находим 4 элементы для построения схемы. Резистор на 300 Ом, желтый светодиод, землю и саму плату Ардуино.

Два раза щелкаем на саму ардуинку на схеме. Должно вылезти вот такое окно. Нажимаем на значок “папка” и выбираем наш длинный HEX-файлик.

Нажимаем на Play внизу слева рабочего окна Proteus и наслаждаемся морганием светодиода)

В следующей статье мы будем зашивать уже саму Ардуину в реале. Не пропустите! 😉

Источник

Arduino.ru

Arduino и Proteus

Начинаю осваивать aduino nano но для начала думаю надо поиграться визуально

поиск нормальных симуляляторов под линукс результатов не дал, поставил протеус под wine

работает вроде нормально, но есть для начала несколько вопросов

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

Была тема на форуме, поищите.

В общих чертах, ставите в настройках галачку «подробный вывод при компиляции» и смотрите, где лежит hex-файл, его берете и вставляете в протеус. Можно cof файл попробовать, чтобы он листинг подтянул, но, видимо, придется повозиться. Лучше поиграйтесь в AVR-studio

Читайте также:  Как установить battlefield 3 через origin на русском

Лучше просто в goolge искать. Были статьи где это расписывается.

Вообщем «не помню детали», то выгугливается енто все.

В ArduinoIDE-есть возможность указать путь, куда при компиляции будут складываться hex и т.п. файлы. В протеусе я указывал эту папку для входных файлов. После этого можно поиграться.

Доберусь до дома поделюсь. ArduinoIDE 1.0.2-1.0.3. Другие версии не использовал

UPD: Инструкция для всех, кому это интересно:

Файл preferences.txt в home пользователя (у меня это C:\Users\user\Application Data\Arduino на Windows 7). Нужно раскомментарить следующий параметр:

Указывает относительный путь (относительно каталога, где установлен ArduinoIDE).
У меня сейчас там лежат и hex & elf & eep файлы, а также куча объектников.

К сожалению это общий каталог для всего это сообщества файлов и проектов, но на безрыбье..

Да, еще нужно выйти из ArduinoIDE и войти снова.

очень исчерпывающая информация,

Смотрите на сайте AVR

А у вас получалось в ней дебагать ардуиновский код? Как раз гуглил пару дней назад, но везде больше на «как компилить и заливать в ней в дуину», а это у меня уже решенный вопрос (использую обычную VS+Plugin). Если «там можно дебагать в симуляторе ардуиновский код», то можно и на AVR-Studio переползти ради этого.

И если знаете, то подскажите, а как-то из «рассыпухи» какой-то бюджетный JTAG отладчик придумать для дуины можно, что-бы в железе дебагать (смутно себе представляю что это такое), имеет смысл это «искать» или нагуглить не получается потому что ищу не существующие?

И если знаете, то подскажите, а как-то из «рассыпухи» какой-то бюджетный JTAG отладчик придумать для дуины можно, что-бы в железе дебагать (смутно себе представляю что это такое), имеет смысл это «искать» или нагуглить не получается потому что ищу не существующие?

Похоже, теоретически, таки возможно самому дебагер нашаманить

Вообщем если приму окончательное решение «идти в микроконтроллеры», то наверное буду брать этот аппарат. Просто что-бы съекономить время и «не колхозить». Но он явно, скорее не для «ученичества», а «проф.разработки, быстрого прототипирования и освоения новых железок». Может и ошибаюсь, но у меня такое впечатление сложилось.

Да. Интересная штука. Только цены на них «кусючие» (которые серьезные). И вам, как «схемотехнику», возможно они даже будут ближе и интуитивней. На них хорошо идет то что «простое, но паралелится здорово».

А вообще, IMHO, с ними перекос. Их оседлали «профи», старой школы. Которые просто реализуют в них «схемы которые привыкли». И используют их «где надо и не надо». Зачастую сильно переусложняя решение. А в «контроллеры» идут програмисты скорее. И тоже «рождают монстров» извращаясь на микроконтроллере, там где на ПЛИС-е было-бы просто и изящно.

Вот кстати некий аналог «Ардуины» от ПЛИСа http://marsohod.org/index.php/howtostart/plata с подъемной ценой для «пощупать/поигратся».

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

Глюк или это нормальнодля протеуса?

proteus 7.10. Поставил частоту 200 MHz, контролер стал эмулироваться практически в реальном времени

Установил для знакомства Proteus 8 Professional и был приятно удивлен там есть возможность загрузить готовые платы в наличии Аrduino 168, 328 и mega 2560 и еще куча других плат.

Читайте также:  Как установить фавикон в джумле

есть встроенный компилятор Arduino AVR

может кто пользовал

может кто пользовал

можно самостоятельно попытаться блинк загрузить и проверить.

*кто пробовал самостоятельно что делать?

все умеют самостоятельно спрашивать 🙂

В продолжение темы протеуса.

А какая версия Proteus стабильнее работает?

Я скачал одну из последних, так она глючит.

3 года назад я много работал в протеусе, так оно как то шустрее эмулировало. Похоже в новых версиях есть какая то защита от лекарства.

8 версия самая нормальная, ардуинский код можно писать прям там.

Компилить проект тоже можно

По выделенной ссылке на домашней странице протеуса видео о том как работать с ардуиной

А где брать стабильную версию 8.1?

На рутрекере 8.1 очень глючный

АЦП не симулируется чтоли? Почемуто всегда max значения.

оказывается забыл запитать aref avcc

Всем привет, вопрос не вопрос. Не работает остаток от деления, никто не пробовал? Главное компилится без проблем, а эффект 0. В железе все работает. А в протеусе нет. И ещё один баг не работает Serial.end();

Пишу следуший код код в Arduino IDE потом загружаю в протеус:

но дисплей показывает то статический текст:

или ошибку «Time out error»

я так понял это из-за ошибки симуляции Logic contention(s) detected on net #00013. Сюда как раз и подключен датчик DHT11. Но почему то идет не совпадение лог уровней. Где я ошибся? Я ведь прописал пин 13 входом. На железе все работает.

А схема в протеусе есть? Есть ли в протеусе модель датчика DHT11 и как ты эмулируешь влажность?

Скачал последнюю версию протеус там датчик был. В будущем (если получиться) это будет климат контроль и контроль светового режима в мини оранжерее для экзотических растений. Пока код написан (скопипастен) для вывода инфы с датчика на дисплей. Если интересно то вместо D13 и D14 будут освещение и увлажнитель. Два DC двигателя это приточка и вытяжка. Кнопки для задания режима и хождения по меню.

Но это походу не скоро я доберусь пока разберусь что да как. Именно поэтому хочу в протеусе вначале с эмулировать а потом уже собирать на железе

Начинаю осваивать aduino nano но для начала думаю надо поиграться визуально

поиск нормальных симуляляторов под линукс результатов не дал, поставил протеус под wine

работает вроде нормально, но есть для начала несколько вопросов

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

В ArduinoIDE выбираем Файл->Настройки->Показывать подробный вывод при компиляции

смотрим куда он компилирует:

Вот тут можно посмотреть видео, как оно работает. Фактически, для ардуины появилась полноценная отладка, что просто офигенно. Заодно появился удобный способ посмотреть, что там за код сварил компилятор.

Хотел и себе попробовать эмуляцию в протеусе, но напоролся на ошибку:

Can’t change to Arduino core directory

make: *** [main.cpp] Error 1

Это происходит при попытке скомпилировать даже пустой скетч. Гугл ничего вразумительного не нашел. Настройки сделал как в видео. Ни у кого такого не было?

А компилятор установлен?

Detecting compiler Arduino AVR

Compiler detection summary

Arduino IDE должна быть более-менее свежей. Еще вот тут почитайте.

Вобщем, так и сделал.

Удалил протеус и поставил чуть свежее версию. Не помогло.

Вместо установившейся версии 1.0.5 залил поверх уже нужную мне.

Возможно есть путь и попроще (ага, типа порыться в реестре), но заработало и то хорошо.

Тоже столкнулся с Can’t change to Arduino core directory

Читайте также:  Как в фотошопе установить линейку в сантиметрах

Помог совет vk007 установить ардуино уже из протеуса.

Мне ARES соединяет на плате все выводы микросхемы, выходящие на шину. То есть считает все линии за одну.

What’s new in Proteus PCB Design 8.5 SP0 Build 22067

чуть не пометил как спам

Источник

Proteus. Как добавить платы Arduino и получить прошивку hex в IDE

Наверное, если вы только начали изучать микроконтроллеры, вам тяжело сделать печатную плату и запрограммировать её usbasp, к примеру. Для этого есть много отладочных плат или ещё проще – Arduino. Но чтобы попробовать, есть совсем простые пути, и они такие же наглядные.

Попробуем некий такой hello_world на микроконтроллере – помигаем светодиодом, не имея в наличии реальной платы. Для этого понадобится Proteus – как мне кажется, лучшая программа для эмуляции электронных процессов. В 8 версии Proteus есть уже встроенные библиотеки arduino, но мне они не очень нравятся в плане удобства работы. Найти их просто, при создании нового проекта, нужно перейти на вкладку “from development board”.

Как я уже и сказал, я использую более удобную и визуально красивую библиотеку, для которой можно создать обычный проект. Это платы от проекта theengineeringprojects. Качаем библиотеки по ссылке

На странице нужно найти жирную кнопку “Download Library for Proteus” и скачать архив. В нём будут два файла –
ArduinoTEP.LIB and ArduinoTEP.IDX. В случае с версией Proteus 8, чтобы установить библиотеки Arduino, необходимо будет пройти в папку программы, а конкретно Proteus 8 Professional\LIBRARY и туда положить эти два файла. Путь самой программы конечно у вас будет отличаться от моего

Теперь запускаем программу, создаём новый проект и открываем библиотеку компонентов. Там в поиске, вводим название библиотеки – arduinotep и выбираем понравившийся чип.

Теперь вернёмся к Arduibo IDE. Откроем самый простой пример мигания светодиода, и сделаем некоторые настройки, чтобы понять, куда программа сохраняет hex файл. Пройдём в настройки

И выберем пункт “Компиляция” в подробно выводе. Кстати ещё тут можно включить другие полезные плюшки – например вывод номера строк или сворачивание отдельных кусков кода.

Я решил, что буду в Proteus использовать NANO, поэтому выбираю её в компиляторе, а в примере мигания диода заменяю вывод диода со встроенного на ножку 12. Жму компиляция, и теперь в окне информации можно увидеть, куда сохранился hex файл.

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

Теперь, если нажать два раза по нашей плате Arduino – можно попасть в меню настроек, где и нужно указать прошивку. Также можно заметить, что частота стоит верная – фьюзы Arduino заточены под 16Мгц внешний кварц.

Как мы увидели выше, путь hex файла находится во временных пользовательских папках. Жмём на кнопку “Program File” – и ищем наш hex. Выбираем, который без bootloader’а.

Ну теперь жмём кнопку play снизу, слева – и видим, что всё работает.

Если вы не устанавливали дополнительные библиотеки, а решили воспользоваться стандартными – рабочее поле с платой будет выглядеть так

Можно нажать на контроллер и увидеть меню настроек. Точно также в поле Program File выбирается прошивка, работает всё аналогично.

Также здесь будет один небольшой нюанс – нужно выставить частоту 16Мгц, потому-что по-умолчанию выставлено 8Мгц от внутренней RC цепочки.

На этом же сайте, есть до кучи интересных библиотек от дисплеев до датчиков газа. Если интересно, можно добавить в папку библиотек аналогичным образом.

Пробуйте, тестируйте, пока ваши отладочные платы едут с Китая.

Источник

Adblock
detector