在Arduino控制器中,编号前带有“A”的引脚是模拟输入引脚。Arduino可以读取这些引脚上输入的模拟值,即读取引脚上输入的电压大小。
模拟信号
生活中,接触到的大多数信号都是模拟信号,如声音、温度的变化等。模拟信号是用连续变化的物理量表示的信息,信号随时间作连续变化。在Arduino UNO上,可以接受0~5V的模拟信号。
数字信号
模拟输入引脚是带有ADC(Analog-to-Digital Converter,模数转换器)功能的引脚。它可以将外部输入的模拟信号转换为芯片运算时可以识别的数字信号,从而实现读入模拟值的功能。
Arduino 模拟输入功能有10位精度,即可以将0~5V的电压信号转换为0~1023的整数形式表示。
模拟输入功能需要使用analogRead() 函数。
参数pin是指定要读取模拟值的引脚,被指定的引脚必须是模拟输入引脚。如**analogRead(A0)**即是读取A0引脚上的模拟值。
与模拟输入功能对应的是模拟输出功能,我们使用analogWrite() 函数实现这个功能。但该函数并不是输出真正意义上的模拟值,而是以一种特殊的方式来达到输出近似模拟值的效果,这种方式叫做
脉冲宽度调制(PWM,Pulse Width Modulation)。
analogWrite(Pin, Value);
参数Pin是指定要输出PWM波的引脚,参数Value指定是PWM的脉冲宽度,范围为0~255。
在analogWrite() 和analogRead() 函数内部,已经完成了引脚的初始化,因此不用在Setup() 函数中进行初始化操作。