ADKeyboard模块驱动使用说明
ADKeyboard模块让你使用1路模拟口即可读取5个按键的状态,可以节约IO口。5个按键分别标记为S1到S5,任何一个按键按下时,底部对应的LED灯就会亮起。其是为使用Arduino设计的,在Arduino中区分不同的按键,给出了值列表[600,650,700,800,900].如果要在microbit中使用,这几个值是不能用的。因为arduino工作电压是5V,而microbit中的工作电压是3.3V.
如果要在microbit中使用ADKeyboard这个模块,必须测试一下在你的工作环境下,按不同按键时,读出的值。我获得的值如下[818,847,882,924,981,1023],最后一个值是不按键时读出的值。以以上键值的中间值作为判断标志。[832,865,903,953,1000]
程序在mu中调试通过:
Code: Select all
# 模拟5按键模块
from microbit import *
class ADKEY:
def __init__(self, pin):
self.vList = [832,865,903,953,1000]
self.pin = pin
def get_key(self):
v = self.pin.read_analog()
for k in range(len(self.vList)):
if v < self.vList[k]:
return k+1
return -1 #不按键返回-1
if __name__ == "__main__":
ak = ADKEY(pin1)
while True:
k = ak.get_key()
if k>-1:
print(k, end=",")
sleep(300)