
3.3 Arduino开发环境
Arduino开发包含两个要素:Arduino开发板和Arduino集成开发环境。目前应用最多的Arduino开发环境为官方的免费Arduino IDE编程环境,官方网址为https://www.arduino.cc,到本书撰写时最新的版本为1.8.4,支持Windows,MacOS和Linux操作系统。如果习惯微软的Visual Studio环境,也有Arduino for Microsoft Visual Studio的插件,网址http://www.visualmicro.com/,安装后可以在Visual Studio里面进行Arduino的开发。
ArduBlock是一款为Arduino设计的图形化编程软件,ArduBlock是一个Arduino的扩展库,以图形化积木搭建的方式编程。
Processing的最初目标是开发图形的sketchbook和环境,用来形象地教授计算机科学的基础知识。之后,它逐渐演变成了用于创建图形可视化专业项目的一种环境。如今,围绕它已经形成了一个专门的社区,致力于构建各种库以供用这种语言和环境进行动画、可视化、网络编程及很多其他的应用。
下面分别进行介绍。
3.3.1 Arduino IDE介绍
Arduino IDE的主页为https://www.arduino.cc,支持Windows、Mac OS和Linux操作系统,最新版本为1.8.4。Windows平台又分为Windows安装包和Windows免安装ZIP包,如图3-18所示。

图3-18 Arduino IDE下载界面
下面以“Windows免安装ZIP包”为例说明使用过程。
下载软件包arduino-1.8.4-windows.zip以后,解压,不需要安装,直接运行其中的arduino.exe文件即可,如图3-19所示。
运行arduino.exe文件,启动Arduino IDE,界面如图3-20所示,开发环境非常简洁,包括菜单栏、图形化的工具栏、中间的编辑区域和底部的状态区域。

图3-19 Arduino IDE目录

图3-20 Arduino IDE主界面
Arduino IDE界面的工具栏,从左至右依次为“编译”“下载”“新建”“打开”“保存”、“串口监视器(Serial Monitor)”和“新建标签”等按钮。
Arduino开发板和运行Arduino IDE的PC是通过USB线连接的,如图3-21所示,因此首先需要安装USB变SERIAL的驱动。

图3-21 Arduino开发板和PC的连接
Arduino开发板的驱动文件大部分在Arduino IDE的drivers目录下,如果安装不成功,先确定Arduino开发板的USB变SERIAL驱动芯片,再下载相应的驱动程序,安装完成以后在设备管理器可以看到对应的串口号,如图3-22所示。

图3-22 在设备管理器查看对应的串口号
然后在Arduino IDE的主界面,选中菜单栏中的“工具”>“端口”命令,接着选择串口号,如图3-23所示。

图3-23 选择串口号
还需要选择开发板类型,方法是在Arduino IDE主界面的菜单栏中选择“工具”>“开发板”命令。
Arduino的程序组成必须有的两个函数是:

前一个函数放置初始化Arduino的程序,以及引脚的输出模式,在未执行后一个函数之前设置好相关参数。后一个是一个死循环,意思就是一直执行,除非断电。
比如,Arduino UNO开发板13号引脚连接板上的LED灯,控制LED亮灭的Arduino的代码如下:

单击Arduino IDE中的“下载”按钮下载到目标板,就可以看到LED灯的闪烁效果。
3.3.2 ArduBlock-Arduino的图形开发环境
ArduBlock中文版是一款开源的图形化编程工具,这款软件必须依附于Arduino IDE环境启动,ArduBlock是以图形化积木搭建的方式编程的,这样的方式会使编程的可视化和交互性加强,降低编程门槛,即使没有编程经验的人也可以尝试给Arduino控制器编写程序。

图3-24 ArduBlock插件安装目录
然后启动Arduino IDE,在主界面选择“工具”>“ArduBlock”命令(ArduBlock是安装ArduBlock插件出现的新菜单),弹出可视化编程窗口,如图3-25所示。

图3-25 ArduBlock图形化编程环境
例如,串口显示超声波测距的ArduBlock程序,如图3-26所示。单击“下载到Arduino”按钮可直接下载到Arduino开发板。

图3-26 串口显示超声波测距的ArduBlock程序
3.3.3 Arduino使用外部库
Arduino IDE中已经集成了库管理功能,通过选择“项目”>“加载库”>“管理库”命令,如图3-27所示,就可以打开库管理器了。

图3-27 选择“管理库”命令
“库管理器”对话框如图3-28所示,在这里以安装DHT11库为例,搜索找到DHT11库,然后选择想要安装的库版本,然后单击“安装”按钮,开始安装。

图3-28 “库管理器”对话栏
安装完成以后,在Arduino IDE中选择“文件”>“首选项”命令,打开“首选项”对话框,在“项目文件夹位置”下的“libraries”目录下存放下载的文件,如图3-29所示。

图3-29 库下载位置
在Arduino IDE菜单栏中选择“文件”>“示例”命令,可以看到新增加的“Simple DHT”命令,选择此命令即可打开DHT类库的示例程序,如图3-30所示。

图3-30 增加的DHT示例
例如,选择“DHT11 Default”命令,示例代码及运行结果如图3-31所示(DHT11温湿度传感器的使用详见第六章)。

图3-31 DHT11Default示例代码及运行结果
在“库管理器”对话框中可以很方便地添加第三方库,但其中只提供了一些常用的库资源,如果需要添加更多的库资源或者自定义的库,就需要用户自己准备,找到或编写库。大部分开发者都喜欢将他们编写的Arduino库放到开源社区上分享。
Github是全球最大的git服务提供商,也是最大的开源社区之一,很多常用的Arduino库,都可以通过Github找到。
仍以SR04超声波传感器模块为例,可以在以下网址下载这个类库:http://clz.me/101-book/lib/sr04/,在该页面可以使用SR04的下载超链接,下载后,会得到一个名为SR04.zip的文件,使用这个库有两种方法。
方法1
解压该文件,并将解压出的SR04文件夹放到Arduino IDE所在文件夹中的libraries文件夹内,例如arduino-1.8.4\libraries,如图3-32所示。

图3-32 将SR04复制到库目录
libraries文件夹中存放的是Arduino的各种类库,将类库放入其中后,便可以在编写程序时调用这个库及使用示例代码。
需要注意的是:库文件夹下要直接显示∗.cpp和∗.h文件,绝对不可以把这些库文件再套到二级以上目录,否则会导致IDE无法识别。
打开Arduino IDE,可以在Arduino IDE的菜单中选择“文件”>“示例”命令,可以看到新增加的“SR04”命令,如图3-33所示,选择此命令即可打开SR04类库的示例程序。

图3-33 SR04类库的示例菜单
SR04示例OutputDistance的代码如图3-34所示(SR04超声波传感器的使用详见第六章)。

图3-34 OutputDistance的代码
方法2
在Arduino IDE的菜单中选择“项目”>“加载库”>“添加一个.zip库”命令,如图3-35所示。

图3-35 添加一个.zip库
将库文件加载到C:\Users\用户名\Documents\Arduino\libraries目录下,便可以在编写程序时调用这个库及使用示例代码。