用 Arduino 控制 Chrome 恐龙游戏:真实硬件交互项目
元件与材料
| 元件 | 数量 | 备注 |
|---|---|---|
| Arduino MKR Zero | 1 | 需支持 Keyboard 库(Leonardo/Esplora/Zero/Due/MKR 系列均可) |
| 面包板 | 1 | |
| 力敏电阻 (FSR) | 1 | 检测跳跃动作 |
| 伸缩传感器 (导电橡胶绳) | 1 | 检测下蹲动作 |
| 10kΩ 电阻 | 2 | 分压用 |
| 跳线 | 若干 |
项目原理
Chrome 恐龙游戏(断网时按空格进入)只需两个操作:空格/上键跳跃、下键下蹲。本项目将 FSR 绑在脚底或鞋垫,跳起时压力骤增触发“跳跃”;将导电橡胶绳固定在腰部或膝盖,下蹲时拉伸电阻变化触发“下蹲”。Arduino 通过 Keyboard.h 模拟键盘事件,实现**身体动作实时映射游戏操作**。
制作步骤
- 按原理图搭建电路:FSR 接 A2、伸缩传感器接 A1,均接 10kΩ 下拉电阻分压
- 上传代码,打开串口监视器观察
stretchValue与forceValue范围 - 修改代码第 3、4 行阈值
stretchThreshold、forceThreshold适配个人传感器 - (可选)3D 打印腰带夹固定面包板
- 拔掉网线,打开 Chrome,享受“全身心”游戏体验!
核心代码
#include <Keyboard.h>
int stretchThreshold = 990; // 伸缩传感器阈值(需实测调整)
int forceThreshold = 1000; // FSR 阈值(需实测调整)
void setup() {
Keyboard.begin();
pinMode(A1, INPUT); // 伸缩传感器
pinMode(A2, INPUT); // FSR
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
int stretchValue = analogRead(A1);
int forceValue = analogRead(A2);
Serial.print("stretch: "); Serial.print(stretchValue);
Serial.print(" force: "); Serial.println(forceValue);
// 下蹲 → 按下方向键下
if (stretchValue < stretchThreshold) {
digitalWrite(LED_BUILTIN, HIGH);
Keyboard.press(KEY_DOWN_ARROW);
delay(200);
digitalWrite(LED_BUILTIN, LOW);
}
// 跳跃 → 按空格
if (forceValue < forceThreshold) {
digitalWrite(LED_BUILTIN, HIGH);
Keyboard.press(' ');
delay(200);
digitalWrite(LED_BUILTIN, LOW);
}
Keyboard.releaseAll(); // 释放所有按键
}
原理图
见附件原理图:FSR 与伸缩传感器分别构成分压电路接 A1/A2,Arduino 通过 USB 同时供电并枚举为 HID 键盘设备。
扩展思路
- 加入 MPU6050 姿态解算,实现更自然的体感控制
- 改用 BLE HID(如 ESP32)实现无线版本
- 扩展至其他按键类网页游戏(如 2048、Flappy Bird 网页版)
制造工艺
- 蓝牙控制树莓派机器人:语音反馈功能构建指南
- 用 Arduino UNO 和 OLED 显示屏制作经典 Pong 游戏:分步教程
- DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
- Arduino 触控打砖块:在 2.4 英寸 TFT LCD 上重现经典街机
- 废旧遥控车改装:Arduino + USB Host Shield 实现 Xbox 手柄无线控制
- Arduino Mega 驱动 Wii Nunchuk 控制 6 自由度机械臂
- Arduino Nano 语音控制机器人:蓝牙 + 手机 APP 实现
- Pixel Chaser:Arduino Nano 单键 NeoPixel 追逐小游戏
- PiBot:Arduino驱动的88键钢琴机器人,精准演奏MIDI乐曲
- Arduino 自动化 Chrome 恐龙游戏 - LDR 光敏电阻 + Python 实现全自动跳跃
- Arduino 电容式触控开关:一枚硬币点亮 LED 的极简 DIY
- DIY Arduino USB 触控板 —— 将废旧笔记本触控板改造为现代输入设备