Я хотел бы начать разработку некоторых базовых проектов Arduino, но у меня пока нет платы Arduino. Есть ли способ, которым я могу написать свой код и эмулировать / протестировать его с помощью настольного компьютера, чтобы после прихода моей платы мне просто нужно было загрузить и запустить свой проект на нем?
204
Ответы:
Есть целый ряд симуляторов Arduino, много бесплатных, а также некоторые платные продукты.
Многие другие симуляторы Arduino будут доступны, если вы будете искать, и все время объявляются новые, даже краудфандинговые.
источник
Для этого мне нравится использовать circuit.io aka TinkerCAD .
Он основан на облаке и имеет несколько приятных функций, включая дизайн печатной платы и совместную работу.
ИМО имитация и возможности Arduino впечатляют и интуитивно понятны.
источник
В мире электронных симуляторов существует множество опций, но, по всей видимости, схема. TinkerCAD , вероятно, самая универсальная.
Это пример схемы с ИК-пультом и ЖК-экраном.
Отказ от ответственности: мы производители 123D Circuits
источник
Имейте в виду, что никакой симулятор не будет воспроизводить реальные ситуации. На форуме Arduino было много сообщений о проблемах с кодом или электроникой, которые оказываются не такими тонкими, как:
По своей природе симуляторы не могут воспроизвести все это. Даже если бы они могли, вы бы хотели включить опцию «вставить случайный шум от двигателей»?
Что касается подготовки к прибытию платы, загрузите IDE и начните программирование. Вы можете установить библиотеки, написать код без синтаксических ошибок, аккуратно организовать его и быть готовым к большому дню, когда аппаратное обеспечение находится в ваших руках.
Получайте удовольствие и наслаждайтесь экспериментированием со своим Arduino!
источник
Вы можете использовать Yenka (бесплатно для домашнего использования) для симуляции Arduino, PIX, PIXACE и других плат с цифровым, аналоговым и последовательным вводом / выводом. Он предоставляет множество компонентов и примеров проектов.
Скриншот:
источник
Да, вы можете попробовать использовать Proteus ISIS для имитации вашего кода ...
Для полной эмуляции Arduino есть условно-бесплатная программа VBB (Virtual BreadBoard) , я тоже попробовал, и это было приятно.
Изменить: вы можете проверить мой подробный учебник здесь о том, как симулировать на Proteus ISIS
источник
Я считаю, что на этом сайте есть список эмуляторов и симуляторов, а также их цена и доступность.
Обновить:
Поскольку некоторые пользователи упоминали, что на этом сайте есть неработающие ссылки, вот подборка эмуляторов, которые я нашел. Обратите внимание, что некоторые описания могут быть взяты из упомянутой ссылки:
Emulino : программное обеспечение на основе Linux с открытым исходным кодом, находящееся на ранней стадии разработки и эмулирующее микроконтроллеры для Arduino.
Emulare : аппаратный эмулятор общего назначения. Он призван обеспечить центральный интерфейс для создания электронных симуляторов для разработки встроенного программного обеспечения. В настоящее время emulare ориентирована на линейку микроконтроллеров ATMega (Arduino UNO имеет процессор ATMega).
SimAVR : это новый симулятор AVR для Linux или любой платформы, которая использует avr-gcc. Симулятор загружает файлы ELF напрямую, и есть даже способ указать параметры симуляции непосредственно в эмулируемом коде, используя раздел .elf. Он поддерживает эмуляцию многих процессоров ATMega и упоминается, что легко даже добавлять новые.
Amtel Studio : похоже, здесь не упоминается термин эмуляция, но это сложная среда IDE для отладки вашего кода для многих платформ, особенно Arduino. Atmel Studio 7 обеспечивает простой импорт проектов, созданных в среде разработки Arduino, одним щелчком мыши. Ваш эскиз, включая все библиотеки, на которые он ссылается, будет импортирован в Studio 7 как проект C ++. После импорта вы можете использовать все возможности Studio 7 для точной настройки и отладки вашего проекта. Atmel Studio 7 полностью поддерживает мощный встроенный отладчик на плате Arduino Zero. Для других плат Arduino доступны экранирующие адаптеры, которые предоставляют отладочные разъемы, или переключитесь на одну из многих доступных плат Xplained-Mini / PRO, чтобы полностью использовать экосистему Atmel HW.
Вы все еще можете использовать симуляторы, такие как EasyEDA, для тестирования своего кода и в большинстве случаев иметь возможность запускать его на устройстве. Но учтите, что с учетом характера электронных компонентов вам, возможно, придется предоставить внешние резисторы, конденсаторы и т. Д., Чтобы получить ожидаемые результаты.
источник
Virtualbreadboard имеет новую редакцию VBB4Arduino 'Two Arduino's', которая включает ОБА эмулятор JVM Arduino И симулятор набора инструкций AVR с примерами, охватывающими почти все примеры дистрибутива Arduino, и набор периферийного оборудования - ЖК-дисплеи, WS2812 Neo LEDS, Motors, Servo's. , Логический анализатор и многое другое.
http://www.virtualbreadboard.com
Отказ от ответственности: я автор виртуального макета
источник
Попробуйте Simulator для Arduino - он лучший, но тогда мы предвзяты, так как являемся частью команды разработчиков. Не все хотят платить $ 19,99, хотя почти 5 тысяч пользователей Arduino получили за последние несколько лет. Существует бесплатная версия симулятора для Arduino, которая работает в течение 45 дней или 100 эскизов и максимум 200 строк. Попробуйте это, а затем купите, если можете себе это позволить и / или если это кажется стоящим.
Если есть что-то не то или что можно улучшить, дайте нам знать - все так и делают, поэтому Simulator for Arduino был на 99% построен на основе пользовательских идей и сообщений об ошибках.
Кроме того, единственная другая программа, которую мы попробовали, которая близка по качеству, - это Proteus, но это полноценная студия дизайна печатных плат, которая выглядит очень дорогой, т. Е. Намного дороже 20 долларов. И мы планируем игнорировать недавний запрос пользователя на повышение цены до 200 долларов.
источник
Например, вы можете использовать мой симулятор. Это особенно подходит для приложений, подобных ПЛК, где многозадачность достигается путем циклической оценки взаимосвязанных схемоподобных объектов: таймеров, маркеров, защелок, одноразовых импульсов и регистров. Вы также можете использовать его для симуляции вашей управляемой системы, что становится ясно из примеров в загрузке. Он обладает скромными возможностями визуализации, может рисовать временные диаграммы и позволяет вам получать и изменять cq force все переменные в реальном времени во время выполнения симуляции. Также вы можете заморозить время. Когда вы удовлетворены поведением вашего элемента управления, он генерирует код C для загрузки в реальный Arduino.
https://pypi.python.org/pypi/SimPyLC
источник
Если вы имеете в виду возможность «модульного тестирования» с помощью настольного компьютера, я могу предложить написанную мной библиотеку под названием arduino_ci .
Это не предлагает эмуляцию. Вы бы выразили свои тесты в коде. Например, вот тест, извлеченный из справочной документации, которая проверяет данные, записанные в порт:
На практике вы, вероятно, не будете вызывать
digitalWrite
функции напрямую - вы вызовете функцию в своей библиотеке, а затем убедитесь, что «мировое состояние» (представленное здесьGODMODE
конструкцией) соответствует тому, что вы ожидали от вашей библиотеки.источник
Да, вы можете и довольно легко. Существует замечательная онлайн-симуляция (абсолютно бесплатная) под названием TinkerCAD . Он имеет отличный макет с такими деталями, как транзисторы, светодиоды, микросхемы и Arduino. Вы можете запрограммировать Arduino и запускать все это в режиме реального времени, который включает интерактивные входы (кнопки, DIP-переключатели и т. Д.).
[Редактировать: следующий текст относится к функциональности, которая была перемещена в Circuits.io , а именно Eagle PCB ]
Это не все. Он также включает в себя отдельную вкладку схемы для вашей схемы и еще одну вкладку для проектирования печатной платы вашей схемы! Или вы можете просто сделать свою схему с нуля и сделать свою печатную плату оттуда.
Вы можете сделать свои схемы и купить их. Вы можете сделать все это в Cirits.io, и вы не рискуете испортить ваш настоящий Arduino. В симуляции также есть предупреждающие индикаторы (например, если вы не использовали достаточное сопротивление на светодиодах или микросхемах).
источник