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

作者: 蝌蚪少儿创客 | 来源:发表于2017-10-18 03:49 被阅读97次

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

    需要的材料:

    • Arduino 编程软件
    • Arduino UNO卡
    • 面包板
    • 10 x 不同颜色的连接线
    • 1 x LED灯
    • 1 x 220-1000欧的电阻
    • 2 x 按钮

    第一步 连接电路

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

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

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

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

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

    第二步 编辑程序

    在连接好了电路之后,我们就开始编写代码了。
    首先我们要在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输入信号

        本文链接:https://www.haomeiwen.com/subject/ccjruxtx.html