例程6 按键控制LED实验

1. 准备

      I/O 口的意思即为INPUT 接口和OUTPUT 接口,到目前为止我们设计的小灯实验都还只是应用到Arduino 的I/O 口的输出功能,这个实验我们来尝试一下使用Arduino的I/O 口的输入功能即为读取外接设备的输出值,我们用一个按键和一个LED 小灯完成一个输入输出结合使用的实验,让大家能简单了解I/O 的作用。按键开关大家都应该比较了解,属于开关量(数字量)元件,按下时为闭合(导通)状态。完成本实验要用到的元件如下:

按键开关*1 

直插LED*1 

220Ω电阻*1

10KΩ电阻*1 

面包板*1

面包板跳线*1 扎

      我们将按键接到数字7 接口,红色小灯接到数字11 接口(Arduino 控制器0-13 数字I/O 接口都可以用来接按键和小灯,但是尽量不选择0 和1 接口,0 和1 接口为接口功能复用,除I/O 口功能外也是串口通信接口,下载程序时属于与PC 机通信故应保持0 和1 接口悬空,所以为避免插拔线的麻烦尽量不选用0 和1 接口),按下面的原理图连接好电路。

      我们分析电路可知当按键按下时,数字7 接口可读出为高电平。这时我们使数字11 口输出高电平可使小灯亮起,程序中我们判断数字7 口是否为低电平,要为低电平使数字11 口输出也为低电平小灯不亮,原理同上。

2. 代码

int ledpin=11;//定义数字11 接口
int inpin=7;//定义数字7 接口
int val;//定义变量val
void setup()
{
  pinMode(ledpin,OUTPUT);//定义小灯接口为输出接口
  pinMode(inpin,INPUT);//定义按键接口为输入接口
}
void loop()
{
  val=digitalRead(inpin);//读取数字7 口电平值赋给val
  if(val==LOW)//检测按键是否按下,按键按下时小灯亮起
    digitalWrite(ledpin,LOW);
  else
    digitalWrite(ledpin,HIGH);
}
 

猜你喜欢

转载自blog.csdn.net/countofdane/article/details/82584545