嗯,这一次我们先试着获取电器元件输入的数字信号。为了完成此次学习,我们需要从硬件和软件两方面做如下准备。
硬件方面
具体包括如下:
紧挨着面包板的右侧是10k的电阻,这个不必细说,很简单的元器件。再向右看是一个按键开关,这次要获取的数字信号,就是这个部件发出的。最右侧是面包线,可以看作是普通的导线。下面中间的那个电路板自然是Arduino UNO了,之前就已经介绍过,这里不必多说。
好!这次用到的硬件就这些。
软件方面Arduino官方提供的IDE,和之前一样。
- Arduino UNO电路板(1块)
- 面包板(1块)
- 10k电阻(1个)
- 按键开关(1个)
- 面包线(3根)
紧挨着面包板的右侧是10k的电阻,这个不必细说,很简单的元器件。再向右看是一个按键开关,这次要获取的数字信号,就是这个部件发出的。最右侧是面包线,可以看作是普通的导线。下面中间的那个电路板自然是Arduino UNO了,之前就已经介绍过,这里不必多说。
好!这次用到的硬件就这些。
软件方面Arduino官方提供的IDE,和之前一样。
// 定义2号引脚为按键插入引脚int pushButton = 2; // 对Arduino电路板或相关状态进行初始化方法 void setup() { // 开启串行通信,并设置其频率为9600。 // 如果没有特别要求,此数值一般都为9600。 Serial.begin(9600); // 设置2号引脚为信号输入引脚 pinMode(pushButton, INPUT); } // 系统调用,无限循环方法 void loop() { // 读取按键输入针脚的信号值, // 将其存入buttonState变量。 int buttonState = digitalRead(pushButton); // 将获取的数字信号值打印到串口显示 Serial.println(buttonState); // 每次循环之间,延时一毫秒执行 delay(1); }
复制代码按照图中所示,将我们准备的元器件连接好。这里有两点需要注意,第一点是开关按键是长方形的,所以要注意插入面包板时的方向。第二点是面包板上下两部分的引脚连通性,横向是不连通的,纵向是连通的。
下面是最后一步!
添加几行代码最后,我们还需要加入几行代码,来获取按键输入的数字信号。
首先,像之前一样,新建一个项目窗口。
下面是最后一步!
添加几行代码最后,我们还需要加入几行代码,来获取按键输入的数字信号。
首先,像之前一样,新建一个项目窗口。
代码就这么多!这次又出现了几个新面孔,下面做一个介绍。Serial.begin方法的作用是设置串行通信的频率。这里注意一下pinMode方法的第二个参数,在前面几次点亮LED神灯的教程里,这里都是OUTPUT,这次设置的是INPUT,作用与之前相反。之前是对LED设置状态,属于输出值,这里是从按键获取状态,属于输入值。digitalRead顾名思义,调用时输入一个引脚号,可读取这个引脚输入的信号。Serial.println方法将数值打印到串口进行显示。
数一数,这次程序中出现的新面孔,一共只有三个!So easy!最后只需要将程序烧入Arduino即可。
数一数,这次程序中出现的新面孔,一共只有三个!So easy!最后只需要将程序烧入Arduino即可。
烧入方法点击上图中,标有向右指向的箭头图标,即可自动完成从编译到烧入整个过程。如果不出意外,此时程序已经烧入Arduino。单击上图最右侧的放大镜图标,打开串口调试窗口。此时窗口正在不停的输出数字0,按下Arduino电路板上的按键按钮,如果一切正常,数字0会变为1。
图片来源:Arduino串口调试窗口
松开按键,输出的数字变为0,按下变为1。
总结至此整个挑战完成!此时就可以获取到Arduino上电器元件的操作状态。通过这次学习,我们可以获取到电器元件所输入的数字信号。当元器件状态改变时,我们可以近乎实时的获取到元器件的当前状态。这为我们以后通过元器件控制其他电气设备提供了一种可能。
下期预告这一次,虽然我们可以获取到按键开关的输入状态。但按键开关的输入状态属于数字信号,属于非连续信号。当需要进行连续渐变控制的时候,数字信号就会显得力不从心。下一次,我们将再接再厉,挑战一下如何获取元器件输入的模拟信号!学完之后,我们就可以通过连续信号对渐变状态进行控制!
图片来源:Arduino串口调试窗口
松开按键,输出的数字变为0,按下变为1。
总结至此整个挑战完成!此时就可以获取到Arduino上电器元件的操作状态。通过这次学习,我们可以获取到电器元件所输入的数字信号。当元器件状态改变时,我们可以近乎实时的获取到元器件的当前状态。这为我们以后通过元器件控制其他电气设备提供了一种可能。
下期预告这一次,虽然我们可以获取到按键开关的输入状态。但按键开关的输入状态属于数字信号,属于非连续信号。当需要进行连续渐变控制的时候,数字信号就会显得力不从心。下一次,我们将再接再厉,挑战一下如何获取元器件输入的模拟信号!学完之后,我们就可以通过连续信号对渐变状态进行控制!