查看“体感游戏手柄”的源代码
←
体感游戏手柄
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language| 体感游戏手柄}} {| style="width: 800px;" |- | ==目的== 通过体感模拟键盘W、A、S、D按键,可以控制游戏。 ==原理== 利用三轴加速度传感器MPU6050检测手柄的运动状态变化,然后利用Microduino-CoreUSB的模拟键盘功能模拟W、A、S、D按键。 ==设备== {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-CoreUSB/zh]]||1||核心板 |- |[[Microduino-10DOF/zh]]||1||矢量传感器模块 |} [[File: Motion_handle.jpg|600px|center|thumb]] ==搭建硬件== * Setup 1:将CoreUSB接到电脑。打开示例程序,选择好板卡和串口下载程序。 [https://github.com/Microduino/Microduino_Tutorials/tree/master/MCookie_Tutorial/Motion_Handle Motion_Handle] *Setup 2:将CoreUSB与10DOF叠堆。 [[File:CoreUSB_10DOF.jpg|600px|center|thumb]] *Setup 3:将CoreUSB接到电脑,此时电脑会识别到一个键盘,在设备管理器会枚举出“HID Keyboard Device”设备。 [[file:Microduino-sensorhub_rule.JPG|thumb|800px|center]] [[File:HID_Keyboard_Device.jpg|600px|center|thumb]] ==软件调试== 代码说明 *控制变量初始化: <source lang="cpp"> MPU6050 accelgyro; //三轴加速度传感器 int ax,ay,az; //三轴加速度变量 float Ax,Ay,Az; void setup(){ Serial.begin(9600); Keyboard.begin(); //模拟键盘初始化 Serial.println("Initializing I2C devices..."); accelgyro.initialize(); //三轴加速度传感器初始化 // verify connection Serial.println("Testing device connections..."); Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed"); } </source> *判断手柄的运动状态。手柄向左,右,前,后摆,分别对应按键A,D,W,S。 <source lang="cpp"> void loop() { accelgyro.getAcceleration(&ax, &ay, &az); Ax = ax/16384.00; //计算X轴加速度 Ay = ay/16384.00; //计算Y轴加速度 Az = az/16384.00; //计算Z轴加速度 if(Ay >= 0.6 ) //手柄向左摆 { Keyboard.press('A'); //按键‘A’ } else if(Ay <= -0.6) //手柄向右摆 { Keyboard.press('D'); //按键‘D’ } else if(Ax >= 0.6) //手柄向前摆 { Keyboard.press('S'); //按键‘S’ } else if(Ax <= -0.6) //手柄向后摆 { Keyboard.press('W'); //按键‘W’ } else { Keyboard.releaseAll(); //释放按键 } delay(200); } </source> ==结果== 在电脑上打开记事本,将CoreUSB连接到电脑上,想手柄向左摆,记事本上会持续打印出字母A,手柄再摆回原位置,记事本停止打印,其他按键同理。 ==视频== |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
体感游戏手柄
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息