Hi,大家好!今天我们正式学习一个新的元器件,它就是按键开关!说是正式学习,其实之前我们早就已经接触过,而且还正确的连接过它的电路呢!有印象么?在之前的获取输入数字信号那一节!这一次与它相遇,我们要正式学习如何使用它控制一盏神灯!
既然之前我们已经接触过,想必这次学起来要简单的多啦!
好!废话不多说,先看一下这次都需要做哪些准备。
硬件方面
image.png

具体包括如下:

  • Arduino UNO电路板(1块)
  • 面包板(1块)
  • 10k电阻(1个)
  • 按键开关(1个)
  • 面包线(3根)
咦?怎么没发现硬件准备中的LED神灯?问的好!这次偷偷的告诉你一个小秘密,其实Arduino UNO电路板自身就带有一盏神灯,这盏神灯对应的针脚号为13。仔细看上图中Arduino UNO电路板,在电路板中上方的位置,差不多正对GND标示和数字13的正下方,有一个标号为L的白色长方形,没错!那就是这盏神灯。这盏神灯默认的信号输入针脚为数字信号13号针脚。
因为这次我们的学习重点是按键,所以为了简化电路的连接,我们默认就使用Arduino UNO电路板自带的那盏神灯啦!
好,下面是软件的准备!
软件方面Arduino官方提供的IDE。不必多说!
连接电路

image.png

电路的连接,在之前的获取输入数字信号那节我们已经做过,这里除了需要注意Arduino UNO电路板自带的那盏神灯以外,没有新的内容。
下面是最后一步!
添加几行代码最后一个环节,就是让我们添加几行驱动硬件的代码。
首先,新建一个项目窗口。

// 这里的输入和输出是针对Arduino电路板而言
  • // 定义按键输入针脚号为2号针脚
  • const int buttonPin = 2;
  • // 定义LED输入针脚号为13号针脚
  • // 注:此处我们使用的LED神灯是Arduino UNO电路板自带,
  • // 此神灯对应的针脚号默认为13,此数值不得随意更改,
  • // 所以这里定义的数值13是为了和默认值相对应。
  • const int ledPin =  13;
  • // 定义按键状态变量初始值为0
  • int buttonState = 0;
  • // 对Arduino电路板或相关状态进行初始化方法
  • void setup() {
  •   // 设置ledPin端口为输出端口
  •   pinMode(ledPin, OUTPUT);
  •   // 设置buttonPin端口为输入端口
  •   pinMode(buttonPin, INPUT);
  • }
  • // 系统调用,无限循环方法
  • void loop() {
  •   // 读取按键状态
  •   buttonState = digitalRead(buttonPin);
  •   // 检查按键状态,
  •   // 如果为HIGH,
  •   // 则点亮LED神灯,
  •   // 否则熄灭LED神灯。
  •   if (buttonState == HIGH) {
  •     // 点亮LED神灯
  •     digitalWrite(ledPin, HIGH);
  •   } else {
  •     // 熄灭LED神灯
  •     digitalWrite(ledPin, LOW);
  •   }
  • }
  • 复制代码
    嗯,全部代码就是这些!所调用的方法我们应该全都已经见过,这里并没有新的面孔出现。可能只有一点是新的,那就是我们这次使用的LED神灯,是Arduino UNO电路板自带的,此盏神灯默认对应的针脚号为13,是不能随意更改的,所以我们要想控制此神灯,需要向13号针脚输入数字信号,这就是为什么上面我们定义LED针脚号的时候,数字为13的原因。也就是说,只有向13号针脚输入信号,才可以控制这盏神灯的亮和灭。

    图片来源:Arduino官方IDE的文件编辑菜单选项
    点击上图中标有向右指向的箭头图标,将代码烧入Arduino UNO电路板。成功之后,试试看点击开关按键,此时能否点亮和熄灭电路板上的那盏神灯!如果烧入失败,请检查是代码编译错误,还是将代码烧入电路板的过程中出现错误?如果是代码错误,请认真核对代码,如果是烧入代码时出现的错误,可以点击工具栏中的Tools,查看Port的选项,是否选中的是usbmodem连接模式。
    总结通过这次学习,我们正式的了解如何使用按键进行控制。顺便还了解了一盏Arduino UNO自身就有的LED神灯,对Arduino UNO电路板又增进了一些认识。这次编写的代码中,没有出现新的面孔,电路方面所涉及到的只有数字信号,总而言之呢,可以看作是对我们之前所学进行了巩固。
    下期预告虽然通过这次学习,我们知道了如何用按键开关控制其他电器元件,比如LED神灯。由于电路的一些固有特性,美中不足,此时按键开关还有一些小问题。下一次,我们将修复这个问题,完善按钮开关,让其达到完美的状态!