查看: 678|回复: 2
打印 上一主题 下一主题

Arduino入门教程-第二十一课-脉冲计时(看你按住开关有多久) ...

[复制链接] qrcode

41

主题

42

帖子

127

积分

注册会员

Rank: 2

积分
127
楼主
跳转到指定楼层
发表于 2015-5-13 09:48 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们通过计算你按下一个按钮多长时间,来介绍一下怎样对脉冲计时。

什么是脉冲?
可以怎么理解,脉冲是一个物理量在短时间或者是持续时间内突变后迅速回到其初始状态的过程。在Arduino中所说的脉冲其实就是引脚上的高低电平变化。


脉冲计时常常用在光电码盘、霍尔元件等测速上。

首先我们看一下电路连接图,只需要一个按键与一个10K电阻做下拉。



然后把下面的代码复制进入IDE进行编译下载。



打开串口监视器后,按下按钮,就会返回每次按下松开这段时间有多长。比如第一条是196377,第二条是206748。他们对应的单位是微秒,单位换位秒以后分别是0.196377秒与0.206748秒。



我们看一下这个代码配合按钮后的效果



视频链接: http://v.youku.com/v_show/id_XNDgwODMwMzc2.html


介绍一下pulseIn()函数
pulseIn()函数用来读取一个引脚的脉冲(HIGH或LOW)。例如,如果value是HIGH,pulseIn()会等待引脚变为HIGH,开始计时,再等待引脚变为LOW并停止计时。返回脉冲的长度,单位毫秒。如果在指定的时间内无脉冲函数返回。

计时范围从10微秒至3分钟。(1秒=1000毫秒=1000000微秒)

语法:
pulseIn(pin, value)
pulseIn(pin, value, timeout)

参数:
pin:你要进行脉冲计时的引脚号(int)。
value:要读取的脉冲类型,HIGH或LOW(int)。
timeout (可选):指定脉冲计数的等待时间,单位为微秒,默认值是1秒(unsigned long)





大家如果有什么好的建议和想法,可以告诉我,QQ-3241299213(不要告诉其他人哦,保密!) ICKey社区欢迎大家踊跃发表自己的想法!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

45

主题

212

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
沙发
发表于 2015-5-13 10:00 AM | 只看该作者
是不是得来个温控什么的了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

31

主题

227

帖子

339

积分

中级会员

Rank: 3Rank: 3

积分
339
板凳
发表于 2015-5-13 10:38 AM | 只看该作者
是这么打算来着
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表