玩转树莓派我爱编程玩转Arduino

Arduino基础入门篇07—按键控制LED灯

2018-08-04  本文已影响7人  TonyCode

前面介绍了Arduino数字I/O,通过控制数字引脚输出来控制LED灯亮灭。本篇将介绍数字I/O的输入功能,通过检测按键状态来控制LED灯亮灭,把LED的亮灭变成人为可控制的。

1. 实验材料

实验中我们用到了轻触按键,常见的有2脚按键和4脚按键,其内部结构如下图所示:

按键内部结构

当按下按键时,按键两端接通,当放开时,两端再次断开。

2. 实验步骤

  1. 根据原理图搭建电路

    直插式LED灯负极接开发板GND,正极接220Ω限流电阻,电阻另一端接开发板数字9引脚。按键一端接开发板GND,另一端接数字引脚2。

    实验原理图如下图所示:

    实验原理图

    实物连接图如下图所示:

    实物连接图
  2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

     /*
      * Digital_Button
      * 通过按键控制LED灯亮灭
      */
     
     int buttonPin = 2; // 按键的管脚定义
     int ledPin =  9;  // LED灯管脚定义
     
     int buttonState = 0; // 存储按键状态值
     
     void setup() {
       pinMode(ledPin, OUTPUT);  //设置LED管脚输出模式
       pinMode(buttonPin, INPUT_PULLUP); //设置按键管脚上拉输入模式
     }
     
     void loop() {
     
       buttonState = digitalRead(buttonPin); //读取按键返回状态值
      
       if (buttonState == LOW) { // 若按键被按下
         delay(80); //等待跳过按键抖动的不稳定过程
         if (buttonState == LOW) // 若按键被按下
         {  
           digitalWrite(ledPin, HIGH); // 点亮LED灯
         }
       }
       else {   
         digitalWrite(ledPin, LOW); // 熄灭LED灯
       }
     
     }
    
  3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

    程序下载

3. 实验现象

按下按键,LED灯点亮。放开按键,LED灯熄灭。

实验现象

4. 函数介绍

digitalRead()

5. 总结分析

通过digitalRead()函数来读取数字I/O引脚状态,然后根据状态去点亮或者熄灭LED灯。需要注意:

上一篇 下一篇

猜你喜欢

热点阅读