Arduino开发板介绍、编程入门
- 开发板介绍
- 编程入门
- setup和loop函数
- 引脚信号输入输出
- 数字信号
- 模拟信号
开发板介绍
下面是一张Ardunio Uno R3的引脚图,包含14个数字引脚、6个模拟输入、电源插孔、USB连接和ICSP插头等。
14个数字引脚:
- Serial:0、1,被用于接收和发送串口数据。
- 外部中断:2、3,可以输入外部中断信号。中断有四种触发模式:低电平触发、电平改变触发、上升沿触发、下降沿触发。
- PWM输出:3、5、6、9、10、11,可输出8-bit PWM波。
- SPI:10、11、12、13,可用于SPI通信。
- L-LED:13,连接了一个LED,高电平打开LED,低电平关闭LED。
6个模拟输入:A0到A5,可以从模拟传感器(例如温度和湿度)读取信号,并转换为数字值。
电源插孔:图中最左上角的插孔。
USB连接:Arduino不可以同通过连接计算机上的USB线供电,获取计算机的脚本。
ICSP引脚:ICSP是一个AVR(自动电压调节器),通常称为SPI(串行外设接口),作为输出的“扩展”,把要输出设备从属到SPI总线的主机,通常由6个引脚。ICSP引脚旁边的“ON”电源LED显示灯表示是否由接通电源。
- MISO:主控器输入,从芯片输出。
- MOSI:主控器输出,从芯片输入。
- SCK:时钟信号,用于同步数据传输。
- RESET:复位,用于将芯片重置为初始状态。
- VCC和GND:电源引脚,提供芯片所需的电源和地。
电源连接器:模拟端口左边的一组“POWER”的端口组。
- IOREF:arduino工作时的电压,5V。
- RESET:复位,重启arduino。
- 其余的引脚提供不同的电压:3.3V、5V、GUN(接地0V)、Vin(9V)。
编程入门
打开IDE后可以看到自己生成的代码。
setup和loop函数
头文件:初始的时候,没有显示任何头文件,是因为已经IDE帮忙把需要头文件引入并隐藏了,如果需要自己引入额外的头文件再自己添加。
setup函数:启动后只会被运行一次,用来初始化串口、引脚、变量。
loop函数:setup后一直运行,不停循环,相当于主函数。
引脚信号输入输出
既然涉及到信号,就要补充一些信号的知识。对于我来说,最早接触信号是在计算机网络物理层的编码和调制的时候,编码能把数据变成模拟信号;调制能把数据变成数字信号。数字信号和模拟信号,数字信号是一些离散的信号,例如0和1;模拟信号是一些连续的信号。
数字信号
Arduino Uno的14个数字输入输出引脚,可使用 pinMode()、digitalWrite() 和 digitalRead() 控制。
pinMode(pin,value)
函数作用:设置引脚用于输入和输出模式。
value:OUTPUT表示输出,INPUT表示输入。
digitalWrite(pin,value)
函数作用:控制该引脚输出高电平或者低电平。
value:HIGH高电平,LOW低电平。
digitalRead(pin,value)
函数作用:判断该引脚输入的电平和value是否一致。
value:HIGH高电平,LOW低电平。
digitalRead(pin)
函数作用:获取该引脚的电平。
程序入门案例
/*
引脚2连接一个按钮,作为信号输入
引脚13号连接的是板子上的led灯,作为信号输出
*/const int ledPin = 13;
const int inputPin = 2;void setup()
{ //将引脚13设置为输出模式pinMode(ledPin, OUTPUT); //将引脚2设置为输入模式//引脚2与外部按钮连接pinMode(inputPin, INPUT);
}void loop()
{// 闭合按钮,引脚2为高电平int val = digitalRead(inputPin); if (val == HIGH){digitalWrite(ledPin, HIGH);// 点亮led} else {digitalWrite(ledPin, LOW);// 熄灭led}
}
模拟信号
Arduino Uno的6个模拟输入输出引脚,可使用 analogReference()、analogRead()和analogWrite()控制。
analogReference(type)
函数作用:配置模拟输入引脚的基准电压,也就是电压最大范围。
type:
- DEFAULT:默认5v或者3.3v为基准电压。
- INTERNAL:低电压模式,使用片内基准电压。
- INTERNAL1v1:低电压模式,使用1v为基准电压。
- INTERNAL2v256:低电压模式,使用2.56v为基准电压。
- EXTERNAL:扩展接口,施加到AREF引脚的电压(仅限0至5V)用作基准电压源。
analogRead(pin)
函数作用:获取指定的模拟引脚读取模拟量,读取周期为100微秒,即最大速度为每秒读取10000次,函数返回值为int型(0~1023)。
analogWrite (pin, value)
函数作用:通过PWM的模式将模拟值输入到pin,调用analogWrite()后,相应的pin会产生一个指定占空比的稳定方波。
value:PWM占空比,PWM输出位数为8,其范围在0到255对应占空比为0到100%,带PWM功能的引脚标会有波浪线。