站内搜索
发作品签到
基于ESP32的智能水枪
专业版

基于ESP32的智能水枪

工程标签

Arduino

ESP系列

1.2w
0
0
7

简介

本项目是一款基于ESP32-C3的DIY智能水枪。还原游戏中的屏幕显示、烟雾和射击效果。另外加入了水泵、激光器、音效系统,并开发了完整的UI设置界面。

简介:本项目是一款基于ESP32-C3的DIY智能水枪。还原游戏中的屏幕显示、烟雾和射击效果。另外加入了水泵、激光器、音效系统,并开发了完整的UI设置界面。

开源协议

GPL 3.0

创建时间:2025-07-18 14:42:52更新时间:2026-06-22 11:17:32

描述

🎬 视频链接

🔗 B站视频--项目开发过程


💡 1. 简介

本项目是一款基于 ESP32-C3 的 DIY 智能水枪。

本人非专业人士,所有知识皆为现学,项目已验证为可用,但可能存在 BUG 和不规范设计,请谨慎学习。错误之处请在评论区指出,我会及时修正。

> 🚨 [本项目为安全声光玩具,只能滋水,不能发射子弹!]


📜 2. 描述

本项目参考APEX游戏中的R99刀刃武器模型,还原了游戏中的屏幕显示、烟雾和射击效果。另外加入了水泵、激光器、音效系统,并开发了完整的 UI 设置界面。
可以作为玩具、摆件或CosPlay道具使用。








🧩 3. 结构模型

🔗 模型开源地址: MakerWorld

🛠️ 4. 硬件架构



  • 🧠 MCU: ESP32-C3
  • 📺 屏幕: 0.95寸彩色OLED
  • 🕹️ 交互: 编码器输入
  • ⚙️ 外设: 水泵、加湿器、ws2812灯带、语音模块
  • 🔋 供电: 18650圆柱形锂电池*2、双向快充模块

【物料清单已上传至附件】

💻 5. 软件架构

💻 软件配置:

  • IDE: VScode + platformio
  • 框架: Arduino
  • UI: LVGL-8.3.10
    🔗 源代码开源地址: GitHub

📂 目录结构

src/
├── assets/          # 静态资源 (字体 .c, 图片 .c)
├── hardware/        # 硬件驱动层 (Input, Output, LedStrip, Voice)
├── logic/           # 业务逻辑层 (核心状态机 WaterGunLogic)
├── storage/         # 数据持久化层 (SettingsManager)
├── ui/              # UI 表现层
│   ├── screens/     # 各个独立子屏幕的实现 (ScreenMain, ScreenFunc...)
│   └── UIManager    # UI 总调度器
├── config.h         # 全局引脚和参数配置
└── main.cpp         # 程序入口,主循环

⚙️ 设置系统

  • 操作逻辑: 通过旋转编码器导航,短按扳机进入/编辑,长按扳机保存并返回。通过旋转编码器导航,短按扳机进入/编辑,长按扳机保存并返回。
  1. 🔫 子弹设定:

    • 子弹类型: 切换 水/激光。
    • 最大载弹量: 15-99发可调。
    • 射击/换弹速度: 1-99 可调。
    • 换弹延迟: 自动换弹前的等待时间。
  2. 📊 系统信息:

    • 性能监视器: 开关显示 FPS (帧率), RAM (内存占用), L (主循环耗时 us)。
    • 开发者信息: 滚动查看Logo和开发者名称。
  3. 🎨 主题设定:

    • 双色主题: 可分别定义“常规色”(文字)和“强调色”(焦点条/图标背景)。
    • 全彩拾取器: 使用Canvas绘制的彩虹渐变条,支持平滑颜色选择。
    • 实时预览: 调整颜色时,全系统UI颜色实时生效。
  4. 🎵 声音设定:

    • 音效开关: 一键静音。
    • 音量调节: 0-30级调节,调节时实时反馈音量大小。
  5. 💡 灯光设定:

    • 呼吸灯速度: 控制灯带流水速度。
    • 呼吸灯颜色: 全彩调节灯带主色调,支持实时预览。
  6. 🧰 功能设定:

    • 硬件开关: 独立控制水泵、加湿器、灯光、激光器的使能状态。
    • 自动待机: 设定无操作 X 分钟后自动休眠(0为禁用)。
  7. 🧰 666:

    • 动画: 进入后会播放一键三连动画。

⚠️ 6. 已知问题

  • FDM打印的模型存在漏水现象,提高打印温度或使用光固化打印可以改善
  • 由于模型内部有大量水汽,可能会干扰电路正常运作,建议在电路板上喷涂三防漆
  • 系统目前无法实现自动关机,只能休眠降低功耗,长时间不玩建议拔下弹匣
  • 模型内部的水箱容量很小,只够加湿器使用,同时喷水的话几下就没水了。我另外设计了水瓶转接器,可以外接瓶子,但是这样会降低颜值...
  • 激光枪模式还没有对激光标靶做适配,靶子我还没买,激光标靶需要特定的载波激光触发,单片机理论上可以调制,后边实现了的话会更新到程序中。

🔧 7. 组装说明

🚧 组装说明施工中...近期更新

设计图

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

BOM

暂无BOM

3D模型

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

附件

序号文件名称下载次数
1
R99智能水枪物料清单.xlsx
17
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

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

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

底部导航