Arduino初初教程4(信号输入)
Arduino初初教程4(信号输入)
之前的内容都在介绍I/O口的输出功能,这次来介绍一下I/O口的信号输入
获取引脚是高电平还是低电平的信息需要使用digitalRead函数。
函数定义如下:
int digitalRead(uint8_t pin)
函数的参数是所获取信息的引脚号,返回值为引脚的状态。
这里用一个实例说明一下函数的用法,实例的功能是在Arduino上外接一个按键,用以控制引脚13上的led的亮灭(Arduino板上13号引脚带一个led)
按键占用引脚2,连接效果如图所示(为保持按键没有按下时引脚上保持高电平,所以在引脚上加了一个上拉电阻)
程序如下(直接粘贴到Arduino开发环境下就可直接应用):
void setup()
{
//设置13号引脚为输出
pinMode(13, OUTPUT);
//设置2号引脚为输入
pinMode(2, INPUT);
}
void loop()
{
//判断按键是否按下
if(LOW = = digitalRead(2))
{
//延时去抖
delay(50);
if(LOW = = digitalRead(2))
{
//点亮LED
digitalWrite(13,HIGH);
while(1)
{
//判断是否松开按键
if(HIGH = = digitalRead(2))
{
//延时去抖
delay(50);
if(HIGH = = digitalRead(2))
break;
}
}
//熄灭LED
digitalWrite(13,LOW);
}
}
}
------------------------------------------------------------------------------
程序中紫色的部分均调用digitalRead函数,在使用digitalRead函数前要将引脚置为输入——pinMode(2, INPUT);
另外在处理按键相应的程序时,为防止按键抖动造成误操作,一般都作一个延时去抖处理
[ 本帖最后由 晨光熹微 于 2011-6-30 00:19 编辑 ]
附件
分享来源:
http://www.52forum.com 的 我爱方案网论坛 » AVR单片机 » Arduino创意方案
晨光熹微 版主


浙公网安备 33010602011771号