零知开源快速入门6-使用按键来控制你的灯

之前我们的LED灯在我们点亮以后,他只能一直在那里工作,如果我们想要随时打开或者关闭它该怎么办呢?一个很简单的方法就是加上一个按键控制,使我们的LED可以控制。

一、工具原料

电脑,windows系统
零知开发板
micro-usb线
LED灯一个
按键开关1个
220Ω 电阻1个
10kΩ 电阻1个
面包板一个+若干跳线

二、硬件连接

1、硬件连接原理图

2、实际连线

三、方法步骤

1、打开零知实验室软件开发工具,然后新建项目,输入以下代码:

2、按照之前的方式先【编译】,然后【上传】到开发板中。


							
		/**
		*    文件: KEY-LED-test.ino
		*    作者: 零知实验室
		*    时间: 2018/06/25 11:38
		*    说明:
		**/
		
		int ledPin = 3;//LED连接到零知开发板的3脚
		int keyPin = 6;//按键连接到零知开发板的6脚用于检测按键的状态
		
		int inputValue = 0;//用于存放6脚按键的电平状态
		

		void setup() {
		
		        pinMode(ledPin, OUTPUT);
		        pinMode(keyPin, INPUT);
		        digitalWrite(ledPin, HIGH);
		}
		
		void loop() {
		
		        inputValue = digitalRead(keyPin);//读取6脚的电平状态,并赋值给inputValue
		        delay(200);
		        inputValue = digitalRead(keyPin);
		        if(inputValue == HIGH)//按键按下
		        {
		                digitalWrite(ledPin, LOW);
		        }else{        //按键释放
		                digitalWrite(ledPin, HIGH);
		        }
		}								
							
							
						

四、成果展示

上面步骤成功完成后,我们就可以看到预期的结果了,如下

补充:简介10kΩ电阻的作用以及按键消抖

电路中用到的 10kΩ 电阻是下拉电阻,其作用是将原本不稳定的6号脚保持在一个确定的低电平状态。结合教程直观说明,如果不加下拉电阻,不稳定的电路容易产生干扰信号,容易产生高电平误判,导致未按下按键时LED也亮了,与之对应的还有上拉电阻,感兴趣的小伙伴可以去学习相关电路知识。

或许有些小伙伴会发现我们读取了两次6号脚的状态,并且在第一次读取后还加入了一段延时,其实这个作用就是按键消抖,我们使用的按键并不是按下后马上达到闭合状态,松开不是马上就完全断开,在过程中会有不可避免的抖动,为了保证按键每次按下只产生一次闭合作用,我们就需要使用消抖。