1.3 Arduino软件开发平台

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

1.3.1 Arduino平台特点

作为目前最流行的开源硬件开发平台,Arduino具有非常多的优点,正是这些优点使得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所示。在下载界面选择适合自己计算机操作系统的安装包。这里以64位Windows 7系统中的安装过程为例进行介绍。

图1-13 Arduino下载界面

(2)双击EXE文件选择安装,弹出如图1-14所示的界面。单击“是”按钮,弹出如图1-15所示的界面。

图1-14 Arduino安装界面

图1-15 Arduino协议界面

(3)单击I Agree按钮同意协议,弹出如图1-16所示的界面。

图1-16 Arduino选择安装组件

(4)选择需要安装的组件,单击Next按钮,弹出如图1-17所示的界面。

图1-17 Arduino选择安装位置

(5)选择安装位置,单击Install按钮,弹出如图1-18所示的界面。

图1-18 Arduino安装过程

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

图1-19 Arduino安装USB驱动

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

图1-20 Arduino安装完成

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

图1-21 Arduino IDE开发界面

1.3.3 Arduino IDE的使用

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

Arduino开发板的驱动安装完毕,需要在Arduino IDE中设置相应的端口和开发板类型。方法如下: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()是设置延迟的时间,单位为毫秒(ms);digitalWrite()是向LED变量写入相关的值,使得引脚13的LED电平发生变化,即HIGH或者LOW,这样LED就会根据延迟时间交替地亮灭。

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

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

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