Answers:
那里有大量的Arduino模拟器,许多免费的,还有一些付费的产品。
如果您进行搜索,还有许多其他的Arduino模拟器可以使用,并且新的模拟器一直被宣布,甚至是众筹。
电子仿真器世界中存在很多选择,但是circuit.io aka TinkerCAD可能是其中功能最多的一种。
这是一个带有IR遥控器和LCD屏幕的示例电路。
免责声明:我们是123D电路的制造商
请注意,没有模拟器可以重现现实情况。Arduino论坛上有很多关于代码或电子设备问题的帖子,这些帖子看起来有些微妙,例如:
从本质上讲,模拟器无法重现所有这些。即使可以,您是否会考虑切换“插入来自电动机的随机噪声”选项?
为了为开发板做好准备,请下载IDE并开始编程。您可以安装库,编写代码,并且没有语法错误,整齐地组织起来,并且通常在您可以使用硬件时就可以准备大的日子。
玩得开心,享受尝试您的Arduino的乐趣!
您可以使用Yenka(家庭免费使用)来模拟Arduino,PIX,PIXACE和其他具有数字,模拟和串行I / O的板。它提供了许多组件和示例项目。
屏幕截图:
是的,您可以尝试使用Proteus ISIS来模拟您的代码...
对于Arduino的完整仿真,有一个名为VBB(虚拟面包板)的共享软件程序,我也尝试过,这很好。
编辑:您可以在此处查看有关如何在Proteus ISIS上进行模拟的详细教程
我相信这个网站上列出了仿真器和仿真器,以及它们的价格和可用性。
更新:
由于某些用户提到该网站中的链接断开,因此我找到了一些仿真器。请注意,某些描述可能来自所提到的链接:
Emulino:是早期开发中基于linux的开源软件,可模拟Arduino特定的MCU。
Emulare:是通用硬件模拟器。它旨在提供一个中央界面来构建用于嵌入式软件开发的电子仿真。目前,emulare专注于ATMega系列微控制器(Arduino UNO具有ATMega处理器)。
SimAVR:是适用于linux或使用avr-gcc的任何平台的新AVR模拟器。模拟器直接加载ELF文件,甚至还可以使用.elf节在模拟代码中直接指定模拟参数。它支持许多ATMega处理器的仿真,并且提到添加新处理器很容易。
Amtel Studio:这似乎没有提到仿真一词,但这是一个复杂的IDE,可以为许多平台(尤其是Arduino)调试代码。Atmel Studio 7具有一键式无缝导入在Arduino开发环境中创建的项目的功能。您的草图(包括其引用的任何库)将作为C ++项目导入Studio 7。导入后,您就可以利用Studio 7的全部功能来微调和调试设计。Atmel Studio 7完全支持Arduino Zero板上强大的嵌入式调试器。对于其他Arduino板,可以使用暴露调试连接器的屏蔽适配器,或者切换到许多可用的Xplained-Mini / PRO板之一,以充分利用Atmel硬件生态系统。
您仍然可以使用EasyEDA等模拟器来测试代码,并且在大多数情况下可以在设备上运行它。但是请注意,鉴于电子组件的性质,您可能必须提供外部电阻器,电容器等才能获得预期的效果。
Virtualbreadboard有一个新的VBB4Arduino'两个Arduino'版本,其中包括一个JVM Arduino仿真器和一个AVR指令集仿真器,其示例涵盖了几乎所有的Arduino发行示例和大量外围硬件-LCD,WS2812 Neo LED,电机,伺服器,逻辑分析仪等。
http://www.virtualbreadboard.com
免责声明:我是《虚拟面包板》的作者
尝试使用Simulator for Arduino-这是最好的选择,但是由于我们是开发团队的一员,所以我们有偏见。并非所有人都愿意支付$ 19.99,尽管在过去几年中有近5,000名Arduino用户使用过。有一个适用于Arduino的免费版本,可运行45天或100次草图加载,最多200行。尝试一下,然后购买,如果您负担得起和/或似乎值得。
如果有不正确的地方或可以改进的地方,请告知我们-其他人都做过并且拥有,这就是为什么Arduino Simulator已由用户构想和错误报告构建了99%。
另外,我们尝试过的唯一质量接近的其他程序是Proteus,但这是一个完整的PCB设计工作室,看起来非常昂贵-即远远超过20美元。我们计划忽略最近的用户要求将价格提高到200美元。
您可以例如使用我的模拟器。它尤其适用于类似PLC的应用,在这些应用中,通过对互连的类似电路的对象(定时器,标记,锁存器,Oneshot和寄存器)进行循环评估来实现多任务处理。您也可以使用它来模拟您的受控系统,从下载示例中可以清楚地看到。它具有适度的可视化功能,可以绘制时序图,并允许您在运行模拟过程中实时访问和更改cq force所有变量。您也可以冻结时间。当您对控件的行为感到满意时,它将生成要上传到实际Arduino的C代码。
一种可以使用台式计算机编写代码并对其进行仿真/测试的方法
如果您希望能够使用台式计算机进行“单元测试”,那么我可以提供一个我编写的名为arduino_ci的库。
它不提供仿真。您将用代码表示测试。例如,以下是从参考文档中提取的测试,该测试可验证写入端口的数据:
unittest(pin_history)
{
GodmodeState* state = GODMODE();
int myPin = 3;
state->reset(); // pin will start LOW
digitalWrite(myPin, HIGH);
digitalWrite(myPin, LOW);
digitalWrite(myPin, LOW);
digitalWrite(myPin, HIGH);
digitalWrite(myPin, HIGH);
// pin history is queued in case we want to analyze it later.
// we expect 6 values in that queue.
assertEqual(6, state->digitalPin[1].size());
bool expected[6] = {LOW, HIGH, LOW, LOW, HIGH, HIGH};
bool actual[6];
// convert history queue into an array so we can verify it.
// we expect to find 6 values: the 5 we set, plus the initial LOW
// and this is where/how we assert that
int numMoved = state->digitalPin[myPin].toArray(actual, 6);
assertEqual(6, numMoved);
// verify each element
for (int i = 0; i < 6; ++i) {
assertEqual(expected[i], actual[i]);
}
}
在实践中,您可能不会直接调用digitalWrite
函数-您将在库中调用一个函数,然后验证“世界状态”(在此由GODMODE
结构表示)与您期望库执行的操作匹配。
是的,您可以并且相当容易。有一个名为TinkerCAD的出色的在线模拟(完全免费)。它具有出色的面包板仿真,其中包括晶体管,LED,IC和Arduino等部件。您可以对Arduino进行编程,并在包含交互输入(按钮,DIP开关等)的实时仿真中运行所有Arduino。
[编辑:以下文本指的是已移至Circuits.io的功能,即Eagle PCB ]
那不是全部。它还在单独的选项卡中提供了电路原理图,并在另一个选项卡中提供了面包板电路的PCB设计!或者,您可以只从头开始制作原理图,然后从那里制作PCB。
您可以制作电路设计,也可以购买。您可以在circuits.io中完成所有这些操作,而您并没有冒险弄乱您的实际Arduino。模拟中还具有警告指示器(例如,如果未在LED或IC上使用足够的电阻)。