
1.2 搭建Arduino开发平台
上一节讲解了Arduino控制器系列,其中重点介绍了Arduino Uno控制器的硬件资源,本节主要讲解驱动安装、Arduino IDE(集成开发环境)的使用,并且完成第一个项目——点亮Arduino上的LED。
要搭建Arduino开发平台,首先要从Arduino官网下载Arduino集成开发包,然后将其解压放置于C:\program files\路径下,并右击arduino.exe生成桌面快捷方式。Arduino集成开发环境下载地址:http://arduino.cc/en/Main/Software。
1.2.1 安装驱动
在将Arduino控制器第一次连接电脑时,系统会提示自动安装驱动程序,如果电脑联网则可能成功安装,否则需要人工引导安装驱动。此部分针对Windows系统,且第一次将Arduino控制器接入的情况。
使用USB线将Arduino连接至电脑的USB端口,电脑桌面右下角弹出正在安装驱动程序,一般情况下都不能成功安装驱动程序,如图1-11和图1-12所示。

图1-11 正在安装驱动程序

图1-12 驱动程序安装失败
这时打开设备管理器,可以看到有一个未成功安装的设备,右击选择更新驱动程序,目录选择Arduino IDE的drive目录,如图1-13和图1-14所示。

图1-13 更新驱动程序软件

图1-14 选择驱动程序目录
系统会弹出Windows安全窗口,单击“始终安装此驱动程序软件”,紧接着系统自动安装驱动程序,如图1-15所示。安装完成之后,即可在设备管理器中的端口下看到Arduino Uno设备,如图1-16和图1-17所示。
1.2.2 Arduino IDE的使用
运行Arduino IDE,弹出如图1-18所示的启动画面。过几秒之后,弹出Arduino IDE的主操作界面,并默认新建了一个以日期命名的程序文本,如图1-19所示。

图1-15 始终安装此驱动程序软件

图1-16 驱动程序安装成功

图1-17 Arduino Uno R3 设备

图1-18 Arduino IDE 启动画面
在工具栏上,Arduino IDE提供了常用功能的快捷键。
❏校验(Verify):验证程序是否编写无误,如无误则编译该项目。
❏烧录(Upload):将编写的程序烧录到Arduino控制器上。
❏新建(New):新建一个项目。
❏打开(Open):打开一个项目。
❏保存(Save):保存当前项目。
❏串口监视器(Serial Monitor):用它可以查看串口发送和接收到的数据。
1.2.3 第一个项目——Blink
要想完成第一个项目,首先需要有一块Arduino控制板(此部分以Uno为例),使用USB线将Arduino控制板连接至电脑的USB端口,并成功完成驱动程序,然后打开Arduino IDE中的示例程序Blink。具体路径为“File”→“Examples”→“Basics”→“Blink”,如图1-20所示。

图1-19 Arduino IDE 主界面

图1-20 Blink 程序目录
示例Blink中的程序如代码清单1-1所示,此部分不做程序讲解,留在1.2.4小节讲解。
代码清单1-1:Blink程序代码
int led = 13; // 定义数字口13作为LED灯的控制信号 // 当Arduino重启之后,只执行一次 void setup() { pinMode(led, OUTPUT); // 初始化引脚作为输出 }
// 此部分一直循环执行 void loop() { digitalWrite(led, HIGH); // 点亮LED delay(1000); // 延时1秒 digitalWrite(led, LOW); // 熄灭LED delay(1000); // 延时1秒 }
然后在Arduino IDE中选择Arduino控制器的类型和Arduino控制器的串口号,控制器类型选择为Arduino Uno,具体路径为"Tools"→"Board"→"Arduino Uno",笔者的Arduino Uno在电脑上生成的串口号为COM5,所以选为COM5,如图1-21和图1-22所示。

图1-21 选择控制器类型

图1-22 选择串口号
最后点击编译按钮,编译无误,如图1-23所示。点击下载按钮,当下载完成(见图1-24)之后,我们就可以看到Arduino Uno控制板上的LED以1秒的速度在闪烁。到此,我们的第一项目——Blink就实现了,同样可以在其他型号的Arduino控制器上实现,只需要选择好相应的控制器类型即可。

图1-23 编译无误

图1-24 下载成功
1.2.4 Arduino程序框架
由以上的Blink示例程序,可以知道Arduino程序的基本框架由setup()和loop()两部分组成。
在Arduino控制器中程序运行时将首先执行setup()函数,然后执行loop()函数,并且不断循环执行loop()函数。每次Arduino上电或重启后,都会首先执行setup()函数,而且setup()函数只运行一次。setup()函数用于设置引脚的输入/输出类型、配置串口、引入类库文件、外围器件使用前的初始化等。loop()函数在程序运行过程中不断地循环,根据所编写的程序,完成指定的输入/输出功能。
在代码清单1-1中,首先在执行setup()函数的时候调用pinMode(led,OUTPUT)将LED灯的数字引脚D13设置为输出,然后进入loop()函数中,不断地循环执行digitalWrite(led,HIGH)、delay(1000)、digitalWrite(led,LOW)和delay(1000),依次实现点亮LED,延时1秒,熄灭LED,延时1秒,周而复始形成周期为两秒的闪烁灯。