Arduino| 开发板介绍、编程入门(引脚信号的输入输出)

Arduino开发板介绍、编程入门

  • 开发板介绍
  • 编程入门
    • setup和loop函数
    • 引脚信号输入输出
      • 数字信号
      • 模拟信号

开发板介绍

下面是一张Ardunio Uno R3的引脚图,包含14个数字引脚、6个模拟输入、电源插孔、USB连接和ICSP插头等。
Arduino| 开发板介绍、编程入门(引脚信号的输入输出)_第1张图片
Arduino| 开发板介绍、编程入门(引脚信号的输入输出)_第2张图片
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后可以看到自己生成的代码。
Arduino| 开发板介绍、编程入门(引脚信号的输入输出)_第3张图片

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功能的引脚标会有波浪线。

你可能感兴趣的:(硬件相关,单片机,嵌入式硬件,Arduino,下位机)