1.3 Arduino软件开发平台

本节主要介绍Arduino开发环境的特点及使用方法,包括Arduino开发环境的安装,以及简单的硬件系统与软件调试方法。

1.3.1 Arduino平台特点

作为目前最流行的开源硬件开发平台,其优点包括以下三方面:

(1)开放源代码的电路图设计和程序开发界面,可免费下载根据需求自己修改;Arduino可使用ICSP线上烧录器,将Bootloader烧入新的IC芯片;可依据官方电路图,简化Arduino模组,完成独立运作的微处理控制。

(2)能够与传感器或各式各样的电子元件连接(如红外线、超音波、热敏电阻、光敏电阻、伺服电机等);支持多样的互动程序,如Flash、Max/Msp、VVVV、PD、C、Processing等;使用低价格的微处理控制器;USB接口无须外接电源;可提供9V直流电源输入以及多样化的Arduino扩展模块。

(3)在应用方面,通过各种各样的传感器来感知环境、控制灯光、直流电机和其他的装置来反馈并影响环境;可以方便地连接以太网扩展模块进行网络传输,使用蓝牙传输、WiFi传输、无线摄像头控制等多种应用。

1.3.2 Arduino IDE的安装

Arduino IDE是Arduino开放源代码的集成开发环境,它的界面友好,语法简单,且方便下载程序,这使得Arduino的程序开发变得非常便捷。作为一款开放源代码的软件,Arduino IDE也是由Java、Processing、AVR-GCC等开放源代码的软件写成的。Arduino IDE另一个特点是跨平台的兼容性,适用于Windows、Mac OS X以及Linux。2011年11月30日,Arduino官方正式发布了Arduino 1.0版本,可以下载不同操作系统的压缩包,也可以在GitHub上下载源码重新编译自己的Arduino IDE。安装过程如下:

(1)从Arduino官网下载最新版本IDE,下载界面如图1-13所示。

图1-13 Arduino下载界面

如图1-13所示,选择适合自己计算机操作系统的安装包,这里以在64位Windows 7系统的安装过程为例。

(2)双击文件选择安装,弹出如图1-14所示的界面。

图1-14 Arduino安装界面

(3)同意协议如图1-15所示,单击IAgree按钮。

图1-15 Arduino协议界面

(4)选择需要安装的组件,如图1-16所示,并单击Next按钮。

图1-16 Arduino选择安装组件

(5)选择安装位置,如图1-17所示,并单击Install按钮。

图1-17 Arduino选择安装位置

(6)安装过程如图1-18所示。

图1-18 Arduino安装过程

(7)安装USB驱动,如图1-19所示。

图1-19 Arduino安装USB驱动

(8)安装完成,如图1-20所示。

图1-20 Arduino安装完成

(9)进入Arduino IDE开发界面,如图1-21所示。

图1-21 Arduino IDE主界面

1.3.3 Arduino IDE的使用

首次使用Arduino IDE时,需要将Arduino开发板通过USB线连接到计算机,计算机会为Arduino开发板安装驱动程序,并分配相应的COM端口,如COM1、COM2等。不同的计算机和系统分配的COM端口是不一样的,所以,安装完毕后,要在计算机的硬件管理中查看Arduino开发板被分配到哪个端口,这个端口就是计算机与Arduino开发板的通信端口。

Arduino开发板的驱动安装完毕之后,需要在Arduino IDE中设置相应的端口和开发板类型。

方法如下:Arduino集成开发环境启动后,在菜单栏中单击“工具”→“端口”命令,进行端口设置,设置计算机硬件管理中分配的端口。然后,在菜单栏单击“工具”→“开发板”命令,选择Arduino开发板的类型,如Arduino、UNO、DUE、YUN等前面介绍的开发板,这样计算机就可以与开发板进行通信,工具栏显示的功能如图1-22所示。

图1-22 Arduino IDE的工具栏功能

在Arduino IDE中带有很多种示例,包括基本的、数字的、模拟的、控制的、通信的、传感器的、字符串的、存储卡的、音频的、网络等多种示例。下面介绍最简单、最具有代表性的例子——Blink,以便于读者快速熟悉Arduino IDE,从而开发出新的产品。

在菜单栏中依次单击“文件”→“示例”→01Basic→Blink命令,这时在主编辑窗口会出现可以编辑的程序。这个Blink范例程序的功能是控制LED的亮灭。在Arduino编译环境中,是以C/C++的风格来编写的。程序的前面几行是注释行,介绍程序的作用及相关的声明等;然后是变量的定义。最后是Arduino程序的两个函数,即void setup()和void loop()。在void setup()中的代码会在导通电源时执行一次,void loop()中的代码会不断重复执行。由于在Arduino UNO开发板引脚13上有LED,所以定义整型变量LED=13,用于函数的控制。另外,程序中用了一些函数:pinMode()是设置引脚的作用为输入还是输出;delay()是设置延迟的时间,单位为毫秒;digitalWrite()是向LED变量写入相关的值,使得引脚13 LED的电平发生变化,即HIGH或者LOW,这样LED就会根据延迟的时间交替亮与灭。

完成程序编辑之后,在工具栏中找到存盘按钮,将程序进行存盘;然后,在工具栏找到上传按钮,单机该按钮将编辑后的程序上传到Arduino开发板中,使得开发板按照修改后的程序运行;同时,还可以单击工具栏的串口监视器,观看串口数据的传输情况,它是非常直观高效的调试工具。

编辑及窗口中的程序如下:

当然,目前还有其他支持Arduino的开发环境,如SonxunStudio,它是由松迅科技开发的集成开发环境,目前只支持Windows系统的Arduino系统开发,包括Windows XP以及Windows 7,使用方法与Arduino IDE大同小异,由于篇幅有限,这里不再一一赘述。