[3] 通过按键对Arduino输入信号

这一次,我们将学习怎样用按键对Arduino输入信号从而控制LED灯的亮灭。我们将设置两个按钮,按第一个按钮会点亮LED灯,按另外一个按钮则会熄灭LED灯。

需要的材料:

  • Arduino 编程软件
  • Arduino UNO卡
  • 面包板
  • 10 x 不同颜色的连接线
  • 1 x LED灯
  • 1 x 220-1000欧的电阻
  • 2 x 按钮
[3] 通过按键对Arduino输入信号_第1张图片

第一步 连接电路

从下图的模拟电路可以看出,和第一期的电路相比,我们加入了两个按钮在Arduino卡的第9号和第8号接口,从而对其输入信号。

[3] 通过按键对Arduino输入信号_第2张图片

下图是按键的结构图,可以看出在按键的四个接口中,A-D和B-C是连接在一起的。

[3] 通过按键对Arduino输入信号_第3张图片

所以在连接按键的时候,注意观察按钮的底部,防止出现同时连接在了AD或者BC两个接口上。

在按钮按下时会对Arduino发出一个LOW的信号,我们就通过这个信号来控制LED的亮灭。

下图是完整的电路展示,在连接第一个按钮时,先从UNO卡的9号接口出,连接按钮的一端,再将按钮的另一端连接在面包板的负极部分就行了。同理,连接8号接口的按钮。

[3] 通过按键对Arduino输入信号_第4张图片

第二步 编辑程序

在连接好了电路之后,我们就开始编写代码了。
首先我们要在setup()函数中设置需要的3个接口, 分别是13(LED), 9(第一个按钮),8(第二个按钮)。

  pinMode(13, OUTPUT);
  pinMode(9, INPUT_PULLUP);  // 按钮设置为input的状态
  pinMode(8, INPUT_PULLUP);  // 按钮设置为input的状态

然后通过测试8号和9号接口的信号来确定是点亮或者熄灭LED。

if (digitalRead(buttonApin) == LOW) // 按钮在按下后是LOW的状态
  {
    digitalWrite(ledPin, HIGH);
  }
  if (digitalRead(buttonBpin) == LOW) // 按钮在按下后是LOW的状态
  {
    digitalWrite(ledPin, LOW);
  }

完整代码:

void setup() 
{
  pinMode(13, OUTPUT);
  pinMode(9, INPUT_PULLUP);  // 按钮设置为input的状态
  pinMode(8, INPUT_PULLUP);  // 按钮设置为input的状态
}

void loop() 
{
  if (digitalRead(buttonApin) == LOW) // 按钮在按下后是LOW的状态
  {
    digitalWrite(ledPin, HIGH);
  }
  if (digitalRead(buttonBpin) == LOW) // 按钮在按下后是LOW的状态
  {
    digitalWrite(ledPin, LOW);
  }
}

第三步 上传程序

按下第一个按钮点亮LED,按下第二个按钮则熄灭LED。

你可能感兴趣的:([3] 通过按键对Arduino输入信号)