还未设置个性签名
成为VIP会员 享9项特权: 开通会员

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

UnoArduSim的使用方法介绍

科技观察员 来源:Sharad Bhowmick 作者:Sharad Bhowmick 2022-06-14 17:23 次阅读

Arduino Uno 是由一个非常大的开发人员社区支持的最常用的微控制器之一。成本和易用性使 Arduino 板成为制作简单DIY 电子项目的有吸引力的选择。模拟器用于加速编写和调试代码的过程,因为您不需要任何硬件,也不必进行任何物理连接来测试您的程序。此外,模拟器简化了调试过程,尤其是在怀疑软件错误和硬件问题的情况下。在本教程中,我们将学习 UnoArduSim,这是一个具有Arduino Uno和 Mega 板的模拟器,并且可以选择最多 24 个 I/O 设备。

什么是 UnoArduSim?

UnoArduSim 由加拿大安大略省皇后大学的 Simmons 教授开发。他利用该平台为电气与计算机工程系二年级的学生授课。开发图形模拟器是为了让学生无需任何额外硬件即可测试他们的机器人代码。

UnoArduSim 是一个Arduino 模拟器,可让您在 Arduino Uno 和 Arduino Mega 板上进行实时代码调试。该模拟器用于编译和测试代码。它 支持除“goto”指令之外的所有原生 Arduino 语言元素。此外,它不支持的一些 C/C++ 语言元素包括 Bit-saving、union 和古怪的“逗号运算符”也不支持。

界面

这个模拟器有一个非常互动和易于理解的界面。Simulator 的界面大致分为三个部分。代码窗格、变量窗格和实验室工作台窗格。除了 3 个窗格之外,还有一个包含所有菜单选项的菜单栏和一个包含用于快速操作的图标的工具栏。下图显示了 UnoArduSim 的界面。

poYBAGKoUyiAR8dxAAcvYgm0qAc868.png

代码窗格

从名称本身,我们可以理解代码窗格包含代码或程序。代码窗格可用于跟踪程序运行时的执行情况,它还以红色突出显示代码中的任何错误。

双击代码窗格打开编辑/视图,您可以在其中修改代码。它有一个有用的功能,让您可以方便地从提供的列表中选择要包含在代码中的内置函数调用(或内置“#define”常量)。它还提供了自动添加分号或突出显示功能的选项。

pYYBAGKoUySAA1XQAAMFbEm7ctA076.png

变量窗格

它位于屏幕左下角的代码窗格下方。它包含每个用户的当前值。该窗口还显示执行期间的变量值。

pYYBAGKoUyGAbc9wAAK6nAJN0xI109.png

实验室工作台窗格

实验室工作台窗格显示选定的 Arduino 板,即 Uno 或 Mega。它还具有使用配置选项选择的不同外围设备。Lab Bench Pane 上的微控制器的行为与真正的电路板完全一样。所有 I/O 设备和微控制器,即“Uno”和“Mega”都非常准确。组件的电气模型有助于准确分析程序的行为,甚至会标记电气引脚。例如:复位板时,指示灯 LED 闪烁。实验室工作台窗格如下图所示:

poYBAGKoUx2ASWI_AAVF8Xfs8EQ616.png

该板还具有观察每个 I/O 引脚波形的选项。可以在执行程序时完成,您必须单击特定引脚才能看到数字波形。您最多可以选择 4 个波形显示在屏幕上。

pYYBAGKoUxiAdAgXAAIr1wCyZrU223.png

菜单栏

菜单栏包含操作和控制模拟的所有选项,它为我们提供了文件、查找、执行、选项、配置、VarRefresh、Windows 和帮助等选项。以下是所有功能的简要介绍:

文件:

Load INO / PDE Prog - 允许用户选择具有选定扩展名的程序文件。该程序立即得到一个 Parse。

编辑/查看 (ctrl-E ) - 它打开编辑器窗口。

保存 - 将编辑后的代码保存到现有文件中。

另存为 - 将编辑后的代码保存到新文件中。

Next ( ‘#include ’) - 用于在代码窗格中显示下一个‘#include’文件

上一个 - 用于在代码窗格中显示上一个文件

Exit - 用于退出模拟器。

执行:

Step-Into (F4) - 用于单条指令继续指令

Step-Over (F5) - 用于在一个完整的函数调用上通过单个指令继续执行指令。

Step-Out-Of (F6) - 将执行提前到足以离开当前函数。

Run-To (F7) - 仅运行程序直到所需的行。

运行 (F9) - 它执行并运行代码。

Halt (F10) - 它停止代码的执行。

重置 - 用于将程序重置为启动状态。

慢动作 - 用于将时间减慢 10 倍。

输入输出设备

I/O 设备分为两类,较小的“I/O”设备和大型“I/O”设备。隔离基于现实世界中设备的大小,较小的“I/O”设备包含按钮、开关电阻、压电扬声器、彩色 LED、4-LED 行、7 段 LED、引脚跳线和模拟滑块,而大“I/O”设备有伺服电机、直流电机等,它还有其他外围设备,如 MUX、显示器等。所有输入和输出外围设备如下图所示:

pYYBAGKoUxOAR3QYAARpkCwWOP0956.png

用户可以选择总共 16 个较小的“I/O”设备和 8 个大“I/O”设备。

UnoArduSim 限制!!

模拟器几乎没有限制。最大的限制是《Servo.h》、《Wire.h》、《OneWire.h》、《SPI.h》、《EEPROM.h》等库只能仿真。它们的功能直接内置在模拟器中,因此不会搜索实际文件。

支持的库很少

支持的库是‘SoftwareSerial.h’、‘SPI.h’、‘Wire.h’、‘OneWire.h’、‘Servo.h’ 、‘Stepper.h’、‘SD.h’、‘TFT.h ’和‘EEPROM.h’。因此,其他库将无法工作,因为它们将包含不受支持的指令和无法识别的文件。

实时仿真

Arduino 程序指令的执行时间不准确,因为它们没有准确建模,因此对于每个循环,都需要一个“延迟()”指令来运行与实时引脚电平变化同步的程序。

除了上述限制之外,模拟器不支持通过用户声明的函数指针进行函数调用。

Arduino 模拟器替代品

市场上有很多可供选择的 Arduino 模拟器,其中一些最常见的模拟器是:

Tinkercad 电路

虚拟面包板和头像硬件

PICSimLab

沃奎

IO 模拟器

变形虫

弗里茨

如何使用 UnoArduSim?

首先从 网站下载软件 并解压缩文件。

pYYBAGKoUw2AXNmEAASbRfLbL7U031.png

在文件夹中,找到 UnoArduSim.exe 文件并双击运行模拟器。

第一步是选择您的微控制器。为此,请单击菜单栏中的配置,然后从出现的下拉菜单中打开首选项。将出现一个新的弹出窗口,在这里您可以选择 Board、TWI Bytes,它具有自动缩进、自动插入关闭等功能。选择板并单击加载。

poYBAGKoUwmATL9CAAJwAm35Q8Y142.png

现在,为了选择输入和输出外围设备,再次单击菜单栏中的配置并从出现的下拉菜单中打开“I/O 设备” 。将出现一个新的弹出窗口,您可以在此处从给定菜单中选择所有需要的外围设备。

pYYBAGKoUwSAD6WSAAJ4S2cLR-0417.png

编程

如果您已经有一个 ‘.ino’ 或 ‘.pde’ 格式的 Arduino 代码,您可以通过单击文件》加载 INO 或 PDE 直接上传它。

要编写代码,请双击代码窗格以打开编辑器。或者,您可以单击文件,然后单击编辑/查看。您也可以同时按 Ctrl + E 打开编辑器。

编写程序后,单击编译按钮。

poYBAGKoUv-AbuuiAAMBCBNKaB4866.png

编译完成后,选择所需的 I/O,并根据程序中分配的管脚,通过在外设块中提供的空间上键入来分配 I/O 外设上的管脚。

pYYBAGKoUvuADP14AAB0Oh-Kt74612.png

现在,单击菜单栏中的执行并选择运行选项,它将开始执行程序。

pYYBAGKoUveASL2ZAAPugtWAeks078.png

现在,要通过更改输入来查看您的设置和代码将如何执行,请通过单击按钮更改输入外围设备的值或更改外围符号上的值以查看您的系统应该如何执行。

poYBAGKoUvOAWUyOAAQvaJom9Bs843.png

结论

UnoArduSim 是一个易于使用的模拟器。该模拟器具有许多功能,您可以通过使用该软件轻松使用这些功能。它通过突出显示错误使调试更容易。因此,即使您是微控制器世界的新手并尝试学习 Arduino 编程,或者想要调试您的代码或知道您的代码将如何执行而无需投入时间和资源以快速有效的方式组装组件,那么这软件对您非常有用。

  • 模拟器
    +关注

    关注

    2

    文章

    454

    浏览量

    40802
  • Arduino
    +关注

    关注

    169

    文章

    2658

    浏览量

    175885
收藏 人收藏

    评论

    相关推荐

    如何制作一个Arduino pH计

     在这个项目中,我们将制作一个Arduino pH 计,并学习如何使用重力 pH 传感器和 Ardu....
    发表于 08-12 16:39 54次 阅读
    如何制作一个Arduino pH计

    基于Arduino的无线网关连接设计

    AC4490 900 MHz 无线电模块使用经过现场验证的 FHSS 技术取代工业环境中数英里的电缆....
    发表于 08-12 11:30 44次 阅读
    基于Arduino的无线网关连接设计

    用I2C级联扩展器做一个时钟盒子

    最近因为优惠活动就囤了一些硬件模块,其中包括几块OLED显示屏。当它们整齐的摆放在一起时我突然想到能不能把它门同时点亮并...
    发表于 08-12 10:58 651次 阅读

    基于Arduino的DIY游戏控制器

    电子发烧友网站提供《基于Arduino的DIY游戏控制器.zip》资料免费下载
    发表于 08-12 10:51 6次 阅读
    基于Arduino的DIY游戏控制器

    Arduino Leonardo PC音量控制开源分享

    电子发烧友网站提供《Arduino Leonardo PC音量控制开源分享.zip》资料免费下载
    发表于 08-12 10:35 1次 阅读
    Arduino Leonardo PC音量控制开源分享

    基于PIC32 MCU的Wi-Fi™无线Web服务器

    I/O 扩展板是现成的方便设备集合,其中许多可用于为服务器实现温度监控器或其他现实世界接口。紧凑型电....
    发表于 08-12 10:15 48次 阅读
    基于PIC32 MCU的Wi-Fi™无线Web服务器

    使用Raspberry Pi进行PWM控制

      通过使用每块板上的 USB 接口以及现成的 pySerial 库,可以从 Raspberry P....
    的头像 星星科技指导员 发表于 08-12 10:09 33次 阅读
    使用Raspberry Pi进行PWM控制

    Arduino UNO液晶屏开源

    电子发烧友网站提供《Arduino UNO液晶屏开源.zip》资料免费下载
    发表于 08-12 10:09 5次 阅读
    Arduino UNO液晶屏开源

    Arduino Uno迷你LE立方体开源

    电子发烧友网站提供《Arduino Uno迷你LE立方体开源.zip》资料免费下载
    发表于 08-12 09:36 6次 阅读
    Arduino Uno迷你LE立方体开源

    Arduino UNO的原型板开源分享

    电子发烧友网站提供《Arduino UNO的原型板开源分享.zip》资料免费下载
    发表于 08-12 09:19 9次 阅读
    Arduino UNO的原型板开源分享

    Arduino Nano板测试

    电子发烧友网站提供《Arduino Nano板测试.zip》资料免费下载
    发表于 08-12 09:18 9次 阅读
    Arduino Nano板测试

    如何用IR接近传感器和Arduino Uno探测物体?

    IR接近传感器是无线技术中最常用的传感器,常用作远程控制和检测周围物体/障碍物。当有障碍物出现在周边....
    的头像 芯情观察猿 发表于 08-12 09:02 28次 阅读
    如何用IR接近传感器和Arduino Uno探测物体?

    基于Arduino的3D打印2轮机器人

    描述 AR.LO - Arduino 3D 打印机器人 AR.LO 是一款基于 Arduino 的 3D 打印 2 轮机器人。它具有:OLED 显示...
    发表于 08-12 07:55 476次 阅读

    Arduino MEGA电池监控屏蔽

    描述 Arduino MEGA 电池监控屏蔽 该防护罩旨在测试使用过的飞机镍镉 (NiCd) 电池,以重新用作电源墙。该屏蔽能够测量...
    发表于 08-12 07:06 492次 阅读

    Cabsims箱体模拟器的资料分享

    描述 马歇尔 JMP CabSim Cabsims - 箱体模拟器(或扬声器模拟器)电路不仅在家庭工作室、吉他录音期间、使用耳机进行夜...
    发表于 08-12 06:48 440次 阅读

    带有Octavo OSD3358的arduino外形处理器板

    描述 ArdOSD3358是带有 Octavo OSD3358 (PocketBeagle) 的 arduino 外形处理器板。它有 2 个 WLAN、以太网和 4 个...
    发表于 08-12 06:39 456次 阅读

    Arduino学习日记之点亮RGB灯

    自带 LED灯 今天第一次学习arduino,从网上随便找了个点灯程序,不需要任何配件,直接一个Arduino uno板就可。 /* Blink...
    发表于 08-11 19:09 627次 阅读

    构建一个基于RFID的非接触式温度监测系统

    在本教程中,我们将使用带有 Arduino 的非接触式温度传感器构建一个基于 RFID 的非接触式温....
    发表于 08-11 16:53 63次 阅读
    构建一个基于RFID的非接触式温度监测系统

    基于Arduino和GPS模块构建女性安全手环

    在这里,我们将构建一个可供女性佩戴的手环,她们可以使用 SOS 紧急短信和当前位置通知警察或任何人。....
    发表于 08-11 16:45 68次 阅读
    基于Arduino和GPS模块构建女性安全手环

    使用Arduino和HCSR04构建超声波悬浮装置

    看到一些东西漂浮在空中或自由空间中,这正是反重力项目的意义所在,这是非常令人兴奋的。物体(基本上是一....
    的头像 科技观察员 发表于 08-11 16:36 155次 阅读
    使用Arduino和HCSR04构建超声波悬浮装置

    使用Arduino 33 BLE Sense和Edge Impulse构建的咳嗽检测系统

    在本教程中,我们将使用 Arduino 33 BLE Sense 和 Edge Impulse St....
    发表于 08-11 16:16 51次 阅读
    使用Arduino 33 BLE Sense和Edge Impulse构建的咳嗽检测系统

    如何使用Arduino IDE对ESP32进行无线编程

    在本教程中,我们将使用Arduino IDE 中的 OTA Web Updater对 ESP32 进....
    发表于 08-11 15:42 45次 阅读
    如何使用Arduino IDE对ESP32进行无线编程

    使用Arduino nano计算风速的传感器

    电子发烧友网站提供《使用Arduino nano计算风速的传感器.zip》资料免费下载
    发表于 08-11 11:37 6次 阅读
    使用Arduino nano计算风速的传感器

    MIDIFART迷你袖珍MIDI控制器

    电子发烧友网站提供《MIDIFART迷你袖珍MIDI控制器.zip》资料免费下载
    发表于 08-11 11:36 11次 阅读
    MIDIFART迷你袖珍MIDI控制器

    使用Arduino pro micro板的USB宏垫

    电子发烧友网站提供《使用Arduino pro micro板的USB宏垫.zip》资料免费下载
    发表于 08-11 10:42 7次 阅读
    使用Arduino pro micro板的USB宏垫

    基于arduino mini board的机械键盘

    电子发烧友网站提供《基于arduino mini board的机械键盘.zip》资料免费下载
    发表于 08-11 10:34 5次 阅读
    基于arduino mini board的机械键盘

    作为 Arduino 初学者不要犯的主要错误

    构建 Arduino 项目并不像炒作所认为的那么简单,所以一定要避免这些错误
    发表于 08-11 10:06 9次 阅读
    作为 Arduino 初学者不要犯的主要错误

    Attiny85 Arduino Uno程序员

    电子发烧友网站提供《Attiny85 Arduino Uno程序员.zip》资料免费下载
    发表于 08-11 10:03 3次 阅读
    Attiny85 Arduino Uno程序员

    移动LoRa短消息发送器/接收器

    电子发烧友网站提供《移动LoRa短消息发送器/接收器.zip》资料免费下载
    发表于 08-11 09:54 12次 阅读
    移动LoRa短消息发送器/接收器

    Arduino合成器V3设计案例

    电子发烧友网站提供《Arduino合成器V3设计案例.zip》资料免费下载
    发表于 08-11 09:50 15次 阅读
    Arduino合成器V3设计案例

    Arduino UNO机械开关和OLED屏幕护罩开源分享

    电子发烧友网站提供《Arduino UNO机械开关和OLED屏幕护罩开源分享.zip》资料免费下载
    发表于 08-11 09:33 7次 阅读
    Arduino UNO机械开关和OLED屏幕护罩开源分享

    在STM32 CPU上创建一个尺寸与Arduino pro mini类似的板

    描述 STM32 Pro 迷你版 这个想法是在 STM32 CPU 上创建一个尺寸与 Arduino pro mini 类似的板。 ...
    发表于 08-11 06:45 329次 阅读

    构建Arduino IR远程解码器的教程

    在本教程中,我们将使用 TSOP1838 IR 接收器来构建使用 Arduino 的 IR 远程解码....
    发表于 08-10 16:52 80次 阅读
    构建Arduino IR远程解码器的教程

    PET瓶长丝机开源分享

    电子发烧友网站提供《PET瓶长丝机开源分享.zip》资料免费下载
    发表于 08-10 14:16 6次 阅读
    PET瓶长丝机开源分享

    PCB推子电位器的LDO分配(5V逻辑和8V电机)

    电子发烧友网站提供《PCB推子电位器的LDO分配(5V逻辑和8V电机).zip》资料免费下载
    发表于 08-10 11:59 15次 阅读
    PCB推子电位器的LDO分配(5V逻辑和8V电机)

    DIY微型PCB板之轻松使用P10显示器

    电子发烧友网站提供《DIY微型PCB板之轻松使用P10显示器.zip》资料免费下载
    发表于 08-10 11:40 19次 阅读
    DIY微型PCB板之轻松使用P10显示器

    DIY PCB侦探男孩对讲机徽章

    电子发烧友网站提供《DIY PCB侦探男孩对讲机徽章.zip》资料免费下载
    发表于 08-10 11:38 12次 阅读
    DIY PCB侦探男孩对讲机徽章

    太阳能电池阵列模拟器对逆变器进行测试

    以几乎任何标准衡量,太阳能都很热。根据太阳能产业协会 (SEIA) 的数据,2016 年装机容量超过....
    的头像 感谢相遇 发表于 08-10 11:34 93次 阅读
    太阳能电池阵列模拟器对逆变器进行测试

    DIY简单的Arduino键盘

    电子发烧友网站提供《DIY简单的Arduino键盘.zip》资料免费下载
    发表于 08-10 11:11 23次 阅读
    DIY简单的Arduino键盘

    基于BTA16 600的交流Arduino控制固态继电器

    电子发烧友网站提供《基于BTA16 600的交流Arduino控制固态继电器.zip》资料免费下载
    发表于 08-10 09:19 18次 阅读
    基于BTA16 600的交流Arduino控制固态继电器

    Arduino控制的DC DC降压转换器

    电子发烧友网站提供《Arduino控制的DC DC降压转换器.zip》资料免费下载
    发表于 08-10 09:16 12次 阅读
    Arduino控制的DC DC降压转换器

    自制d-diot多用途物联网pcb

    描述 d-diot 多用途物联网 pcb 这种小型 PCB (55×35) 天生就是一个通用解决方案,用于构建任何类型的紧凑型无线电池供电...
    发表于 08-10 07:22 414次 阅读

    制作基于Arduino的多功能电能表

    描述 在本教程中,我将向您展示如何制作基于 Arduino 的多功能电能表。这个小仪表是一个非常有用的设备,可以显示有关电气参数...
    发表于 08-10 06:33 283次 阅读

    如何通过蓝牙对Arduino进行编程

    在 ESP8266 和 ESP32 中可以轻松完成无线编程或 OTA(无线)编程,因为它们内置了 W....
    的头像 科技观察员 发表于 08-09 17:48 306次 阅读
    如何通过蓝牙对Arduino进行编程

    使用Arduino制作一个简单的纯正弦波逆变器

    在这篇文章中,我将使用Arduino制作一个简单的纯正弦波逆变器,并解释电路的工作原理。
    发表于 08-09 17:27 58次 阅读
    使用Arduino制作一个简单的纯正弦波逆变器

    如何利用ESP32和Arduino制作BLE检测器

    在本文中,我将向您展示如何在ESP32 和 Arduino 的帮助 下制作一个简单的BLE 存在检测....
    的头像 科技观察员 发表于 08-09 17:15 217次 阅读
    如何利用ESP32和Arduino制作BLE检测器

    如何使用Arduino和OLED设计一个GPS车速表

     在这个项目中,我们将使用带有 OLED 显示屏的 NEO6M GPS 模块 构建一个Arduino....
    发表于 08-09 17:01 99次 阅读
    如何使用Arduino和OLED设计一个GPS车速表

    使用Arduino设计一个壁挂式红外温度计

    在这个项目中,我们将使用 Arduino 设计一个壁挂式红外温度计,可以简单地固定在墙上并保持开启状....
    发表于 08-09 16:54 38次 阅读
    使用Arduino设计一个壁挂式红外温度计

    物联网开发板

    电子发烧友网站提供《物联网开发板.zip》资料免费下载
    发表于 08-09 15:14 8次 阅读
    物联网开发板

    RS485单片机模块开源

    电子发烧友网站提供《RS485单片机模块开源.zip》资料免费下载
    发表于 08-09 14:43 18次 阅读
    RS485单片机模块开源

    LARDUINO NANO修身款开源硬件

    电子发烧友网站提供《LARDUINO NANO修身款开源硬件.zip》资料免费下载
    发表于 08-09 14:12 8次 阅读
    LARDUINO NANO修身款开源硬件

    LGT8F328P芯片开源

    电子发烧友网站提供《LGT8F328P芯片开源.zip》资料免费下载
    发表于 08-09 11:35 22次 阅读
    LGT8F328P芯片开源

    使用开发Arduino的方法开发STM32

    电子发烧友网站提供《使用开发Arduino的方法开发STM32.zip》资料免费下载
    发表于 08-09 11:04 18次 阅读
    使用开发Arduino的方法开发STM32

    纳米实验板v2.51的资料分享

    描述 纳米实验板 v2.51,无需接线即可享受 Arduino 的所有乐趣。 该板有许多分线器,因此您只需插入显示器或传感器即可。我...
    发表于 08-09 07:10 512次 阅读

    如何使用Arduino测量液体的浊度

    对于液体,浊度是一个重要术语。因为它在液体动力学中起着重要的作用,也用于测量 水质。所以在本教程中,....
    的头像 科技观察员 发表于 08-08 17:00 288次 阅读
    如何使用Arduino测量液体的浊度

    如何使用Arduino Nano构建一个手势控制的电梯原型

    在新冠病毒大流行的这段时间,电梯已成为每个人都触摸相同按钮的高风险场所。在许多地方,人们发现了防止接....
    的头像 科技观察员 发表于 08-08 16:53 557次 阅读
    如何使用Arduino Nano构建一个手势控制的电梯原型

    如何使用Arduino构建基于触控的变色植物

    在本文中,我们将学习如何使用 Arduino 构建基于触控的变色植物。当您触摸植物时,植物花瓶的颜色....
    的头像 科技观察员 发表于 08-08 16:21 459次 阅读
    如何使用Arduino构建基于触控的变色植物

    带有Arduino Nano的SDS011构建空气质量分析仪

    空气污染是许多城市的主要问题,空气质量指数每天都在恶化。根据世界卫生组织的报告,由于空气中存在的有害....
    发表于 08-08 16:15 54次 阅读
    带有Arduino Nano的SDS011构建空气质量分析仪

    基于Arduino构建一个简单的家庭自动化系统

    家庭自动化系统日益普及,如今通过使用一些简单的控制机制(如继电器或开关)来打开和关闭某些设备变得很容....
    发表于 08-08 16:04 96次 阅读
    基于Arduino构建一个简单的家庭自动化系统

    基于PCB的64键原型键盘矩阵

    这是一个简单的 PCB 键盘,您可以轻松地将其用于您的 Arduino 项目。
    发表于 08-08 15:26 94次 阅读
    基于PCB的64键原型键盘矩阵