站内搜索
发作品签到
赛博魔杖_STM32卷积神经网络
专业版

赛博魔杖_STM32卷积神经网络

简介

此项目是Cyberry Potter Electromagic wand赛博魔杖,使用STM32作为主控芯片,通过卷积神经网络进行动作识别,采用模块化设计,具有极高的可扩展性

简介:此项目是Cyberry Potter Electromagic wand赛博魔杖,使用STM32作为主控芯片,通过卷积神经网络进行动作识别,采用模块化设计,具有极高的可扩展性
星火计划2024

开源协议

GPL 3.0

创建时间:2024-08-22 20:48:25更新时间:2025-03-19 17:53:45

描述

视频教程链接:
B站视频--功能演示及介绍

项目简介

此项目是Cyberry Potter Electromagic wand赛博魔杖,通过卷积神经网络进行动作识别,采用模块化设计,具有极高的可扩展性,你可以使用这个项目中的文件,制作一个赛博魔杖。如果你有足够的能力,你也可以对魔杖的的法术(功能)进行修改,魔杖采用了模块化的设计,不同的模块对应了不同的执行功能,你可以根据自己的需要制作新的模块,添加新的功能。也可以对激活法术的动作进行修改,只需要重新收集数据并训练模型就可以了。

实物展示

组装完成状态

17243812478255794181150917773379.jpg

拆解状态

17243813143663502529695496107348.jpg

模块插入方向为正面朝下

17243813882688337197260342041767.jpg

Type-c口可以充电和用作串口调试,充电时红灯亮,满电绿灯亮

1724381481089204098436928830021.jpg

从左到右以此为,状态指示灯,交互按钮,电源开关

1724381622583349528012456443028.jpg

项目功能简介

主板在上电以后会进入模式0,长按按键0.5秒后松开,就可以进入模式1。
任何模式下短按按键并松开:对IMU进行1.5s的采样,将数据输入模型得到动作识别输出,不同的模块在得到动作识别结果后会执行不同的功能。

在红外模块插入时,可以进行任意协议的红外信号复制,例如空调和NEC

模式0:在得到动作识别输出后,模块会根据识别到的动作发送已经录制的红外信号

模式1:在得到动作识别输出后,模块会根据识别到的动作等待并录制红外信号

模式0和模式1下执行的操作可以根据插入模块的不同而执行不同操作(需要编写代码)

Type-c口的作用:可以用于串口调试和电池充电,在有Type-c连接时,设备会使用Type-c而非电池供电

电源开关:电源开关负责开启或关闭3.3V的供电,在1没有开启电源开关时,电池充电是可以正常进行的,但是Stm32和陀螺仪等不会上电工作

按钮:按钮有长按松开(大于0.5秒后松开)、短按松开(0.5s内松开)两种控制方法。

按钮前的LED:系统状态指示灯,分为10Hz闪烁,5Hz闪烁,2Hz闪烁,常亮,熄灭五种状态

原理解析(硬件说明)

  • 本设计采用STM32F103CBT6作为主控芯片,神经网络推理以及主要功能都在STM32上运行,目前可以识别12种动作
    • 可以在电脑上收集数据并重新训练模型,以添加新动作或适应自己的挥动习惯
    • 神经网络模型占用的内存不到8kb,节约了大量资源
    • 推理时间在百毫秒左右,在完成采样后立即推理,完全不会感觉有延迟
  • 本设计采用MPU6050作为动作信息采集芯片
  • 目前已经设计了红外模块和射频模块,具有录制和收发功能
    • 红外与射频模块的录制不需要解码,也就是可以录制任意信号(带加密的不可以)
  • 红外射频信号通过外部存储器W25Q16进行存储,掉电不丢失
  • 模块检测使用了ADC对模块上分压电阻的电压值进行采样,以辨别模块
    • ADC使用了方差校验,可以辨别是否有模块插入

软件代码

完整魔杖代码以及外壳GitHub
软件代码存放在Software目录下,包含一个Keil工程,在./Software/CNN目录下存放了模型训练脚本,数据收集脚本,以及法术对应动作的卡片。

开发环境配置请参照GitHub中的readme文档。

你也可以在下方下载3D外壳文件和法术卡片

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
3D外壳文件Step.zip
391
2
3D外壳文件STL.zip
328
3
法术卡片.zip
706
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航