无线键盘教程
powersensor的usb是host,可以通过usb 2.0 hub拓展USB接口。本节要介绍的是一种常用的usb设备:无线键盘。powersenosor支持树莓派无线键盘,类似这种:
把usb接收器接在hub上,然后就可以通过python编程将键盘的操作与需要的函数绑定在一起。主要步骤如下:
使用前要引用所需的包
import keyboard
常用功能1,等待按键
常用功能1, 等待一个特定的按键按下(如按“右箭头”继续):
keyboard.wait('right')
使用这个命令后,python会进入阻塞状态,直到用户按下右箭头
常用功能2,绑定异步函数
常用功能2,设置一个特定的变量,比如,我设置按键‘q’来当是否打印图像的开关,如果显示图像,按下就关闭,关闭图像按下就显示。
- 定义一个全局变量,
is_img_run = False
- 定义按下按键后准备调用的函数,注意要修改的变量
is_img_run
必须是一个全局变量,否则外部无法观测到改变。按键在按下后还会异步打印“the q key”,无论正在运行的是哪个程序都会打印。
def key_q():
global is_img_run
if is_img_run:
is_img_run = False
else:
is_img_run = True
print("the q key")
- 把函数和相应的按键绑定在一起,第一个参数是按键的名称,第二个参数是对应的函数。
keyboard.add_hotkey('q',key_q)
- 实际使用,在是否显示图像前判断一下:
for i in range(300):
start = time.time()
clear_output(wait=True)
imgMat = cam1.read_img_ori()
tempImg = cv2.resize(imgMat, (320,240))
############################################
# 根据全局变量的值决定是否显示图像,可以被按键更改
if is_img_run:
img = ps.CommonFunction.show_img_jupyter(tempImg)
end = time.time()
print(end - start)
time.sleep(0.1)
- 效果:
差一张动图,过几天补上。