JRPLK

[Flying Squirrel][Gesture Control] BlueGo

 
Overview

项目介绍:
BlueGo是一款BLE(低功耗蓝牙)HID设备,它基于ESP32芯片开发,集成了手势识别模块 (PAJ7620U2) 、惯性传感芯片 (MPU6500) 和一个五向按钮。此外,它还配备了锂电池管理芯片和锂电池,具备便携性。通过低功耗蓝牙,BlueGo可以与手机、平板、电视或电脑进行连接,提供飞鼠,手势交互和键盘宏等多种功能。通过配套的Android App,用户可以自定义手势和按键的功能。
 
项目状态:已完成~
如果你觉得这个项目还不错,请不吝点赞和收藏,谢谢~~
 
 
功能介绍:
1. 飞鼠 Air Mouse, 设备利用MPU6500陀螺仪,通过计算Z/X轴角速度的积分来获得角度变化,并将其转化为鼠标的X/Y坐标变化,实现光标移动。同时,五向按钮中的3个键被映射为鼠标的左键、中键和右键。效果如下图所示。
 
设备没有集成滚轮,但是我用了一个取巧的方法,把Y轴的转动映射成鼠滚轮。使用时,你需要左右转动手腕来实现滚轮的前后滚动。为了避免误触发,在设置中设定了较高的触发阈值,只有手腕转动速度超过该阈值时才会触发滚轮。效果如下,就是有点费手腕(手动滑稽)。
 
2. 手势控制, 设备使用了PAJ7620的7个手势,将其映射为手机的上下左右滑动、手指点击和返回等操作,从而可以手势操控手机。这在吃饭、烹饪、清洗等不便触摸手机的情景下非常方便。其中,短视频软件的隔空操作是一个典型的应用,如下图所示。
 
 
3. 键盘宏,设备还支持简单的键盘宏功能,并预设了多种键盘按键和组合键操作。这些操作可以映射到五向按钮或8种手势上,作为外设操作手机或电脑。常见的应用场景包括PPT遥控操作、手势控制虚拟桌面、遥控手机拍照等。
 
4. 功能自定义,我为该设备开发了一款Android App,设备通过蓝牙连接App后,可以实现各种功能模式的自由切换和功能模式的自定义。手势和按钮可以映射到各种预设的操作上,实现更多的玩法。现在设备里只预设了一部分手机触摸手势、键盘按键、快捷键组合和电子设备操作。有能力的用户可以自行设计更多的触摸手势,添加更多快捷键,来实现更多有趣的功能,见下图。打开想象力,它会有无限种用法。
 
 
 
 
 
 
5. 开发板:设备的主板还可以直接当做开发板用。我在设计主板时将几乎所有的IO都引导板子两侧,焊上排针立马变身开发板,而且自带按钮,IMU和电池管理模块。
 
设备代码:
ESP32代码(基于ESP-IDF):Geek Fantasy/bluego-esp32 (gitee.com), GeekFantasy/bluego-esp32 (github.com)
Android代码(安装APK见附件):Geek Fantasy/bluego-android (gitee.com) , GeekFantasy/bluego-android (github.com)
 
项目模块:
主控:ESP32-Pico-V3-02 
IMU:MPU6500
手势模块:PAJ7620 (淘宝)
电池管理:TP4056
锂电池:200 mah (长*宽*厚:30*20*4, 单位:mm)(淘宝)
 
设备组装:
设备PAJ7620前安装的镜片和红色的镜框是苹果11Pro/Max 的同款,可以从这里购买。
按钮帽使用的是Thinkpad上经典的红点导航键(手感很好),可以从这里买。
组装需要使用5个M1.6 * 8mm的内六角螺丝,可以从这里买。
如果需要同款挂绳,可以从这里买。
设备的外壳是自己使用3D FDM打印的,如果使用0.12mm打印,安装精度还不错,其他精度应该也可以。外壳使用solidworks设计,相关文件见附件。
设备接线图如下。
模块安装顺序,见爆炸图。
 
 
固件烧录:
程序烧录需要一个USB转UART的设备,因为主板空间有限,没有集成USB转UART的芯片。USB转UART的设备淘宝很多,我用的是这款(USB转UART)。
使用VSCode + ESP-IDF开发的同学可以下载源码编译并烧录。
也可以使用ESP32官方的烧录工具,固件以及具体步骤,详见附件“固件烧录.zip”。
 
注意事项:
设备开机后需要立刻把设备静止放置几秒钟,让MPU6500自行校准,不然飞鼠会出现指针漂移。
 
遗留问题:
五向按钮设计,的时候没太注意方向,所以方向有点偏,但不是很影响使用。如需纠正,顺时针旋转45%。(已在2023-07-24修复此问题)
参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2025-06-20 04:21:29

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号