Arduino软件(IDE)

Arduino集成开发环境(或是Arduino IDE)包含了一个用于写代码的文本编辑器、一个消息区、一个文本控制台以及一个带有常用功能按钮和文本菜单的工具栏。软件连接Arduino和Genuino之后,能给所连接的控制板上传程序,还能与控制板相互通信。

写项目

使用Arduino软件(IDE)编写的代码被称为项目(sketches),这些项目写在文本编辑器中,以.ino的文件形式保存,软件中的文本编辑器有剪切/粘贴和搜索/替换功能。当保存、输出以及出现错误时消息区会显示反馈信息。控制台会文字形式显示Arduino软件(IDE)的输出信息,包括完整的错误信息以及其他消息。整个窗口的右下角会显示当前选定的控制板和串口信息。工具栏按钮包含验证、下载程序、新建、打开、保存以及串口监视器的功能。

注意:Arduino软件(IDE)1.0之前的版本中项目的保存格式为.pde,你能够用1.0版本的软件打开这些文件,软件会提示你将这些项目保存为.ino的形式。

验证
检查代码编译时的错误

上传
编译你的代码并且上传到选定的控制板中,细节请查看后面的 上传 内容

注意:如果你使用的是专门的编程器,你需要在点击按钮时按住电脑的“shift”键,显示的文字会变成“使用编程器上传”。

新建
创建一个新的项目。

打开
弹出一个包含你在项目文件夹中所有项目的菜单,选择其中一个会打开相应的代码,新的项目会覆盖当前的项目。

注意:因为Java中的一个问题,所以这个菜单不会滚动,如果你需要打开的项目在列表的最后,那么需要通过菜单中的文件|项目文件夹来选择。

保存
保存你的项目。

串口监视器
打开串口监视器。

其他命令我们能够在文本菜单中找到,文本菜单包含五个部分文件编辑项目工具帮助。这些菜单是与你执行的操作与内容有关的,所以只有那些与当前操作有关的菜单才能使用。

文件

  • 新建
    创建一个新的项目,项目中已经自动完成了一段Arduino程序的最小结构。
  • 打开
    允许通过计算机的文件管理器打开一个指定的项目。

  • Open Recent
    提供一个最近打开过的项目的列表,可以通过选择打开其中一个。

  • 项目文件夹
    显示目前项目文件夹中的项目,选择其中一个会在新的窗口中打开相应的代码。

  • 示例
    显示Arduino软件(IDE)或是库文件提供的每一个例子,所有这些例子通过树形结构显示,这样就能通过主题或库的名字轻易的找到对应的示例程序。

  • 关闭
    关闭当前选中的程序。

  • 保存
    用当前的名字保存项目,如果文件还没有命名,则会弹出“另存为”窗口要求输入一个名字。

  • 另存为
    允许用另一个名字保存当前的项目。

  • 页面设置
    显示用于打印的页面设置窗口。

  • 打印
    按照页面设置中的设定发送当前的项目给打印机。

  • 首选项
    打开首选项窗口能够自己设定IDE的参数,比如IDE的语言环境。

  • 退出
    关闭所有IDE窗口,当下次打开IDE的时候会自动打开同样的项目。

编辑

  • 撤销
    撤销你在编辑区的一步或多步操作。
  • 重做
    当你撤销之后,可以通过重做再执行一遍相应的操作。
  • 剪切
    删除选择的文本放置在剪切板中。

  • 复制
    复制选中的文本放置在剪切板中。

  • 复制到论坛
    复制项目中的代码放置在剪切板中,复制的内容包括完整的语法颜色提示,适合粘贴到论坛中。

  • 复制为HTML格式
    以HTML形式复制项目中的代码放置在剪切板中,适合将代码嵌入到网页中。

  • 粘帖
    将剪切板中的内容放在编辑区的光标处。

  • 全选
    选中编辑区的所有内容。

  • 注释/取消注释
    在选中行的开头增加或移除注释标记符//。

  • 增加缩进
    在选中行的开头增加一段缩进的位置,文本内容会相应的向右移动。
  • 减少缩进
    在选中行的开头减少一段缩进的位置,文本内容会相应的向左移动。
  • 查找
    会打开查找和替换窗口,在这个小窗口内你可以根据几个选项在当前的项目中查找特定的文字。

  • 查找下一个
    高亮显示下一个在查找窗口中指定的文字(如果有的话),同时将光标移动到对应的位置。

  • 查找上一个
    高亮显示上一个在查找窗口中指定的文字(如果有的话),同时将光标移动到对应的位置。

项目

  • 验证/编译
    检查你代码中编译的错误,代码和变量使用存储区的情况会显示在控制台。

  • 上传
    编译并通过设定的串口上传二进制到选定的控制板当中。

  • 使用编程器上传
    这将覆盖控制板中的引导程序;你需要使用 工具>上传引导程序 来恢复控制板,这样下次才能再通过USB串口上传程序。不过这种形式允许你的项目使用芯片的全部存储区。

  • Export Compiled Binary (导出编译的二进制代码)
    保存一个.hex文件作为存档或是用其他工具给控制板上传程序。

  • 显示项目文件夹
    打开当前项目所在的文件夹。

  • Include Library (导入库)
    在代码开头通过#include 的形式添加一个库文件到你的项目当中,更多细节请参考库当中的内容,另外,通过这个菜单项你能够访问库管理器,并且能够从.zip文件中导入新库。

  • 添加文件
    添加源文件到项目中(会从当前位置复制过来)。新的文件会出现在项目窗口中的新选项卡中。可以通过小三角形图标的选项卡菜单命令来删除文件,选项卡菜单位于串口监视器按钮的下方。

工具

  • 自动格式化
    格式化之后代码看起来会更美观,比如,大括号内的代码要增加一段缩进,而大括号内的语句缩进更多。

  • 项目存档
    将当前的项目以.zip形式存档,存档文件放在项目所在的目录下。

  • 编码修正及重载
    修正了编辑字符与其他系统字符间可能存在的差异。

  • 串口监视器
    打开串口监视器口,通过当前选定的串口查看与控制板之间交互的数据。通常这个操作会重启控制器,如果当前控制板支持打开串口复位的话。


  • 选择你使用的控制板,详细信息参考各个控制板的介绍

  • 端口
    这个菜单包含了你电脑上所有的串口设备(真的串口设备或虚拟的串口设备),每次打开工具菜单时,这个列表都会自动刷新。

  • 编程器
    当我们不是通过USB转串口的连接方式给控制板或芯片上传程序的时候就需要通过这个菜单选择硬件的编程器。一般你不需要使用这个功能,除非你要为一个新的控制器上传引导程序。

  • 上传引导程序
    这个菜单项允许你给Arduino上的微控制器上传引导程序,如果你是正常使用Arduino或是Genuino控制板这个菜单项不是必须的,不过如果你购买了一个新的ATmega微控制器的话(通常都不包含引导程序),那么这个菜单项非常有用。在为目标板上传引导程序时要确保你从“控制板”菜单中选择了正确的控制板。

帮助

这里你能够轻易的找到和Arduino软件(IDE)相关的各种文档。在未联网的情况下能够找到入门、参考资料、IDE使用指南以及其他的本地文档,这些文档是我们网站资源的拷贝,通过它们能够链接到我们的网站。

  • 在参考文件中寻找
    这是帮助菜单中唯一的交互功能,这样能够根据光标选中的部分直接跳转到相关的参考文件。

 

项目文件夹

Arduino软件(IDE)采用项目的方式对项目进行管理:所有的代码(或草图)存在一个统一的位置,可以通过菜单文件>项目文件夹或是工具栏中的打开按钮从项目文件夹中打开一个项目。当你第一次运行Arduino软件的时候会自动创建一个项目文件夹,你可以通过“首选项”的对话框来改变项目文件夹的位置。

1.0版本之后保存文件的扩展名是.ino,之前的版本保存文件的扩展名为.pde。在1.0以及之后的版本中你依然可以打开.pde的文件,软件会自动重命名为.ino。

选项卡,多个文件以及代码编译

允许你在项目中使用多个文件(每一个文件有一个自己的选项卡),这些文件可以是正常的Arduino代码文件(扩展名不可见),也可以是C文件(扩展名.c)、C++文件(.cpp)或是头文件(.h)。

上传

上传程序之前,你需要通过工具>控制板以及工具>端口选择正确的选项,控制板的描述在这里。在Mac中,端口可能像/dev/tty.usbmodem241 (Uno或Mega2560或Leonardo)这样,或是像/dev/tty.usbserial-1B1 (Duemilanove或更老的版本)这样,或是像/dev/tty.USA19QW1b1P1.1 (使用Keyspan USB转串口适配器连接的控制板)这样。在Windows中,通常是COM1COM2 (串口板),或是COM4, COM5, COM7或更大(USB接口板),通常在Windows的设备管理器中查看USB串口设备的串口号。在Linux中,通常显示的是/dev/ttyACMx , /dev/ttyUSBx之类的。

一旦你选择了正确的控制板和端口,那么当你点击工具栏中的上传按钮或是在项目菜单中选择上传子菜单时,当前的Arduino控制板就会自动重启然后开始上传。老版的控制板(Diecimila之前)没有自动重启功能,所以当你开始上传时需要按以下板上的重启按钮。更多的控制板的情况是,当上传时你能看到RX和TX灯开始闪烁。当上传完成时,Arduino软件(IDE)将显示一个上传完成的信息,或是显示一个上传错误的信息。

当你上传项目时,使用到了Arduino的引导程序,这个一个在微控制器中运行的非常小的程序 ,这个程序允许你在没有其他附件硬件设备的情况下上传代码。引导程序在控制板重启的时候会运行几秒钟,此时就能够将项目上传到微控制器当中。当引导程序运行时板载的LED(13脚)会闪烁(比如重启的时候)。

 

库为项目提供了额外的功能,比如,硬件的使用和数据的处理。要在项目中使用库,需要选择菜单项目>Include Library(导入库) 。这将在代码开头通过#include 的形式添加一个或多个库文件到你的项目当中,因为库会随你的项目上传到控制板当中,所以这会增加代码对存储空间的占用,如果代码中不再需要一个库,最简单的就是在代码中删除相应的#include部分。

在参考文件中有 库的列表 ,一些库是包含在Arduino的软件当中的,另外一些则是在不同的网站或是库管理器上下载的。IDE软件从1.0.5开始,你能够从一个.zip文件中导入一个库并用在项目中,具体参照第三方库安装指南.

想写自己的库,可以参考 这个教程

第三方硬件

添加第三方硬件可以直接添加到项目文件夹所在目录的hardware文件夹中,平台安装必须包含控制板定义(出现在控制板菜单项中)、核心库、引导程序以及编程器定义。步骤是首先创建一个hareware的文件夹,然后将第三方平台解压到相应的文件夹下。(不要使用“arduino”作为子目录的名字,这样有可能改变原本的Arduino平台。)卸载的话简单删除文件夹就好了。

创建第三方硬件安装包的详细内容可以参考Arduino IDE 1.5第三方硬件说明.

 

串口监视器

显示Arduino或Genuino(USB或串口板)发送的数据,要想发送数据给控制板的话,就需要在文本框中输入文本,然后点击"发送"按钮或回车。从下来菜单中选择合适的波特率,这个波特率要与程序中Serial.begin后的参数一致。注意在Windows、Mac或Linux中,当你打开串口监视器的时候Arduino或Genuino会重启(程序会重新开始运行)。

控制板同样能够和Processing, Flash, MaxMSP等软件通信,参考交互页面了解细节。

 

首选项

一些首选项能够通过首选项对话框设定(Mac中在Arduino菜单下,Windows或Linux中在文件菜单下。)其他的设定能够在首选项对话框中设定的目录中找到。

语言支持


从版本1.0.1开始,Arduino软件(IDE)已被翻译成30多种语言,默认的情况下,IDE会根据系统的语言选择相应的语言(注意:在Windows中以及可以在Linux中,这是由系统的日期和时间格式来确定的,而不是由操作系统显示的语言来确定的。)

如果你想手动更改语言,那就打开Arduino软件,然后在首选项的对话框中选择编辑器语言,在弹出的下来菜单中选择相应的语言,然后重启软件使所选择的语言生效,如果你的操作系统不支持你所选择的语言,那么IDE会默认采用英文。

你能够返回Arduino的默认设置,让IDE根据系统的语言选择相应的语言,只需要在语言选择的下拉菜单中选择系统默认。当你重启软件时这个设置会生效。同样的,改变你的系统设置后,你需要重新启动Arduino软件才能变为新的默认语言。

 

选择控制板有两个作用:设定编译或上传程序是的参数(比如CPU的速度和波特率),以及设定上传引导程序时的文件以及熔丝位设置。一些控制板只是引导程序不一样,所以即使你在一个特定的选择下上传成功了,在上传引导程序之前也要仔细检查一下。这里我们将不同的控制板做一个比较

  • Arduino Yùn
    基于ATmega32u4, 16 MHz晶振,自动复位, 12个模拟量输入, 20个数字 I/O ,其中7个 PWM.

  • Arduino/Genuino Uno
    基于 ATmega328, 16 MHz晶振,自动复位, 6个模拟量输入, 14个数字 I/O ,其中6个 PWM.

  • Arduino Diecimila 或 Duemilanove w/ ATmega168
    基于ATmega168,16 MHz晶振,自动复位,

  • Arduino Nano w/ ATmega328
    基于ATmega328,16 MHz晶振,自动复位, .8个模拟量输入.

  • Arduino/Genuino Mega 2560
    基于ATmega2560 ,16 MHz晶振,自动复位, 16个模拟量输入,54个数字 I/O,其中15个 PWM.

  • Arduino Mega
    基于ATmega1280 ,16 MHz晶振,自动复位, 16个模拟量输入, 54个数字 I/O ,其中15个 PWM.

  • Arduino Mega ADK
    基于ATmega2560,16 MHz晶振,自动复位, 16个模拟量输入, 54个数字 I/O,其中15 个PWM.

  • Arduino Leonardo
    基于 ATmega32u4,16 MHz晶振,自动复位, 12个模拟量输入, 20个数字 I/O ,其中7个 PWM.

  • Arduino/Genuino Micro
    基于 ATmega32u4,16 MHz晶振,自动复位, 12个模拟量输入, 20个数字 I/O ,其中7个 PWM.

  • Arduino Esplora
    基于 ATmega32u4,16 MHz晶振,自动复位,

  • Arduino Mini w/ ATmega328
    基于 ATmega328, 16 MHz晶振,自动复位, 8个模拟量输入, 14个数字 I/O ,其中6个 PWM

  • Arduino Ethernet
    等效于ArduinoUNO与以太网扩展板的组合,基于 ATmega328, 16 MHz晶振,自动复位, 6个模拟量输入, 14个数字 I/O ,其中6个 PWM

  • Arduino Fio
    基于 ATmega328, 8 MHz晶振,自动复位, 等效于Arduino Pro 或 Pro Mini (3.3V, 8 MHz) w/ ATmega328 ,6个模拟量输入, 14个数字 I/O ,其中6个 PWM

  • Arduino BT w/ ATmega328
    基于 ATmega328, 16 MHz晶振,引导程序包含蓝牙模块的初始化程序,6个模拟量输入, 14个数字 I/O ,其中6个 PWM
  • LilyPad Arduino USB
    基于 ATmega32u4, 8MHz晶振,自动复位, 4个模拟量输入, 9个数字 I/O ,其中4个 PWM
  • LilyPad Arduino
    基于 ATmega168ATmega132, 8MHz晶振,自动复位, 6个模拟量输入, 14个数字 I/O ,其中6个 PWM
  • Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
    基于 ATmega328,16 MHz晶振,自动复位. 等效于Arduino Duemilanove 或 Nano w/ ATmega328, 6个模拟量输入, 14个数字I/O ,其中6个 PWM.
  • Arduino NG or older w/ ATmega168
    基于 ATmega168,16 MHz晶振,没有自动复位功能,编译和上传等效于Arduino Diecimila 或 Duemilanove w/ ATmega168,不过上传引导程序超时较慢(13脚的LED在重启后会闪烁3次),6个模拟量输入, 14个数字I/O,其中6 个PWM.
  • Arduino Robot Control
    基于 ATmega328,16 MHz晶振,自动复位.
  • Arduino Robot Motor
    基于 ATmega328,16 MHz晶振,自动复位.
  • Arduino Gemma
    基于 ATtiny85,8 MHz晶振,自动复位. 1 个模拟量输入, 3个数字I/O ,其中2个 PWM.


关于安装其他控制板的介绍,参考 第三方硬件 的相关内容。 此网页的内容已从知识共享署名 - 相同方式共享3.0许可协议 版获得了许可。当中的代码样例 在公共领域发表。

Share