Arduino教程入门系列-第二十一课-脉冲计时(看你按住开关有多久)
我们通过计算你按下一个按钮多长时间,来介绍一下怎样对脉冲计时。
什么是脉冲?
可以怎么理解,脉冲是一个物理量在短时间或者是持续时间内突变后迅速回到其初始状态的过程。在Arduino中所说的脉冲其实就是引脚上的高低电平变化。
脉冲计时常常用在光电码盘、霍尔元件等测速上。
首先我们看一下电路连接图,只需要一个按键与一个10K电阻做下拉。
2012-11-20 21:40 上传
(124.74 KB)
然后把下面的代码复制进入IDE进行编译下载。
ARDUINO 代码复制打印
int pin = 2; //定义引脚为D2
unsigned long duration; //定义duration变量为无符号长整数型变量
void setup()
{
Serial.begin(9600); //串口波特率为9600
pinMode(pin, INPUT); //设置引脚为输入模式
}
void loop()
{
duration = pulseIn(pin, HIGH,60000000); //读取引脚上的高电平脉冲,最大脉冲时间间隔为60秒,并且把结果赋值给duration变量
Serial.println(duration); //通过串口输出duration变量
}<br />
打开串口监视器后,按下按钮,就会返回每次按下松开这段时间有多长。比如第一条是196377,第二条是206748。他们对应的单位是微秒,单位换位秒以后分别是0.196377秒与0.206748秒。
2012-11-27 23:27 上传
(33.03 KB)
我们看一下这个代码配合按钮后的效果