Меню
Блог Гридина Семёна

Автоматизация и логические контроллеры

Рубрики блога

Под рукой нет платы Arduino? Не проблема. Эмулятор на ПК

Под рукой нет платы Arduino? Не проблема. Эмулятор на ПК

Что делать, если у вас под рукой нету платы Arduino UNO, или любой другой Arduino. А у вас есть свежая идея или написанный алгоритм. Не беда, эмулятор ардуино поможет вам решить данную проблему. Достаточно будет сымитировать работу той или иной платы. Есть только большое НО. Виртуальная программа никогда не заменит реальную плату. Так что рекомендую эмулировать с пониманием, что не все процессы могут пойти гладко.

Из этой статьи вы узнаете:

Virtual BreadBoard
Autodesk Circuits

Здравствуйте, друзья! Я очень рад приветствовать вас на страницах блога. Если вы наткнулись на эту статью, вероятно у вас под рукой нет устройства, и вы хотите попробовать отладить свой скетч.

Я понимаю, что сейчас куча магазинов, можно купить всё что угодно. Но к сожалению не все имеют возможность сразу приобрести электронную плату. Я не исключение, так как живу в Краснодарском крае, в городе Армавире. И купить плату я могу только через интернет-магазин.

Совершенно недавно я случайно наткнулся на новую разработку — микроконтроллер под управлением Python. Самый сок заключается в том, что достаточно просто написать в текстовом файлике небольшой скрипт с нужными библиотеками, закидываете в мозг процессора и вуаля!

Имя этому проекту MicroPython. В России он не популярен. К сожалению невозможно купить. Можно заказать только в буржуйских магазинах. Но это достаточно дорого. Жалко, но что поделать.

Вот такая миниатюрка:

Американцы идут далеко вперёд. Может есть нечто подобное в России? Я чего-то не знаю? Напишите в комментариях…

Из эмуляторов я нашёл в интернете две программы — Virtual BreadBoard и AutoDesk Circuit.

Virtual BreadBoard

Данная программа выпущена самой компанией Arduino в 2015 году. В ней вы можете смоделировать схему совместимую с основной платой и шильдами. Написать код и опробовать на модели.

Теперь, я взял в руки мышку, скачал программу VBB версии 5.57.

Вот такое у нас получается окошечко:

VBB

Что вы можете сделать в этом эмуляторе?

  1. С её помощью можно написать код для отладки программы;
  2. Можно собрать схему для испытаний и наладки;
  3. Virtual BreadBoard может эмулировать несколько компонентов и контроллеров Arduino.

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

Все программы проходят обработку предпроцессором, потом компилируются в код.

Программа на борту у себя имеет:

  1. Компилятор;
  2. Редактор кода;
  3. Плату для ввода\вывода;
  4. Программный клиент;
  5. Модуль передачи прошивки на Arduino;

Autodesk Circuits

Есть ещё один не менее интересный онлайн эмулятор для Arduino. Маленькая деталь заключается в том, что всё на английском языке. Но когда это останавливало хорошего программиста. Ловите официальный сайт.

В веб-браузере без паяльника проводов и плат можете спокойно собирать схемы и обкатывать ваш код.

Можно накидывать различные компоненты из элементной базы к виртуальной Arduino.

В бесплатной версии все ваши платы будут находиться в открытом доступе, то есть ваши проекты будут светиться у всех.

Есть другой вариант, платный — 25 $ в месяц, вам выделяют сервер для творчества. Я так думаю, в большей степени сервис нужен для проектировщиков.

Я лично предпочитаю всё делать на реальной плате, с реальным отладчиком, с реальными железками.

На эмуляторе никогда не будет идеальной модели. Как она будет работать на самом деле?

Но, моя задача выполнена, я нашёл возможные эмуляторы и рассказал об этом вам. Если я что-то не обозначил, пишите в комментариях, я исправлю.

До встречи в следующих статьях.

С уважением, Гридин Семён

Вам так же может быть интересно

Комментариев к статье: 13
  • Семён, привет!

    Спасибо тебе за хорошую статью! Продолжай в том же духе.

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

    Кстати, есть еще одна интересная программка Fritzing. В ней даже можно набросать макет печатной платы. Помимо Arduino она также работает и с другими платформами, например с Raspberry Pi.

    • Привет, а точно, про Fritzing я забыл. Но насколько я помню, программа позволяет просто собирать схемы, насчёт отладки кода не помню.

      • Здраствуйте! А как добавить в Tinkerpad новые компоненты? Например, там нет передатчика по блютус, драйвера моторов, андруино нано и тп.

        спасибо

      • Честно, не знаю, там должны быть обновления в любом случае…

  • Извините, но я вас перефразирую, так понятнее будет.

    Совершенно недавно я случайно наткнулся на новую разработку — микрокомпьютер под управлением Python 2, Python 3, Си, C++, PHP, MySQL, Basic, и, не буду Вас утомлять, все языки которые существуют в мире. Самый сок заключается в том, что достаточно просто написать программу на любом языке, скомпилировать, если надо, и вуаля, она будет работать! Писать можно в текстовом файлике и в любой среде разработки программ, IDE называется. Всё это стало возможным потому что на микрокомпьютерах работает полноценный Linux для ARM.

    Имя этому проекту Raspbery Pi, Orange Pi и т.п. В России он очень популярен. К счастью, любой микрокомпьютер можно купить. Это очень дёшево. Размеры микрокомпьютеров меньше кредитной карточки, интерфейсы HDMI, USB, Ethernet, GPIO и многое другое, питание 5 Вольт 1-2 Ампера. ;-)

    • Спасибо, при первом удобном случае переделаю.

    • Ничего себе «не популярен».

      Даже глянул на время написания поста ибо подумал, что написали лет 5 — 7 назад :smile:

      Сечас этих «рфуктов» уже настолько много, что всех и не сосчитать. Вся суть таких мини-компютеров в одном — подключение периферии по GPIO (как у Arduino подобного семейства). На этом их схожесть с микроконтроллерами заканчивается, так как используется не микроконтролер, а процессор. В таком случае любой ноутбук можно считать такой системой и эмулировать все что хочешь — он тоже мобилен в одной коробочке, имеет USB -интерфейс для взаимодествия c внешним миром ))).

      И кстати, микрокомпютер не работает под управлением намешанной каши из языков программирования и СУБД. Управляет процессором (и всей периферией внутри) операционная система, которая в свою очередь «передает информацию» низкоуровневой программе, которая именуется прошивкой. В случае же с Ардуино-подобными проектами вы прошиваете ИМЕННО сам микроконтроллер.

      • Промахнулся с ответом.

        Коммент был адресован ответом на Raspbery Pi

    • И вот все таки не эмуляторы, а симуляторы.

      Эмулятор — заменяет РЕАЛЬНЫЙ конечный продукт, а симулятор — среда для наблюдений за объектами или съема показаний. Например система полива воды в заданное время или по состоянию влажности почвы, сделанная на Ардуино — можно назвать эмулятором реального устройства. А вот программа, которая выводит сообщение на дисплей «открываю кран» «поворачиваю на 90 градусов» или выводит соотв. картинки и т.д. — это симулятор системы полива воды.

  • Лучше бы написали как пользоваться программой, простенький пример привели, а то какя хорошая программа ну чего из этого?

  • А теперь по теме симмуляторов.

    Для себя выбрал 2 универсальных продукта:

    Tinkercad (бывший Autodesk Circuits) имеет в своем арсенале набор визуального отображения (как Fritzing), моделирования и даже программирования на Skratch. Есть один минус — нельзя добавлять свои устройства (ка полноценные, ибо нарисовать, хоть в 3D можно), а тот набор из библиотеки, что есть очень скудный.

    Если нужна красивая картинка, то Tinkercad или Fritzing — самое оно.

    А вот насчет симмулятора — я бы рекомендовал EasyEDA. Этот комбайн сначала по схеме покажет все красиво, просиммулирует работу да еще и в 2 клика поможет заказать плату. Более того — за счет большого сообщества есть куча готовых решений. Просто добавляешь, симмулируешь работу и уже потом только можешь заказать реальное уствройство или сделать свое из готовых компонентов или переделать готовое и тоже заказать печать платы. Кстати, не просто печать платы, а с уже установленной SMD-рассыпухой, по сути готовое устройство по цене 2-3$ за 10 шт. Рай радиоэлектронщика таки существет. :smile:

  • Ваша цитата: (К сожалению невозможно купить.), у нас в Киеве MicroPython стоит 2,194 грн.

    Вот ссылка raspberry.com.ua/p/micropython-pyboard-v1-0/