DIY VR 滑板:用 Arduino、Google Cardboard 与蓝牙打造虚拟滑雪体验
项目简介
这是一个趣味十足且易于上手的项目,约 1 小时即可完成。将加速度计/陀螺仪模块 (MPU-6050) 与 Arduino 板固定在滑板底部,通过蓝牙将姿态数据传输给运行在 Android 手机上的 Unity VR 游戏。倾斜滑板即可控制游戏角色左右移动,翘起前轮则触发跳跃动作。仅支持兼容 Google Cardboard 的 Android 设备。如果你有闲置滑板,不妨将其改造成虚拟现实滑雪板!
所需材料
- Google Cardboard 风格 VR 头显
- 一块滑板(建议宽板,更稳定)
- 4 个网球(防止滑板滑动)
- Arduino Leonardo(或 Uno)
- 杜邦线若干
- 迷你面包板
- HC-06 蓝牙模块
- MPU-6050 加速度计/陀螺仪模块
- 9V 电池盒(带开关和 DC 插头,供电 Arduino)
- 电烙铁、热熔胶枪
- Android 应用、Arduino 代码及完整购买链接:wirebeings.com/virtual-reality-skateboard.html
步骤 1:组装 Arduino 发射端
按下图接线。需将排针焊接到 MPU-6050 上(焊头干净约 11 秒即可完成;旧焊头则极其困难)。务必保持元件朝向与图片一致,避免后续修改代码。将模块固定在滑板上,MPU-6050 朝向必须与示意图一致。作者用热熔胶固定电池盒,螺丝锁紧 Arduino 板。

注意:Leonardo 表现更佳。若使用 Uno,I2C 引脚不同:SDA 接 A4,SCL 接 A5。
步骤 2:上传 Arduino 代码
重要:上传代码前必须拔掉 RX/TX 跳线,否则会失败。

// 代码已包含 DMP 姿态解算,通过蓝牙发送 'f'/'b'/'l'/'r'/'s' 指令
// 详见原文完整代码
步骤 3:安装手机 App 并配对
- 下载 Google Cardboard VR Skateboard/Snowboard App(需在安全设置中允许“未知来源”安装)。
- 手机蓝牙搜索“HC-06”,配对密码 1234,勿修改默认名称。
- 将滑板放平,开启 Arduino 电源,随即启动 App。蓝牙连接成功即进入游戏。
- 若蓝牙断开,需重启 App(当前版本仅在启动时连接)。

原理说明
Arduino 利用 MPU-6050 的 DMP(数字运动处理器)输出四元数,转换为偏航/俯仰/横滚角。根据俯仰角(前后倾斜)判断前进/后退,横滚角(左右倾斜)判断转向,Z 轴加速度突变检测跳跃。通过 HC-06 透传串口指令给手机,Unity 端解析控制角色。
电路原理图

进阶建议
- 使用 Leonardo 可释放硬件串口用于调试,Uno 需软串口或占用主串口。
- 可在 Unity 中优化物理手感、增加场景、计分系统。
- 加装按钮实现暂停/重置,或加入振动反馈模块增强沉浸感。
制造工艺
- 自制LUMAZOID:基于Arduino的音乐可视化灯光控制器
- Arduino Nano高速摄影控制器 – 定格水滴碰撞瞬间
- Arduino 与智能手机打造智能电压表——简单易做的 DIY 项目
- JX 波形发生器 – 基于 Arduino 的 DDS 振荡器,带 OLED 显示屏
- DIY Arduino J.A.R.V.I.S 语音助手 - 方舟反应堆造型设计
- DIY Arduino 电子波疗设备 - 基于拉德尼克疗法的 EMR 治疗仪
- DIY二自由度竞速模拟器:Arduino Nano驱动SG90微型舵机
- 使用 Arduino UNO 和 NEO-6M GPS 模块构建目的地到达提醒器
- ArduRadio 闹钟收音机:DIY Arduino FM 收音机与闹钟系统
- Arduino 网球游戏:NeoPixel + 9DoF 传感器 + 蓝牙打造虚拟球拍体验
- 使用 Arduino 制作便携式 RFID 门锁——分步指南
- DIY三轴CNC立式加工中心:打造精密铣床