概述
Arduino是一款开源软硬件平台,被业余爱好者、DIY爱好者、学生和专业人士广泛使用。由于其易用性和成本优势,也成为我个人最喜欢的原型平台。今天,我会详细教您下载并安装Arduino IDE、编写一个LED闪烁Arduino程序、将程序上传到Arduino板进行实现,以帮您轻松使用Arduino。
估计完成时间:30-45分钟
所需器件和设备
- Arduino开发板(Uno、Nano、Mega等)
- LED
- 电阻
- 面包板
- 跳线
- 电脑,连接互联网
目录
- 安装Arduino IDE
- 搭建电路
- 编写Arduino程序
- 上传Arduino程序,点亮LED
- 附件:Arduino代码
1) 安装Arduino IDE
Arduino IDE是Arduino的开源软件集成开发环境。该款IDE包含了软件开发的所有必要工具。要使用Arduino开发板,您需要下载Arduino IDE,使用该IDE编辑您的源代码,然后将代码上传至开发板。Windows、Mac和Linux系统都可以安装Arduino IDE。
您可以在这里下载最新版的Arduino IDE:https://www.arduino.cc/en/Main/Software
请下载程序,并按照必要的安装步骤安装到您的电脑上。
2) 搭建电路
需要搭建的电路非常简单。我使用面包板来搭建这个电路。您可以将元件焊接在一起,也可以利用原型板为您的Arduino制作一块开发板。搭建电路之前,我喜欢先用Fritzing绘制我的电路原理图(图1:Fritzing原理图)。Fritzing是一款开源原理图设计和PCB布线软件。Fritzing的下载地址如下:https://fritzing.org/home/.
LED和电阻应串联在数字I/O引脚3和接地引脚之间(图2:Arduino电路板连接)。电阻的作用是限制流过LED的电流,并应根据您的LED进行相应调整,以防止电流过大将LED烧坏。
3) 编写Arduino程序
Arduino IDE安装成功之后,我们就可以开始编写代码了。Arduino的源代码文件称为Sketch(草拟程序)。Arduino编程语言基于C/C++,而且非常相似。打开Arduino IDE,屏幕上会出现一个新的空白程序(图4:新Arduino程序)。
Arduino程序分为两个部分:a) 设置和b) 循环。我喜欢为我的所有源代码添加一个头文件,描述代码的标题、日期、说明和版本(如有必要)(图5:源代码头文件)。
下一步应包含任何必要的库,但是我们的代码不使用任何库,因此我们可以跳过这一步。
接下来,我们编写全局变量定义。这一步并不是必须的。但是,在处理更复杂的代码时,这种定义可以简化代码并使得程序编辑更加容易。定义一个变量时,其实是为变量分配一个值。在本例中,我将Arduino Uno上的数字I/O引脚3定义为LED输出引脚(图6:LED引脚定义)。
如果将来我想改变LED的输出引脚,那么我只需改变这个定义即可,不必更改任何其他代码。
代码的设置部分是进行必要软硬件配置的地方。这部分代码只运行一次。我们想驱动LED,因此我们应将LED所连的数字I/O引脚配置为输出引脚(图7:引脚配置)。
现在我们已经完成了Arduino的设置,可以编写代码的主体了。编写的代码应位于循环部分中,系统上电后会一直重复执行,除非另有说明或直到Arduino电源断开后才会停止。
为了每秒闪烁一次LED,我们编写以下命令(图8:LED闪烁循环):
1) 点亮LED
2) 等待0.5秒(500毫秒)
3) 熄灭LED
4) 等待0.5秒
5) 重复
由于我们编写的代码位于循环函数中,因此Arduino会自动重复执行这些代码。
4) 上传Arduino程序
用USB电缆将Arduino开发板连至电脑。连接Arduino后,请按照以下步骤上传程序:
1) 选择目标板(图9:目标板选择)
- 目标板选择会告诉Arduino IDE您要上传的Arduino开发板。
- 注:如果您的开发板不是Arduino Uno,那么请选择您的开发板对应的型号。
2) 选择电路板连接的串口(图10:串口连接)
- 注:在Windows系统上,串口通常是一个COM端口。
3) 按下“上传”按钮将程序上传到Arduino(图11:上传按钮位置)
祝贺您!现在您的LED应该每秒闪烁一次(图12:LED熄灭,图13:LED点亮)。您刚刚安装了Arduino IDE,并用它成功编写并上传了您的第一个Arduino程序。
5) 附件:Arduino代码
/* Project: LED_Blink
* Written by:Chris Marella
* Date: January 4, 2017
* Description: The following code will flash an LED on and off.
*/
//Pin Definitions
const int LED = 3; //define digital pin 3 as LED output
void setup() {
//Pin Configurations
pinMode(LED, OUTPUT); //configure the LED pin as an Output
}
void loop() {
//Flash a LED on and off every second
digitalWrite(LED, HIGH); //Turn LED on for 1/2 a second
delay(500);
digitalWrite(LED, LOW); //Turn LED off for 1/2 a second
delay(500);
}