本篇文章由 VeriMake 旧版论坛中备份出的原帖的 Markdown 源码生成
原帖标题为:模拟信号|了解可变电阻
原帖作者为:hi(旧版论坛 id = 185)
原帖由作者初次发表于 2021-03-30 13:58:27
模拟信号—了解可变电阻
数字信号的取值是离散的,可取值为有限个。
模拟信号的取值是连续的,可取值为无限个。
我们可以通过一个简单的小实验从串口监视器中观察模拟信号,nanoc的板子中A0-A7是模拟端口,同时也具备数字输入输出功能,这个板子内建了A/D(analog/digital)转换器(模拟—>数字转换器),我们观察到的信号,就是内部将模拟信号转换成的数字值。电压0-5v分别对应数字值0-1023,我们在串口监视器里面观察到的值就是电压对应的数字值。
我们在nanoC板子上接一个可变电阻,就是一个通过旋转旋钮可以改变阻值的电阻,学过物理的同学应该都能明白,电路中阻值越大电流越小,电压越小,阻值越小电流越大,电压越大。电压的变化是一串连续的值,我们下面就通过串口监视器来观察旋转可变电阻时电压的变化。
准备材料:
NanoC 1,数据线 1,400孔面包板 1,可变电阻 1,公对公杜邦线 *3。
接线图:
旋钮元件引脚朝上时:
左边 — 5V
中间 — A0
右边 — GND
旋钮电源接5v,控制端接A0模拟引脚,接地端接GND。
程序
void setup() {
Serial.begin(9600); //以9600波特率开启串口
}
void loop() {
int val; //定义一个整型变量val
val=analogRead(A0); //读取A0引脚采样的电压值
Serial.println(val); //从串口输出这个引脚的值,通过旋转可变电阻旋钮改变
delay(500); //每隔0.5s输出一个值
}
运行结果
旋转按钮,串口读到的值会跟随变化,这个值是以数字形式呈现出来的电压值,左旋变小,右旋变大。