Skip to main content

按键

前言

按键是最简单也最常见的输入设备,很多产品都离不开按键,包括早期的iphone,今天我们就来学习一下如何使用MicroPython来编写按键程序。有了按键输入功能,我们就可以做很多好玩的东西了。

实验目的

使用按键功能,通过检测按键被按下后,改变LED(4)蓝灯的亮灭状态。

实验讲解

pyBoard上有2个按键,RST和USER,RST顾名思义是复位用的,所以真正自带可以用的就只有1个按键USER。

和LED一样,pyBoard的micropython固件也集成了一个按键对象Switch。

Switch对象

按键对象。

构造函数

from pyb import Switch

sw = Switch()

Switch位于pyb模块下。

使用方法

sw.value()

按键状态:返回值:

  • 0 : 按键没按下;
  • 1 : 按键按下。

sw.callback(fun)

注册按键按下时执行的函数。

更多用法请阅读官方文档:
https://docs.01studio.cc/library/pyb.Switch.html#pyb-switch


跟之前的实验一样,首先导入LED和Swtich模块,先定义函数fun1()用来处理LED(4)反转。通过callback指令使按键被按下时候执行fun1()函数。代码编写流程如下:

参考代码

'''
实验名称:按键
版本:v1.0
运行平台:pyBoard
作者:01Studio
'''

from pyb import LED,Switch

#LED4状态翻转函数
def fun1():
LED(4).toggle()

sw = Switch() #定义按键对象名字为sw
sw.callback(fun1) #当按键被按下时,执行函数fun1()

可以看到只需要三行代码就实现了我们想要的功能。

实验结果

在Thonny IDE中运行代码,可以看到当按键KEY每次被按下时候,LED蓝灯亮灭状态发生翻转。

key

按键作为我们学习的第一个输入设备,有了输入设备我们就可以跟硬件做人机交互了,这对后面的学习非常有意义。按键在MicroPython下开发也显得很简单,我们同样可以根据自己的理解和经验来优化代码。