ADKeyboard模块microbit驱动及使用说明

micro:bit编程、教学、展示
STEM
回复
头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

ADKeyboard模块microbit驱动及使用说明

#1

帖子 shaoziyang »

原帖作者:chpczx 发表于 2019-7-14

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)

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章