Могу ли я запрограммировать Arduino без реальной платы?

Я хотел бы начать разработку некоторых базовых проектов Arduino, но пока у меня нет доски Arduino. Есть ли способ, которым я могу написать свой код и эмулировать /протестировать его с помощью настольного компьютера, так что после того, как мой совет придет, мне просто нужно загрузить и запустить мой проект?

177 голосов | спросил totymedli 12 FebruaryEurope/MoscowbWed, 12 Feb 2014 10:15:47 +0400000000amWed, 12 Feb 2014 10:15:47 +040014 2014, 10:15:47

11 ответов


113

Там есть множество симуляторов Arduino, множество бесплатных и некоторые платные продукты.

  • CodeBlocks . В среде разработки Arduino есть бесплатный симулятор Arduino, который все еще находится в разработке, но функциональный.
  • Simuino имитирует Arduino Uno и Mega pins - не симпатичный реалистичный симулятор, но он работает.
  • Пиратский Arduino Simulator - это еще один вариант, который хорошо сочетается с официальной IDE
  • Virtronics Симулятор для Arduino выглядит многообещающим, но я не понимаю, почему я буду платить $ 14,99 за это, когда я мог купить один или несколько реальных клонов Arduino по этой цене.

Многие другие симуляторы Arduino там, если вы ищете, и новые объявляются, даже crowdfunded, все время.

ответил Anindo Ghosh 12 FebruaryEurope/MoscowbWed, 12 Feb 2014 12:04:28 +0400000000pmWed, 12 Feb 2014 12:04:28 +040014 2014, 12:04:28
69

Мне нравится использовать circuit.io aka TinkerCAD для этого.

Облако основано и имеет некоторые приятные функции, включая дизайн печатной платы и сотрудничество.

IMO Моделирование и возможности Arduino впечатляет и интуитивно понятна.

ответил akellyirl 12 FebruaryEurope/MoscowbWed, 12 Feb 2014 17:47:34 +0400000000pmWed, 12 Feb 2014 17:47:34 +040014 2014, 17:47:34
35

В мире симуляторов электроники существует множество вариантов, но circuit.io aka TinkerCAD , вероятно, самый универсальный из них.

  • Вы можете составить свою схему на виртуальном макете, который выглядит как настоящий.
  • Фактически вы можете наблюдать за миганием светодиода или нажатием кнопки во время симуляции в реальном времени, а не с абстрактными волнами.
  • Вы можете комбинировать цифровые устройства, такие как таймеры 555 или сдвиговые регистры с (интерактивными) аналоговыми компонентами, такими как резисторы и светодиоды.
  • Вы можете запрограммировать Arduino и имитировать микроконтроллер вместе с аналоговой схемой вокруг него.
  • Вы можете отлаживать Arduino: когда симулятор достигает вашей точки останова, симуляция приостанавливается, и вы можете легко проверить каждую переменную в коде и каждое напряжение или ток в вашей цепи.
  • Вы можете использовать и наблюдать различные протоколы связи, такие как UART, I2C и SPI.
  • Вы можете приостановить симуляцию в середине последовательности I2C, поставив точку останова в коде драйвера (например, подпрограмму прерывания для событий I2C).
  • Это БЕСПЛАТНО!

 Пример

Это примерная схема, которая имеет ИК-пульт и ЖК-экран.

Отказ от ответственности: мы являемся производителями 123D Circuits

ответил 123D Circuits 16 +03002015-10-16T04:58:34+03:00312015bEurope/MoscowFri, 16 Oct 2015 04:58:34 +0300 2015, 04:58:34
13

Вы можете использовать Yenka (бесплатно для домашнего использования), чтобы имитировать Arduino, PIX, PIXACE и другие платы с цифровыми , аналоговый и последовательный ввод-вывод. Он предоставляет множество компонентов и примеры проектов.

Скриншот:

Моделирование Yenka Arduino

ответил niutech 23 J000000Wednesday14 2014, 17:48:06
13

Имейте в виду, что никакой симулятор не будет воспроизводить реальные ситуации. На форуме Arduino было много сообщений о проблемах с кодом или электроникой, которые оказываются чем-то тонким, например:

  • Сроки
  • Условия гонки (связанные /зависимые события не всегда происходят в одном порядке)
  • Уровни напряжения, например. плавающие входные контакты
  • Приводные двигатели, которые понижают напряжение Arduino настолько, что сбрасывают
  • Отсутствие развязывающих конденсаторов
  • Входные контакты находятся в «неопределенном» состоянии (например, 2,5 В на выводе, где 2 или менее V LOW и 3 В или более, HIGH)
  • Проблемы с обработчиками прерываний, такие как переменные, не объявляемые volatile
  • Пики напряжения из-за отсутствия обратных диодов на двигателях
  • Сброс процессора, включающий один раз более 10 светодиодов, включается, поскольку текущий ток превышает объем, который может поставлять оборудование.
  • Обработчики прерываний, выполняющие 10 ÂμS для обработки прерывания, когда доступно только 9 ÂμS.

По своей природе симуляторы не могут воспроизвести все это. Даже если бы они могли, подумали бы вы переключить опцию «вставить случайный шум с моторов»?


Что касается подготовки к прибытию платы, загрузите среду IDE и начните программирование. Вы можете установить библиотеки, написать код и не допускать синтаксических ошибок, аккуратно организовать его и быть готовым к большому дню, когда аппаратное обеспечение находится в ваших руках.


Получайте удовольствие и наслаждайтесь экспериментированием с вашим Arduino!

ответил Nick Gammon 2 J000000Thursday15 2015, 10:57:38
12

Да, вы можете попробовать Proteus ISIS для моделирования вашего кода ...

Для полной эмуляции Arduino существует условно-бесплатная программа под названием VBB (Virtual BreadBoard) , я попробовал ее тоже, и было приятно.

ответил Ahmed Hamdy 12 FebruaryEurope/MoscowbWed, 12 Feb 2014 13:54:54 +0400000000pmWed, 12 Feb 2014 13:54:54 +040014 2014, 13:54:54
7

Virtualbreadboard имеет новое издание VBB4Arduino 'Two Arduino', которое включает в себя BOTH эмулятор JVM Arduino и симулятор набора инструкций AVR с примерами, которые охватывают почти все примеры распространения Arduino и набор периферийных аппаратных средств - LCD, WS2812 Neo LEDS, Двигатели, сервоприводы, логический анализатор и т. Д.

http://www.virtualbreadboard.com

Отказ от ответственности: я являюсь автором Virtual Breadboard

ответил James Caska 2 PMpThu, 02 Apr 2015 23:41:16 +030041Thursday 2015, 23:41:16
7

Я считаю, что этот веб-сайт список обоих эмуляторов и симуляторов, а также их цена и доступность.

Update:

Так как некоторые пользователи упомянули, что на этом сайте есть неработающие ссылки, вот выбор эмуляторов, которые я нашел. Обратите внимание, что некоторые описания, возможно, были взяты из упомянутой ссылки:

  • Emulino : Является ли программное обеспечение с открытым исходным кодом на начальном этапе разработки, которое эмулирует Arduino-specific микроконтроллеры.

  • Emulare : универсальный аппаратный эмулятор. Он призван обеспечить центральный интерфейс для создания электронных симуляций для разработки встроенного программного обеспечения. В настоящее время emulare фокусируется на линейке микроконтроллеров ATMega (Arduino UNO имеет процессор ATMega).

  • SimAVR : это новый симулятор AVR для Linux или любая платформа, использующая avr- НКА. Симулятор загружает файлы 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 , чтобы протестировать ваш код и в большинстве случаев иметь возможность запускать его на устройство. Но учтите, что, учитывая природу электронных компонентов, вам могут потребоваться внешние резисторы, конденсаторы и т. Д., Чтобы получить ожидаемые результаты.

ответил Aaron Azhari 20 Jpm1000000pmWed, 20 Jan 2016 17:05:58 +030016 2016, 17:05:58
6

Попробуйте Симулятор для Arduino - это лучший, но тогда мы предвзято, поскольку мы являемся частью команды разработчиков. Не все хотят заплатить $ 19,99, хотя почти 5 тысяч пользователей Arduino за последние несколько лет. Существует бесплатная версия Simulator для Arduino, которая работает в течение 45 дней или 100 эскизных нагрузок и 200 строк макс. Попробуйте это, а затем купите, если вы можете себе это позволить и /или если это кажется целесообразным.

Если есть что-то неправильное или что можно улучшить, сообщите нам об этом - у всех остальных есть и есть, поэтому Simulator для Arduino на 99% построен по идеям пользователей и отчетам об ошибках.

Кроме того, единственная проработанная нами программа, которая подходит к качеству, - это Proteus, но это полноценная студия дизайна PCB и выглядит очень дорогостоящей, то есть намного более 20 долларов. И мы планируем игнорировать недавний запрос пользователя, чтобы увеличить цену до 200 долларов.

ответил Virtronics 13 SatEurope/Moscow2014-12-13T11:00:56+03:00Europe/Moscow12bEurope/MoscowSat, 13 Dec 2014 11:00:56 +0300 2014, 11:00:56
5

Вы можете, например, используйте мой симулятор. Он особенно подходит для приложений, подобных ПЛК, где многозадачность достигается циклической оценкой взаимосвязанных объектов типа: Таймеры, маркеры, задвижки, сигналы и регистры. Вы можете использовать его для имитации вашей управляемой системы, как это видно из примеров загрузки. Он обладает скромными возможностями визуализации, может рисовать временные диаграммы и позволяет вам получать доступ и изменять c.q. заставляйте все переменные в реальном времени во время симуляции. Также вы можете заморозить время. Когда вы удовлетворены поведением вашего контроля, он генерирует код C, который будет загружен в фактический Arduino.

https://pypi.python.org/pypi/SimPyLC

ответил Jacques de Hooge 1 72015vEurope/Moscow11bEurope/MoscowSun, 01 Nov 2015 17:23:53 +0300 2015, 17:23:53
0

Да, вы можете и довольно легко. Существует прекрасное онлайн-симуляция (полностью бесплатная), называемая TinkerCAD . Он имеет отличную макетную симуляцию с такими частями, как транзисторы, светодиоды, микросхемы и Arduino. Вы можете запрограммировать Arduino и запустить все это в режиме реального времени, включая интерактивные входы (кнопки, DIP-переключатели и т. Д.).


[Изменить: следующий текст относится к функциональности, которая была перенесена в Circuits.io , а именно Eagle PCB ]

Это еще не все. Он также включает в себя отдельные схемы вкладок для вашей схемы и еще одну вкладку для дизайна печатной платы вашего макета! Или вы можете просто сделать свои схемы с нуля и сделать свою печатную плату там.

Вы можете создать свои схемы, и вы можете их купить. Вы можете сделать все это в circuit.io, и вы не рискуете испортить свой настоящий Arduino. Он также имеет предупреждающие индикаторы в симуляции (например, если вы не использовали достаточное сопротивление на светодиоде или IC).

ответил I. Golsby 27 J0000006Europe/Moscow 2016, 01:07:51

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132