Ardunio UNO 2 ~模拟接口
一、模数转换(analogue-to-digital conversion;ADC)模拟信号(Analogue signal)是指用连续变化的物理量表示的信息,其信号的幅度,或频率,或相位随时间作连续变化,或在一段连续的时间间隔内,其代表信息的特征量可以在任意瞬间呈现为任意数值的信号。
数字信号(Digital Signa)指自变量是离散的、因变量也是离散的信号,这种信号的自变量用整数表示,因变量用有限数字中的一个数字来表示。在计算机中,数字信号的大小常用有限位的二进制数表示。
模数转换(analogue-to-digital conversion;ADC):模拟信号只有通过A/D转化为数字信号后才能用软件进行处理,这一切都是通过A/D转换器(ADC)来实现的,模拟信号转换成数字信号的过程就是 模数转换。
二、Arduino如何做模数转换
常见的Arduino UNO板,有6个专门用于AD转换的引脚(A0-A5),任何传感器,输出的模拟信号是电压或电流信号;UNO板可以将电压信号转换为用10bit表示的数值;把传感器接到模拟口,它的返回值就是模拟信号转换的数字值,这个数值占10bit,也就是说模数转换的最大值是1023(二的十次方减一)代表5V,最小值是0代表0V此时读到的数值会被转换为0到1023之间。
三、入门案例
函数analogRead(val)1.模拟口读取温度传感器电路连接图
<font size="3">void setup()
{
pinMode(A0, INPUT);
Serial.begin(9600);
}
void loop()
{
Serial.println(analogRead(A0));
delay(10); // 延时
}</font>
2 旋转电阻控制led灯
电路连接图
参考代码
<font size="3">void setup()
{
pinMode(A0, INPUT);
Serial.begin(9600);
pinMode(9, OUTPUT);
}
void loop()
{
Serial.println(analogRead(A0));
analogWrite(9, map(analogRead(A0), 0, 1023, 0, 180));//把模拟口读取数据值映射为0-180
delay(10); // 延时
}</font>
更多详细知识
https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/
页:
[1]