• 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友,商务沟通v:ai_draw
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

Arduino 入门到精通 模拟值读取

点滴 admin 9年前 (2015-08-07) 1665次浏览 已收录 0个评论 扫描二维码

本个实验我们就来开始学习一下模拟I/O 接口的使用,Arduino 有模拟0?模拟5 共计6 个模拟接口,这6 个接口也可以算作为接口功能复用,除模拟接口功能以外,这6 个接口可作为数字接口使用,编号为数字14?数字19,简单了解以后,下面就来开始我们的实验。电位计是大家比较熟悉的典型的模拟值输出元件,本实验就用它来完成。

所需元器件有:

电位计*1

面包板*1

面包板跳线*1 扎

本实验我们将电位计的阻值转化为模拟值读取出来,然后显示到屏幕上,这也是我们以后完成自己所需的实验功能所必须掌握的实例应用。我们先要按照以下电路图连接实物图


Arduino 入门到精通 模拟值读取

Arduino 入门到精通 模拟值读取

我们使用的是模拟0 接口。

程序的编写也很简单,一个analogRead();语句就可以读出模拟口的值,Arduino 328是10 位的A/D 采集,所以读取的模拟值范围是0-1023,本个实验的程序里还有一个难点就是显示数值在屏幕这一问题,学习起来也是很简单的。首先我们要在voidsetup()里面设置波特率,显示数值属于Arduino 与PC 机通信,所以Arduino 的波特率应与PC 机软件设置的相同才能显示出正确的数值,否则将会显示乱码或是不显示,在Arduino 软件的监视窗口右下角有一个可以设置波特率的按钮,这里设置的波特率需要跟程序里void setup()里面设置波特率相同,程序设置波特率的语句为Serial.begin();括

号中为波特率的值。其次就是显示数值的语句了,Serial.print();或者Serial.println();都可以,不同的是后者显示完数值后自动回车,前者不是,更多的关于语句的讲解前面有

介绍这里就不再多说了。

下面是参考源程序:

int potpin=0;//定义模拟接口0
int ledpin=13;//定义数字接口13
int val=0;//将定义变量val,并赋初值0
void setup()
{
pinMode(ledpin,OUTPUT);//定义数字接口为输出接口
Serial.begin(9600);//设置波特率为9600
}
void loop()
{
digitalWrite(ledpin,HIGH);//点亮数字接口13 的LED
delay(50);//延时0.05 秒
digitalWrite(ledpin,LOW);//熄灭数字接口13 的LED
delay(50);//延时0.05 秒
val=analogRead(potpin);//读取模拟接口0 的值,并将其赋给val
Serial.println(val);//显示出val 的值
}

Arduino 入门到精通 模拟值读取

借用了Arduino 数字13 口自带的LED 小灯,每读一次值小灯就会闪烁一下。

下面就是读出的模拟值。

本实验到这里就完成了,当您旋转电位计旋钮的时候就可以看到屏幕上数值的变化了,读取模拟值这个方法将一直陪伴我们,模拟值读取是我们很常用的功能,因为很多传感器都是模拟值输出,我们读出模拟值后再进行相应的算法处理,就可以应用到我们需要实现的功能里了。

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址