电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用arduino、mpu6050和python控制游戏

使用arduino、mpu6050和python控制游戏

2022-12-13 | zip | 0.08 MB | 次下载 | 免费

资料介绍

描述

大家好,

控制器可用作玩游戏的游戏控制器。我想用 MPU6050 做一些东西,然后我决定做这个项目。

那么让我们看看它是如何工作的

在这个项目中,ardiono uno 读取油门按钮、刹车按钮的按钮状态和 MPU6050 传感器提供的数据,然后在串行监视器上打印一个字符,然后 python 程序读取该字符以模拟程序的键盘输入(游戏)。

那么如何制作这个东西呢?

步骤1

最初,您必须做一些基本的接线来将 arduino 与 mpu6050 和两个按钮连接起来,一个用于油门,另一个用于刹车。

pYYBAGOX2rGAWUzWAADv5-EElj435.jpeg
 

现在你必须在自行车上设置硬件,让它感觉更真实(你可以跳过这个或安装在你想要的地方)

将 MPU6050 传感器安装牢固。将其 Z 轴与我的设置类似(您可以更改,但您必须在代码中进行一些更改)

 

poYBAGOX2ruARVQ6AAEI7UzTnTQ73.jpeg
 

第 3 步

现在在软件部分,我正在使用库 和 。

pYYBAGOX2sCAJlHUAAG2KyiMiag081.jpg
安装 MPU6050_tockn.h
 

现在我对每个动作都使用了一些关键代码。

事件动作

如果按下油门按钮,则在串行端口上写入“w”

如果按下刹车按钮,在串口上写“s”

如果观察到正确的位置,在串口上写“d”

如果观察到左侧位置,请在串行端口上写入“a”

如果按下油门按钮并观察到正确的位置,则在串行端口上写入“e”

如果按下油门按钮并观察到左侧位置,则在串行端口上写入“q”

如果按下制动按钮并观察到正确的位置,则在串行端口上写入“c”

如果按下制动按钮并观察到左侧位置,则在串行端口上写入“z”

所以为此我们必须使用以下代码

if(mpu6050.getAngleZ()>25 && digitalRead(A0))  
  Serial.println('q');
 else if(mpu6050.getAngleZ()<-25 && digitalRead(A0))
  Serial.println('e');
 else if(mpu6050.getAngleZ()>25 && digitalRead(A1))
  Serial.println('z');
 else if(mpu6050.getAngleZ()<-25 && digitalRead(A1))
  Serial.println('c');
 else if(digitalRead(A0))
  Serial.println('w');
 else if(digitalRead(A1))
  Serial.println('s');
 else if(mpu6050.getAngleZ()>25)
 Serial.println('a');
 else if(mpu6050.getAngleZ()<-25)
 Serial.println('d');

注意 - 如果您使用另一个轴,那么您可以使用 mpu6050.getAngleX() 或 mpu6050.getAngleY()。

mpu6050.getAngleZ()>25

在这里,我将考虑当mpu6050.getAngleZ()给出的值大于 25(阈值点)时向左移动,您可以更改并设置自己的阈值点,为了找到自己的阈值点,您可以使用 getAngle 的示例代码来检查传感器的值每个位置,然后您可以在所需位置选择 Sthe 值。

pYYBAGOX2s2Aam-AAAH5MLMjubU512.jpg
使用此示例检查每个位置的传感器值
 

看我的串口监视器

 

到目前为止,我们在串口上获取值,现在我们将使用 python 扫描串口然后模拟输入,在此我将给出两个 python 代码其中一个使用pyautogui生成输入 但有时这不适用于 Direct X游戏,所以我也会给出第二个 python 代码(port2.py ),希望它可以工作,所以一个接一个地尝试两个 python 代码(port1.pyport2.py ),看看哪个有效。您还可以在运行 python 程序后选择一个记事本,如果您看到它在按下油门按钮或进行任何其他动作时在记事本上打印 w,那么从这个硬件和 arduino 方面来说一切都很好。

我在下面给出了完整的代码。[注意-在python程序中将端口名称更改为您的arduino端口,对我来说这是' COM3 ']

4 步 - 运行它

1-首先连接 arduino 打开串行监视器,如果一切正常,您会在串行监视器中看到正确的输出,然后关闭串行监视器

2 - 打开游戏

3rd - 运行 python 脚本进入游戏窗口

4th - 享受,现在你完成了

现在看看它是如何实时工作的,我在沥青 8 中使用它 - Airborne

 

所以希望你喜欢它。


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费