电子说
连接电路
首先,我们需要将LED灯、电阻和开关、ESP32连接起来。具体步骤如下:
可以看到跟上一节 LED 一样,只是输入/输出状态的一个改变。从上图可以看到,我们只需要在开发板上电后判断 KEY 引脚的电平,当被按下时候引脚为低电平“0”。
编写代码
按键被按下时候可能会发生抖动,抖动如下图,有可能造成误判,因此我们需要使用延时函数来进行消抖(防误触)。
常用的方法就是当检测按键值为 0 时,延时一段时间,大约 10ms,再判断按键引脚值仍然是 0,是的话说明按键被按下。延时使用 time 模块
time模块的使用方法如下
代码简说
代码的注释很清楚了
从上面代码可以看到,初始化各个对象后,进入循环,当检测到 KEY 的值为0(按键被按下)时候,先做了 10ms 的延时,再次判断;
state 为 LED 状态的值,每次按键按下后通过使用 not 来改变。这里注意的是在 python 里使用‘not’而不是‘’的方式。not 返回的是 True 和 False,即0,1。而 是取反操作,会导致出错。
运行程序
可以看到每当按键 KEY 被按下后,LED 的亮灭状态发生改变。
总结
按键作为我们学习的第一个输入设备,有了输入设备我们就可以跟硬件做人机交互了,这对后面的学习非常有意义。可以看到按键在 MicroPython 下开发显得很简单。
全部0条评论
快来发表一下你的评论吧 !