Arduino的6个模拟量引脚实际上是连接AVR单片机的6个具有ADC功能的引脚,所以 Arduino 的模拟量输入功能是通过单片机的 ADC 接口来实现的,该 ADC 接口具有以下特点:
(1)10位采样精度;
(2)0.5LSB的非线性度;
(3)±2LSB的绝对精度;
(4)13~260μs的转换时间;
(5)最高分辨率时采样率高达15ksps;
(6)0~5V的ADC输入电压范围;
本节就利用ADC接口实现模拟量的输入。
1.实验原理
本节实例在0号模拟口连接电位器,通过调整电位器来改变输入模拟量的大小。Arduino板每1s进行一次A/D转换,并将结果传给计算机。
2.硬件连接
将Arduino的0号模拟口接至电位器的中点时,电位器的另外两端分别连接+5V和地,USB口连接至计算机用于传送数据,模拟I/O口实例电路如图1-59所示。
图1-59 模拟I/O口实例电路
3.程序代码
/************************************************
模拟I/O实例程序
在0号模拟口连接电位器
每1s进行一次A/D转换并将结果发送给计算机
This example code is in the public domsin.
**************************************************/
/*************************************************
初始化部分——setup()函数
***************************************************/
void setup()
//设置串口波特率为9600bps
serial.begin(9600);
}
/***************************************************
执行部分——loop()函数
****************************************************/
void loop()
{
//延时1s
delay(1000);
//进行A/D转换并传输数据
serial/proit(analogARead(0),DEC);
}