我用全志V851s做了一个魔法棒,使用Keras训练手势识别模型控制一切电子设备

这是一个可以直接启动原神的魔法棒~

原神,启动!

在这里插入图片描述

这是一个万全的解决方案!只需要花80元再动动手,就可以将哈利波特的魔杖与人工智能结合到一起!它就是用全志V851s做的赛博魔杖!

在这里插入图片描述

这个魔法手杖有啥亮点

手势识别“控万物”

它可以通过手势识别,控制一切你想控制的电子设备(灯、空调),也可开原神。

主要是通过识别手势画出来的字符控制,当前识别字符为字母 A~Z,也有数字 0~9等更多的模型。

在这里插入图片描述

控制的过程中,你也可以高喊一句阿瓦达!

关于手势控制精度,您可以参照开源代码仓库训练精度更高(当前准确率为 92%),可识别字符(当前为字母 A~Z,数字 0~9)更多的模型。

成本低,易复刻,有技术含量

总成本包含外壳只需要80元,如果你想要一个更好看的外壳,也可以自己替。

蓝牙通信

本魔杖使用蓝牙串口透传模块通信,可以用这个功能开启原神。

你可以参照代码仓库中的通信协议自行扩充本魔杖功能以及依此协议开发其他蓝牙终端,以达到遥控更多带有蓝牙的终端设备的目的。

硬件部分

这是魔杖本身的电路设计部分,其实并不复杂:

其基础硬件主要包含:全志 V851s,BMI088,HLK-B40。

在这里插入图片描述

在这里插入图片描述

魔杖如何轻松开关灯?多亏了这个开灯器打配合!看看它的电路吧:

在这里插入图片描述

在这里插入图片描述

整体配合效果就是这样的:

在这里插入图片描述

硬件设计参考:Yuzukilizard 柚木PI 迷你 AIoT 开发板

软件部分

通过本章节,你会了解到——AI手势识别功能是如何做到的。

1、软件构成

使用Keras训练手势识别模型,转为 TFlite 模型。

再通过谷歌提供的 TFlite C API 运行模型。

2、代码仓库

代码仓库顺序如下:

  • bmi088 获取挥棒手势数据
  • Keras 挥棒手势识别模型训练
  • V851s 赛博魔杖
  • 蓝牙控制的简易舵机开关灯装置_HLK-B40
  • 原神 蓝牙安卓启动器

1、在工程附件中可下载固件文件(文末有入口)。

在这里插入图片描述

2、将 TF 卡 通过读卡器连接电脑。
3、使用 全志提供的 PhoenixCard 软件。
4、按下图步骤下载固件到 TF 卡中。
在这里插入图片描述

5、固件下载完成后,插入 TF 卡槽中。
6、魔杖初次开机需要半分钟(正常开机会闪三下灯)。非初次则需要 8 秒时间开机,如果开机很久都没闪灯,请重启或检查硬件(可插入数据线连接电脑,重启魔杖并使用 MobaXterm 查看串口打印信息以确定原因)。
7、开机后进入陀螺仪初始化,期间会亮灯。也就是说,加上开机亮灯,会亮 4 次。
8、注意,本魔杖 Type-C 口正反插分别为 USB-OTG 和 串口,请插上去后查看电脑驱动,以确定哪一方向为串口。
9、开灯器固件在代码仓库下载源码,可自行编译或直接下载固件,参考 STC 51单片机程序下载方法。

搞定了这一步,就要开始组装魔杖了!

组装

①组装魔杖:在工程附件中可下载 3D 外壳文件,制作出来后按下图方式嵌入电路板及电池。

在这里插入图片描述

②组装开灯器:同上,有设计文件,制作出来后,按下图组装开灯器,注意红外头需引出。

在这里插入图片描述

不觉得很酷吗,科技并带着乐趣

蓝牙连接

以上操作完成并正常开机后,就可以尝试连接蓝牙了。

使用海凌科官网提供的 HLK-B40 软件 连接到蓝牙模块,

按照下图内容修改参数设置:

在这里插入图片描述

上图是魔杖的蓝牙模块配置,开灯器的蓝牙模块配置图略,魔杖和开灯器一个作主机一个做从机就行 了

同样使用海凌科官网提供的 HLK-B40 软件连接到蓝牙模块,按照下图内容修改参数 设置:

在这里插入图片描述

上图需要注意的点为透传相关 UUID。

三个 UUID 需要改成同一个才能和手机 APP 正常通信,否则手机只能连接模块但无法收发数据。

接着在代码仓库下载源码,自行编译,或直接下载 apk。

注意!手机 app 需要打开权限,否则无法正常使用。

在这里插入图片描述

此 APP 不联网,定位权限是使用蓝牙的前提,不会泄露您的任何信息。

开源项目资料获取

需要【软硬件资料+视频演示文件】,请“复制链接”进入开源页查看:https://oshwhub.com/realtix/cyber-wand-v851s_bmi088_keras

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/666398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go协程揭秘:轻量、并发与性能的完美结合

目录 1. Go协程简介什么是Go协程?Go协程与线程的比较Go协程的核心优势 2. Go协程的基本使用创建并启动Go协程使用匿名函数创建Go协程Go协程与主函数 3. Go协程的同步机制1. 通道 (Channels)2. sync.WaitGroup3. 互斥锁 (sync.Mutex) 4. Go协程的高级用法1. 选择器 (…

每日一题——LeetCode1394.找出数组中的幸运数

方法一 桶数组计数法 又要保存整数的数值和他出现的频次,那么碰到一个整数num就让res[num],那么循环res数组,如果res[i]0则代表i没有在arr中出现过,res[i]n则代表i在arr中出现n次 因为题目要求只返回最大的幸运数,所…

计算机软件能力认证考试CCF-202312-1 仓库规划

#自己跑的测试没问题&#xff0c;不知道为啥就是不能满分 原理比较绕&#xff0c;就是让数组中一行不断地与其他行进行比较&#xff0c;最终得到各自的索引 #include <iostream> using namespace std; int main() {int n;int m;cin>>n>>m; int array[n][m];…

【C/C++ 08】简单计算器

一、题目 输入算术表达式&#xff0c;可包含空格&#xff0c;检查算术表达式的合法性&#xff0c;若算术表达式不合法&#xff0c;打印错误类型&#xff0c;若合法&#xff0c;则进行运算&#xff0c;打印计算结果。 二、算法 1. 将输入的算术表达式字符串去除空格。 2. 检查…

电源模块欠压保护点测试方法分享 纳米软件

电源欠压保护原理 欠压保护是指当电源电压低于一定值时&#xff0c;电源的保护功能会及时断开电路&#xff0c;避免设备受到损坏。电源欠压保护一般是通过一个或多个传感器来检测电压&#xff0c;当电压低于设定值时就会触发电源的保护功能&#xff0c;断开电路&#xff0c;保护…

猫用空气净化器真的能除菌吗?除毛可以用宠物空气净化器吗?

猫咪给我们带来了无尽的欢乐&#xff0c;但它们换毛时家里到处都是猫毛。我们会在地板、沙发上发现一大堆&#xff0c;甚至衣服也难逃其影响。这些浮毛中可能携带着微生物和尘螨等。对于免疫力较低的老年人、孩子和孕妇来说&#xff0c;他们更容易感染这些微生物。而对于鼻炎患…

[Tomcat问题]--使用Tomcat 10.x部署项目时,出现实例化Servlet类[xxx]异常

[Tomcat问题]–使用Tomcat 10.x部署项目时&#xff0c;出现实例化Servlet类[xxx]异常 本片博文在知乎同步更新 环境 OS: Windows 11 23H2Java Version: java 21.0.1 2023-10-17 LTSIDE: IntelliJ IDEA 2023.3.3Maven: Apache Maven 3.9.6Tomcat: Tomcat 10.1.18 ReleasedSer…

vulhub中Adminer远程文件读取漏洞复现(CVE-2021-43008)

Adminer是一个PHP编写的开源数据库管理工具&#xff0c;支持MySQL、MariaDB、PostgreSQL、SQLite、MS SQL、Oracle、Elasticsearch、MongoDB等数据库。 在其版本1.12.0到4.6.2之间存在一处因为MySQL LOAD DATA LOCAL导致的文件读取漏洞。 参考链接&#xff1a; https://gith…

JAVA Studynote(7-8)

JAVA Studynote(7-8) 1.DOS系统 ​ *接受指令 *解析指令 *执行指令 2.相对路径和绝对路径 *相对路径 ​ *从当前目录开始定位&#xff0c;形成的一个路径 *绝对路径 ​ *从顶级目录d&#xff0c;开始定位&#xff0c;形成的路径 ​ *示例&#xff1a; 3.常用DOS指令 …

12种算法优化CNN-BiLSTM-Attention多特征输入单步预测,机器学习预测全家桶,持续更新,MATLAB代码...

截止到本期&#xff0c;一共发了12篇关于机器学习预测全家桶MATLAB代码的文章。参考文章如下&#xff1a; 1.五花八门的机器学习预测&#xff1f;一篇搞定不行吗&#xff1f; 2.机器学习预测全家桶&#xff0c;多步预测之BiGRU、BiLSTM、GRU、LSTM&#xff0c;LSSVM、TCN、CNN&…

【lesson8】高并发内存池Central Cache层释放内存的实现

文章目录 Central Cache层释放内存的流程Central Cache层释放内存的实现 Central Cache层释放内存的流程 当thread_cache过长或者线程销毁&#xff0c;则会将内存释放回central cache中的&#xff0c;释放回来时–use_count。当use_count减到0时则表示所有对象都回到了span&am…

备战蓝桥杯---数据结构与STL应用(进阶4)

今天主要围绕并查集的一些今典题目展开&#xff1a; 在这里&#xff0c;我们把逻辑真的组合&#xff0c;用并查集即可。一开始&#xff0c;我觉得把a,b,c等价&#xff0c;把第一个赋a,接下来推即可&#xff0c;但这样在判断矛盾时还需要选择合适的点find&#xff0c;于是我们把…

深度学习(10)-Keras项目详解(递归神经网络)

一.递归神经网络基础概念 递归神经网络(Recursive Neural Network, RNN)可以解决有时间序列的问题&#xff0c;处理诸如树、图这样的递归结构。 CNN主要应用在计算机视觉CV中&#xff0c;RNN主要应用在自然语言处理NLP中。 1.h0&#xff0c;h1.....ht对应的是不同输入得到的中…

debian12 解决 github 访问难的问题

可以在 /etc/hosts 文件中添加几个域名与IP对应关系&#xff0c;从而提高 github.com 的访问速度。 据搜索了解&#xff08;不太确定&#xff09;&#xff0c;可以添加这几个域名&#xff1a;github.com&#xff0c;github.global.ssl.fastly.net&#xff0c;github.global.fa…

银河麒麟 aarch64 Mysql环境安装

一、操作系统版本信息 组件版本操作系统Kylin V10 (SP3) /(Lance)-aarch64-Build23/20230324Kernel4.19.90-52.22.v2207.ky10.aarch64MySQLmysql-8.3.0JDK1.8.0_312 二、MySQL下载 官网下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 三、MySQL 安装 3.1 删…

年终奖,还得是腾讯。。。

腾讯年终奖 什么是真正的好公司&#xff1f; 一年到头&#xff0c;出不了几次裁员等劳务纠纷的吃瓜新闻。 只有到年底了&#xff0c;才因为年终奖远高于行业水平&#xff0c;实在没法低调了&#xff0c;"被迫"上热搜。 最近网友爆料了腾讯头牌部门的年终奖&#xff1…

JavaSE——流程控制-循环结构(for循环、while循环、小案例、do-while循环、死循环、循环嵌套)

目录 for循环 while循环 小案例 do-while循环 死循环 循环嵌套 for循环 for(int i 0; i < 5; i) {System.out.println("Hello world"); } 执行的流程&#xff1a; 循环一开始&#xff0c;执行int i0 一次。此时 i 0&#xff0c;接着计算机执行循环条件…

下载RTSP播放器

1.网站1 2.海康播放器 在海康官网上选择【服务支持】【工具软件】&#xff0c;往下滚动&#xff0c;打开VSPlayer_x64

陪女朋友学习计算机二级之栈和队列

栈 栈(堆栈)的定义 堆栈又名栈(stack),它是一种线性表。限定仅在表尾进行插入和删除操作的线性表。是一种后进先出的线性表. 空栈:不含任何元素的空表。 栈顶和栈底 进行插入和删除的这一端(表尾)被称为栈顶&#xff0c;相对地&#xff0c;把另一端称为栈底。 入栈和出栈 …

大小姐驾到!高德地图联合《王者荣耀》推出孙尚香导航语音包

“大小姐驾到&#xff01;统统闪开&#xff01;”如果你是一个手游爱好者&#xff0c;多半会对这句话耳熟能详&#xff0c;来自于国内手游界顶流《王者荣耀》中的高人气角色——孙尚香&#xff0c;并成为一代玩家们的记忆。 如今&#xff0c;随着高德地图与《王者荣耀》达成合…