文章目录
- 1. Arduino概述
- 1.1 是什么?
- 1.2 分类
- 1.3 组成
- 1.4 电源
- 2. Arduino软件开发流程
- 2.1 明确接口函数
- 2.2 连接板子
- 2.3 打开项目【或者自己编程序】
- 2.4 选择板子类型
- 2.5 选择通讯端口
- 2.6 下载程序
- 2.7. 编写程序代码——程序架构
- 3. 较常用的封装函数
- 3.1 `pinMode(pin, mode)` 函数
- 3.2 `digitalWrite(pin, value)` 函数
- 3.3 `digitalRead(pin)` 函数
- 3.4 `analogWrite(pin, value)`函数
- 3.5 `analogRead(pin)`函数
- 3.6 `delay(ms)` 函数
- 3.7 `delayMicroseconds(us)` 函数
- 4. 嵌入式技术基础实验平台
- 5. 注意事项
- 6. 点亮三色灯arduino代码示例
1. Arduino概述
1.1 是什么?
- Arduino是一个简单易用的
开源电子平台。 - Arduion作用:
- 【输入方面】可读取开关或传感器的数据(比如说读取盲盒的感应数据)
- 【输出方面】控制电机转动、LED灯的开关(经典的就是小车比赛中小车的驱动)
- 实现:借助
软件编程来控制Arduino满足所需要的功能 - 开发环境:基于Arduino IDE
- 优势:
- 所有的Arduino板是完全开源的,准许用户独立使用来满足他们不同需求
- 简化了微控制器的工作过程,将微控制器编程的细节进行封装,封装成易使用的包
- 在不需要全部了解微处理器底层工作原理和过程的基础上,完成设计
1.2 分类
开发板分为入门级、高级类、物联网类、教育类、可穿戴类等五大类
- 入门级:
UNO(较常用)、MICRO、NANO、MINI等 - 高级类:
MEGA(较常用)、ZERO、DUE等 - 物联网类:YUN、ETHERNET、TIAN等
- 教育类:CTC 101、ENGINEERING KIT等
- 可穿戴类:GEMMA、LILYPAD ARDUIUNO USB、LILYPAD ARDUINO MAIN BOARD等
Arduino开发板种类很多,我们主要学习
Arduino UNO和Arduino Mega 2560

1.3 组成
- 硬件(包括微控制器、电路板等)
- 软件(编程接口和语言)


- 小板 UNO组成:

- 大板 2560组成:

1.4 电源
- 三种供电方式
- USB供电 5VDC
- 电源插座 7-12VDC
- Vin引脚 7-12VDC
- 输入输出、开发板引脚序号


2. Arduino软件开发流程
准备开发套件:
- 开源电路板Arduino
- USB下载开发Cable A to B
- 一台计算机
- 软件开发工具Arduino IDE
2.1 明确接口函数
- Arduino IDE对数据类型和main()函数进行封装,在该函数中形成了两个接口函数
setup()和loop()。- 首先执行setup(),多用于设置引脚和初始化
- setup()执行后,loop()不断地循环执行该函数体内的语句
2.2 连接板子
- 用USB数据线
【USB数据线兼有供电和数据通讯的功能】将Mega2560板与电脑的USB口相连接,连线后电源指示灯点亮(绿色)
2.3 打开项目【或者自己编程序】
- Arduino IDE中封装大量示例代码,在软件库中选择所需要的代码,在下拉菜单中点击
文件(File)—示例(Examples)—0.1Basics—Blink,打开LED闪烁样例。也可以点击文件(File)—打开(Open),选择好编辑好的后缀为.ino的源文件
2.4 选择板子类型
- 点击
工具(Tools)—开发板(Board),在开发板列表中单击选中Mega2560

2.5 选择通讯端口
- 点击
工具(Tools)—端口(Serial Port)菜单,选择开发板的通讯端口(COM1 和 COM2 通常是硬件串口的保留端口)。 - 断开连接后消失的那个串口即是Arduino板的映射串口。

2.6 下载程序
- 点击程序中
右箭头(下图所示)的按钮,等待几秒,看到板子RX和TX指示灯在闪烁。 - 若下载成功,状态栏会出现
Done uploading的提示 - 若编译错误,则需要修改程序


2.7. 编写程序代码——程序架构
- 根前面所讲,setup()首先执行,且仅执行一次,来设置引脚和初始化等准备工作,接着loop()
不断执行该函数体的语句,执行完后又回到第2.2继续循环
3. 较常用的封装函数
在C/C++的基础上,封装库提供了丰富的函数,可以直接对数字或者模拟引脚进行操作
3.1 pinMode(pin, mode) 函数
pinMode为引脚模式,设置数字引脚方向为输入或输出- 参数1
pin为引脚号0 ~ 13(大板的话为0 ~ 53) 【用为对哪个引脚进行定义】 - 参数2
mode为INPUT、INPUT PULLUP 或 OUTPUT 三者之一eg:
- pinMode(13, OUTPUT); //数字13口定义为输出
- pinMode(8, INPUT); //数字8口定义为输入
- pinMode(9, INPUT_PULLUP); //数字9口定义成输入,内部上拉电阻
3.2 digitalWrite(pin, value) 函数
digitalWrite为开关输出操作,设置数字引脚的输出值,将某引脚中赋成高电平或低电平- 参数1
pin依旧为引脚号0 ~ 13(大板的话为0 ~ 53) 【用为对哪个引脚进行定义】 - 参数2
value为HIGH或LOW【若输出连接为灯的话,value决定于灯的亮灭】
eg:
digitalWrite(13, HIGH); //数字13口输出为高电平
3.3 digitalRead(pin) 函数
digitalRead为开关量输入操作,读取数字引脚的输入值- 参数
pin为引脚号 value为HIGH或LOW
eg:
digitalRead(8); //从数字8读取信号,返回值为HIGH或LOW
3.4 analogWrite(pin, value)函数
analogWrite为模拟量输出操作,当某些特定的数字引脚作为PWM(模拟量输出)时,设置PWM的输出值UNO pin为3,5,6,9,10,11【6路】2560 pin为2 ~ 13【15路】value为0 ~ 255,输出的模拟电压与value成正比【8位DA,0 ~ 5V表示为0 ~ 255】
eg: analogWrite(3, 127); // 从模拟口3引脚输出127
3.5 analogRead(pin)函数
analogRead为读取操作,读取模拟引脚的输入值pin为A0 ~ A5(A15),返回值为0 ~ 1023(10位AD,0 ~ 5V表示为0 ~ 1023)
eg: analogRead(A0); //从模拟口A0读取数据
3.6 delay(ms) 函数
delay(ms)为延时函数【单位ms】
eg: delay(1000); // 延时1000毫秒【即为1s】
3.7 delayMicroseconds(us) 函数
deayMicroseconds(us)为更加精确的延时函数【单位us】
eg: delayMicroseconds(500); // 延迟500微秒【即为0.5ms】
4. 嵌入式技术基础实验平台
最上排的引脚,右侧写G【GND的简写】,指0V,中间一排的引脚,最右侧写着V【VCC的简写】,指5V;最下排是数字引脚,最右侧为S【signal简写】,靠编号进行区分。
5. 注意事项

6. 点亮三色灯arduino代码示例

核心:通过高低电平控制灯的亮灭
int ledPin = 13; //定义一个名为ledPin的引脚,方便可读
void setup(){
pinMode(ledPin, OUTPUT); //定义引脚ledPIn为输出
}
void loop(){
digitalWrite(ledPin, HIGH); //将ledPin变为高电平--->灯发亮
delay(1000); //延迟1s,保持发亮状态
digitalWrite(ledPin, LOW); //将ledPin变为低电平--->灯熄灭
delay(1000); //延迟1s,保持熄灭状态
//以此循环,灯处在亮暗交替的 状态
}






















