首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

电子DIY项目:使用Arduino的手势控制机器人

您可能已经看过手势控制机器人,其中机器人的运动由手的手势控制。基于类似原理的另一个有趣的项目是计算机或笔记本电脑的基于Arduino的手势控制。

在这个项目中,我们实现了一个基于Arduino的简单手势控制,您可以在其中控制Web浏览器的一些功能,例如在选项卡之间切换,在网页中上下滚动,在任务(应用程序)之间切换,播放或暂停视频以及借助手势增大或减小音量(在VLC Player中)。

目录

在计算机上安装Python

获取pySerial

项目原理

电路原理图

所需组件

项目设计

编程Arduino以检测手势Arduino代码

该项目的Python编程安装PyAutoGUIPython代码

基于Arduino的计算机手势控制的应用。

在计算机上安装Python

基于Arduino的计算机手势控制项目是使用Python实现的。

实际步骤请参考:https://blog.csdn.net/nmjuzi/article/details/79075736

获取pySerial

实际步骤请参考:https://jingyan.baidu.com/article/fec4bce2ae2decf2618d8b2e.html

项目原理

基于Arduino的计算机手势控制的原理实际上非常简单。您要做的就是使用两个带有Arduino的超声波传感器,将手放在超声波传感器的前面,并计算手与传感器之间的距离。使用此信息,可以在计算机中执行相关操作。

超声波传感器的位置非常重要。将两个超声波传感器分别放在笔记本电脑屏幕的顶部。来自Arduino的距离信息是由Python程序收集的,一个名为PyAutoGUI的特殊库会将数据转换为键盘点击动作。

电路原理图

下图显示了该项目的Arduino部分的电路图。它由一个Arduino UNO板和两个超声波传感器组成,您可以从笔记本电脑的USB端口为所有这些组件供电。

所需组件

Arduino UNO x 1

超声波传感器x 2

USB电缆(用于Arduino)

几根连接线

可以上网的笔记本电脑

项目设计

电路的设计非常简单,但是组件的设置非常重要。第一个超声波传感器的触发和回波引脚(位于屏幕左侧)连接至Arduino的引脚11和10。对于第二个超声波传感器,触发和回波引脚连接到Arduino的引脚6和5。

现在,在放置传感器时,将两个超声波传感器都放在笔记本电脑屏幕的顶部,一个在左端,另一个在右端。您可以使用双面胶带将传感器固定在屏幕上。

来到Arduino,将其放在笔记本电脑屏幕的背面。将电线从Arduino连接到各个传感器的触发和回波引脚。

编程Arduino以检测手势

该项目的重要部分是为Arduino编写程序,以便将两个传感器测得的距离转换为用于控制某些动作的适当命令。

在此项目中,此处使用类似的概念来测量您的手在两个超声波传感器之前的距离。计算距离后,有趣的部分开始。

可以校准超声波传感器前面的手势,以便它们可以在计算机上执行五个不同的任务。在看一下手势之前,让我们首先看一下我们可以完成的任务。

切换到Web浏览器中的“下一个”选项卡

切换到Web浏览器中的“下一个”选项卡

在网页中向下滚动

在网页中向上滚动

在两个任务之间切换(Chrome和VLC Player)

在VLC播放器中播放/暂停视频

增加音量

减少音量

以下是我为演示目的编程的5种不同手势或动作。

手势1:将您的手放在右侧超声波传感器前面一定距离(介于15CM至35CM之间)一小段时间,然后将手从传感器上移开。此手势将向下滚动网页或降低音量。

手势2:将您的手放在右超声波传感器前面一定距离(介于15CM至35CM之间)一小段时间,然后将手移向传感器。此手势将向上滚动网页或增大音量。

手势3:在右超声波传感器前滑动手。此手势将移至“下一个选项卡”。

手势4:在左超声波传感器的前面滑动手。此手势将移至“上一个选项卡”或“播放/暂停视频”。

手势5:将手滑过两个传感器(首先是左传感器)。此操作将在任务之间切换。

基于上述手势,编写了以下Arduino程序。

基于Arduino的计算机手势控制的应用。

在此项目中,我们实现了基于Arduino的计算机手势控制,其中在计算机正面进行的很少手势将在不使用鼠标或键盘的情况下执行计算机中的某些任务。

这种类型的计算机手势控制可用于VR(虚拟现实),AR(增强现实),3D设计,阅读手语等。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200902A0QGF400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券