基础部分-读取模拟输入

这个示例是展示如何用现实世界的电位器来读取模拟输入信号,电位器是一个简单的机械设备,转动的时候提供不同的阻值变化。控制板模拟引脚接收电位计传递进来的电压变化,就能测量电位计的阻值变化。将你的控制板与电脑上编译器建立连接后,你就能看到电位计的状态变化。

硬件需求
— Arduino控制板
— 10K电位器

电路
用三根杜邦线连接你的电位器到你的控制板上,电位器第一个接正极(5V),中间引脚接主控板A0引脚,第三个引脚接负极(GND)。
clip_image002
上面的接线图是用Frizing软件画的,如果您也想画这样的接线图的话,可以去Frizing官网下载。
转动电位器,你将能改变连接在控制板上电位器的阻值,改变着电位器中间引脚的电压。当电位器中间引脚和5V引脚阻值接近零欧的时候(另一端中间引脚和GND接近10K欧),这时中间引脚的电压接近5V。反之,则中间引脚的电压接近0V。这个电压值就是你能读到的模拟引脚输入值。
Arduino内部电路有一个叫“模拟—数字—转换器”(ADC),把读到的电压改变转换成0-1023,当电位器转向一面的的时候,电压值是0,输出值是0。当转入到另一面的时候,电压是是5V,输出值是1023。中间的数值,analogRead()函数将返回0-1023中和电压变化成比例的数值。

原理图
clip_image004

代码
在下面的示例中,你在setup函数中唯一要做的就是申明一个串口通信,以9600bits/second的速度在主控板与电脑之间通信。
Serial.begin(9600);
下一步,在主循环代码中,你需要建立一个变量来存储来自电位器数值变化(0-1023),最好用int的数据格式。
int sensorValue = analogRead(A0);
最后,你需要输出这个信息在你的串口监视器上,你可以用到命令Serial.println()在你最后的代码中。
Serial.println(sensorValue)
现在,当你从Arduino编译器里打开串口监视器的时候(点击右上角放大镜图案,快捷键是Ctrl+Shfit+M),转动电位器,你会看到监视器中0-1023之间的数值变化,这些反馈几乎是实时的。

void setup() {
//设置串口通信频率为9600
Serial.begin(9600);
}
// loop主循环将不断运行:
void loop() {
//读取模拟口A0的输入值
int sensorValue = analogRead(A0);
//输出读取到的值
Serial.println(sensorValue);
delay(1); //每次读取之间间隔1毫秒
}
0
分享到:

评论0

请先

原Arduino365.com域名更改为品牌域名ultirobot.com,承载内容要将更丰富,网站也进行了改版,改善阅读体验。
没有账号? 忘记密码?