单片机学习小组
直播中

崔映芬

7年用户 911经验值
私信 关注

怎样通过手势隔空控制电脑?

怎样通过手势隔空控制电脑?

回帖(1)

杨丽

2022-2-11 11:49:10
简介

之前华为手机可以用手势隔空控制手机,今天我们就来隔空控制电脑,本文主要讲述的是怎样通过手势隔空控制电脑的制作方法,例如通过手势切换电脑的音乐播放。。
1.准备工作

要想制作此设计。
需要一个shineblink Coer开发板,一个APDS-9960感应手势手势传感器即可。
PS:Core 仅用五、六行代码即可实现Wifi/Ble/NB/Lora/ThreadMesh/RFID/Eth/U***/RS485/RS232通信、以及30多种传感器/10多种硬件外设/10多种Mcu内设功能,并且这些功能最多可以 5 种随机组合同时运行。更多关于Core的内容可以在 shineblink.com 上了解。

通过APDS-9960传感器模块感应在传感器表面正上方的“上”,“下”,“左”,“右”手势动作。为了准确捕捉到手势动作,手势动作需尽量和传感器模块自身的水平面保持平行,并且二者距离大概在10厘米时效果最佳。

2.手势传感器例程代码

gest_str = {"up", "down", "left","right"}
--配置USB以虚拟串口模式工作,波特率115200,这样print()就可以在PC串口调试终端上输出了
LIB_U***Config("CDC")
--配置APDS9960手势感应传感器开始工作,占用core的IIC0引脚
LIB_ApdsConfig("IIC0", "Gesture")
--开始大循环
while(GC(1) == true)
do
    --每0.1秒查询一次传感器是否感应到手势
    LIB_DelayMs(100)
    flag, gest = LIB_ApdsGetGesture()
    if flag == 1 then
        --将传感器输出的手势动作代号值(1-4)转换成字符串形式打印输出,1:up 2:down 3:left 4:right
        print(string.format("Gesture:%srn", gest_str[gest]))
    end
end
代码中LIB_U***Config(“CDC”),函数配置为调试串口用,如果配置为键盘模式,该函数就不能用,使用下面的LIB_U***Config(“KBD”)函数。
3.开发板通过USB控制电脑例程代码

-
--先配置USB口以USB键盘模式工作
LIB_U***Config("KBD")
--开始大循环
while(GC(1) == true)
do
    LIB_DelayMs(5000)
    --模拟键盘组合按键WIN+R调出运行界面效果
    combine_tab = {"GUI","R"}
    LIB_U***KbdSend("COMBINE", combine_tab)
    LIB_DelayMs(200)
   
    --模拟键盘输入notepad和回车键效果,来创建记事本文本文件
    single_tab = {"N","O","T","E","P","A","D","ENTER"}
    LIB_U***KbdSend("SINGLE", single_tab)
   
    LIB_DelayMs(500)
   
    --模拟键盘在记事本文件上打出hello world..效果
    single_tab = {"H","E","L","L","O","SPACEBAR","W","O","R","L","D","DOT","DOT"}
    LIB_U***KbdSend("SINGLE", single_tab)
end
此代码块为Core发送命令控制电脑在记事本上写入hello world,我们在用手势控制电脑时可以使用简单的单个按键控制电脑,直接发送相应的按键即可。
4.总结

使用上述例程可以快速地实现用手势隔空控制电脑方法,并且可以拍下视频,发放到朋友圈…-.-
举报

更多回帖

发帖
×
20
完善资料,
赚取积分