发作品签到
专业版

智能枪[CyberGun]

工程标签

1.2w
0
0
25

简介

壁虎2.0软蛋发射器智能化升级,开发一个设备以实现载弹量显示,上膛状态显示,持枪稳定性训练等功能。

简介:壁虎2.0软蛋发射器智能化升级,开发一个设备以实现载弹量显示,上膛状态显示,持枪稳定性训练等功能。
星火计划2024

开源协议

CERN Open Hardware License

创建时间:2024-03-29 14:53:57更新时间:2024-08-30 15:47:01

描述

项目说明


此项目的是主要目的是智能化升级一款软蛋(海绵软蛋)发射器(森柏龙壁虎2.0)。 在发射器上安装了一套以ESP32-Pico-D4为主控的设备,配置1.33英寸TFT屏幕,集成IMU:MPU6050 和 8个霍尔传感器。IMU用来使用体感来与系统交互,霍尔传感器配合磁体,用于检测载弹量和上膛状态。使用ESP32集成的蓝牙和Wifi可与其他系统交互,完成数据上报。

 

B站视频我制作了一把智能枪,还开发了配套的智能应用,恐怕游戏里都玩不到_哔哩哔哩_bilibili 

功能包含载弹量检测上膛和击发检测射击稳定性检测,持枪稳定性训练,运动状态监测 等

 

功能介绍


 

 

 

  • 应用切换 -- 设备只设计了一个顶部按钮,没有使用触摸屏,因此要依赖设备的IMU,感知设备的状态来进行操作。 应用切换需要左右倾斜发射器,预设应用一次划过屏幕,摆正屏幕,按下设备上面的按钮即可进入应用。

 

  • 载弹量显示 & 上膛击发状态检测 -- 进入应用,屏幕左侧显示弹量和标识,右侧显示上膛和击发状态。装入弹夹后,设备通过弹量检测电路检测是否有弹夹装入,如果有再检测弹量。同时设备还会检测上膛状态,上膛和击发状态切换时,会显示预设的动画效果。绿色为没有上膛状态,红色代表已上膛。

 

  • 射击稳定性检测 -- 此应用用来显示扳机击发前后1秒钟内的设备水平和垂直方向指向的变化范围,用2轴的图表展示射击的稳定性。 图表曲线越平整,代表击发时持枪越稳。 此应用只是展示数据,数据采集是在弹量显示界面完成的。设备会记录最近5次的射击记录,标号1-5,1代表最近的一次射击。

 

  • 持枪稳定性训练 --这个应用是训练用的,进入应用后会倒计时3秒,倒计时结束后,会在屏幕上显示一个靶标和一个绿色或者红色的圆点。圆点会根据发射器的指向变化位置,圆点在靶标中心附近时是绿色,代表瞄准稳定;变成红色时,表示发射器指向偏离原始方向。训练时,需要努力把圆点保持在靶标中心位置。屏幕左上为计时,右上为实时得分,把圆点保持在中心位置时间越长得分越高,反之得分越低。

 

  • 运动状态监测 --进入应用后,设备启动Wifi服务器,设备屏幕显示服务器地址,使用电脑连接此地址后,运行电脑端脚本,即可实时显示3轴加速度曲线,通过加速度曲线可判断持发射器人的运动状态。

 

项目进度


硬件已完成,外壳3D文件见附件

软件已完成   源码:GeekFantasy/BulletGo (github.com)

 

设计原理


整个项目分3部分,主控板,传感器板和烧录板, 如下图。主控板集成了MCU、MPU6050、LCD和电池管理芯片,运行主控制程序;传感器板集成了一个8Bit GPIO扩展芯片,通过IIC连接主板,8个GPIO分别连接了8个霍尔传感器,用于检测子弹数量和上膛状态;烧录板集成了串口芯片和自动烧录电路,用于主控板的程序烧录和串口通信通过 UART总线连接主控板。

 

电路原理


  • 主控板电路原理:

主控芯片使用的是 ESP32-PICO-D4,是一款基于 ESP32 的系统级封装 (SiP) 模组,可提供完整的 Wi-Fi 和蓝牙 ® 功能。该模组的外观尺寸仅为 7mm × 7 mm × 0.94 mm,整体占用的 PCB 面积最小,已集成1 个 4 MB 串行外围设备接口 (SPI) flash。所以外围电路可以非常简单,能够在比较小的范围内集成更多的器件。CP-RX/TX引脚连接串口芯片,用于和打印Log和烧录程序。IO0和EN引脚链接哦烧录板,用于控制芯片在烧录和LOG模式切换。 LCD-BL/DC/MOSI/SCK/RES用于控制驱动为ST7789的LCD显示屏。GPIO35连接唯一的一个按钮,用于进入和退出应用。SEN-INT/SCL/SDA用于连接传感器板上的GPIO扩展芯片,可以获取载弹量和检测是否上膛。MPU-INT/SCL/SDA用于和MPU6050通信,用户应用程序的体感交互。

 

  • 载弹量和上膛状态检测电路原理:

此电路位于传感器板上,安装在发射器的弹夹侧面。为了减少与主控板的线路数量,这里使用了一个I2C接口的GPIO扩展芯片,恩智浦的PCA9554PW,118 扩展出8个GPIO,分别连接8个霍尔传感器。其中7个霍尔传感器对其与弹夹弹量为0-6的位置,托弹板上固定了一颗圆形磁铁,用于触发不同位置的霍尔传感器。随着弹量的减少,磁铁依次向上运动,触发不同位置的霍尔传感器,PCA9554W上报GPIO状态,主控便可采集到载弹量。另外一个霍尔传感器位于枪机的卡扣处,可感应安装在枪机上的磁铁,来确定是否上膛。

 

  • 烧录板电路原理

主控板空间有限,因此烧录板独立处理,主要用于程序烧录和串口通信。使用了CP2102,配合2个三极管,实现了程序自动烧录和LOG模式的自动切换。

 

组装步骤:


1. 按下图组装和测试硬件部分

 

 

 

2. 按走线图把各部分硬件固定在拆解开的发射器上,使用热熔胶或者其他胶水固定(图中蓝色部分是用来遮盖关键部位,否则识别为枪则无法上传)。

 

3. 按照下图安装霍尔传感触发磁铁。

 

4. 把发射器组装回去,测试,完成。

 

设备代码:


固件代码是在开源项目HoloCubic_AIO的基础上开发:ESP32代码(Arduino):  GeekFantasy/BulletGo (github.com)

 

材料以及组装:


  • PCB: 3块电路板,主控板Main_v2.1(板厚1.2mm), 烧录板Prog_v2(板厚1.2mm)和传感器板Sensor_v2(板厚0.6mm或者FPC)
  • 屏幕:LCD 1.33寸 240X240,ST7789驱动, 焊接式12Pin裸屏,淘宝-中景园电子
  • 连接线:3块电路板通过接口端子连接,端子连接线需要自己制作,可在嘉立创商城购买 
  • 电池: 3.7伏锂离子电池,型号-902030 500mah(厚:9mm,长:30mm,宽:20mm)请自行选购(我之前购买的已下架)
  • 软蛋发射器:所有的设备需要集成到壁虎2.0软蛋发射器。可在淘宝自行购买,搜索关键词:森柏龙壁虎发射器2.0。
  • 主控外壳:需要自行打印,模型见附件。

 

固件烧录:


1. 使用IDE烧录:程序使用 PlatformIO开发,可下载程序,编译后直接烧录。

2. 使用ESP32烧录工具:稍后提供

 

注意事项:


  1. 打样时请注意板厚主控板Main_v2.1 1.2mm,传感器板Sensor_v2 0.6mm FR-4板或者使用FPC(可以不要补强),过厚将无法安装。
  2. 现在传感器和主控部分连线没有特别处理,线束会外漏。介意的朋友可以等以后有解决方案了再进行复刻。

 

参考项目:


  1. 稚晖君的HoloCubic(地址
  2. ClimbSnail的HoloCubic_AIO (地址

 

设计图

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

BOM

暂无BOM

附件

序号文件名称下载次数
1
CyberGun.mp4
156
2
外壳3D文件.zip
96
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航