博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Arduino初初教程4——信号输入
阅读量:5820 次
发布时间:2019-06-18

本文共 931 字,大约阅读时间需要 3 分钟。

hot3.png

之前的内容都在介绍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 编辑 ]

附件

转载于:https://my.oschina.net/u/732489/blog/134019

你可能感兴趣的文章
hdu 2444(二分图最大匹配)
查看>>
【SAP HANA】关于SAP HANA中带层次结构的计算视图Cacultation View创建、激活状况下在系统中生成对象的研究...
查看>>
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>
Web前端JQuery入门实战案例
查看>>
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
iOS \U7ea2 乱码 转换
查看>>
FCN图像分割
查看>>
ios xmpp demo
查看>>
python matplotlib 中文显示参数设置
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
HDU1576 A/B【扩展欧几里得算法】
查看>>
WebApi系列~目录
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>
PyTips 0x02 - Python 中的函数式编程
查看>>
阿里云安全肖力:安全基础建设是企业数字化转型的基石 ...
查看>>
使用《Deep Image Prior》来做图像复原
查看>>
Linux基础命令---rmdir
查看>>