回答

收藏

【赚周年币】技术贴Week 3-Day3---Arduino模拟值读取实验

#线上活动 #线上活动 2431 人阅读 | 0 人回复 | 2017-01-14

电位器(或者叫滑动电阻)是大家比较熟悉的典型的模拟值输出元件,本实验就用它来完成

1实验原理
  我们将使用模拟I/O口,Arduino有模拟口—模拟5共计6个模拟接口,这6个接口也可以算作为接口功能复用,除模拟接口功能以外,这6个接口可作为数字接口使用,编号为数字14 – 数字19 。

2硬件电路
  模拟值读取实验器件表参考4-8-1表





3程序设计
  analogRead();语句就可以读出模拟口的值,Arduino UNO控制器是10位的A/D采集,所以读取的模拟值范围是0-1023 。首先我们在void setup()里面设置波特率,显示数值属于Arduino 与PC机通信,所以Arduino的波特率应与PC机软件设置的相同才能显示正确的数值,否则将会显示乱码或者不显示。在Arduino软件的串口工具监视窗口右下角有一个可以设置波特率的按钮,选中与程序中设置的波特率语句相同的波特率,Serial.begin();括号中为波特率的值。
实例程序:
  • /****************************************************
  •   模拟值读取实验程序
  •   旋转电位计串口监视器中模拟值连续变化
  •   http://www.landzo.com/
  •   This example code is in the public domain.
  • ****************************************************/
  • //定义模拟接口0
  • int potpin = 0 ;
  • //将定义变量val,并赋初值0
  • int val = 0 ;
  • /****************************************************
  •             初始化部分_setup()函数
  • ****************************************************/
  • void setup()
  • {
  •     Serial.begin(9600);
  • }
  • /****************************************************
  •             初始化部分_setup()函数
  • ****************************************************/
  • void loop()
  • {
  •     val =  analogRead(potpin);
  •     Serial.println(val) ;
  • }






4实验操作
1)   按照图4-8-2将电路连接到landzoduino开发板上。电位器不区分正负极性,中间引脚接在模拟口即可。
2)   插上编程线,把程序下载到Landzoduino控制板。
3)   观察运行情况。

5实验结果
  每读取一次值,Arduino会通过串口发送到串口监视器上显示,下图为读出的值(注意只做参考) :本实验中,当您旋转电位计旋钮的时候就可以看到屏幕上的数值变化了。这种模拟值读取是我们很常用的功能。因为在很多的传感器,都是模拟值输出,我们读出模拟值后再进行相应的算法处理,就可以应用到我们需要实现的功能里了。




评分

参与人数 2 +45 收起 理由
EEboard爱板网 + 30 3周发帖养成记 奖励
loveeeboard + 15

查看全部评分

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条