您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
DIY 正文
发私信给吴攀
发送

12

DIY平衡台游戏:小球请不要滚下去

本文作者:吴攀 2015-12-10 16:46
导语:要努力保证小球不滚下去并不是一件容易的事。

DIY平衡台游戏:小球请不要滚下去

编者注:本项目来自Instructables,项目原作者为Ramy Mounir。

本项目是为满足南佛罗里达大学的Make课程的项目要求而设计的。我的名字叫Ramy Mounir,是南佛罗里达大学的Make课程的一名学生创客。在本项目中,我使用一块Arduino作为微控制器打造了一个能用舵机控制的游戏平台。该平台有三种操作模式,支持0~2位玩家。

  • 0位玩家模式:不管盒子是怎么放置的,平台都始终处于水平状态。

  • 1位玩家模式:玩家使用控制杆操作,确保小球位于平台之上。

  • 2位玩家模式:和1位玩家模式类似,但2位玩家时可能通过灯光对平台进行控制。

第一步:组件

DIY平衡台游戏:小球请不要滚下去

  • Arduino Uno

  • 面包板

  • 控制杆模组

  • 2个舵机

  • 2个光电池

  • 3轴加速度计/陀螺仪(MPU 6050)

  • 2个330Ω电阻

  • 9V电池组(带开关)

  • 线材等

第二步:3D打印组件

DIY平衡台游戏:小球请不要滚下去

我使用的是Solidworks设计我的3D打印组件,采用的材料是常见的PLA塑料。至于舵机等装置,即可以选择使用螺钉的形式固定,也可以使用强力胶进行固定。

点击下载我的3D打印文件

第三步:控制系统

控制系统的结构示意图如下:

DIY平衡台游戏:小球请不要滚下去

其中Arduino从红色框所表示的传感器和控制器上获得信号,然后输出PWM信号到执行器(绿框表示的舵机),然后由舵机控制平台的方向。

光控制时,控制系统的设计也大致类似。

第四步:连线

系统的线路连接如下所示:

DIY平衡台游戏:小球请不要滚下去

  • 两颗光电池和330Ω电阻一起连接分压电路中,信号输入Arduino的A0和A1。

  • 加速度计连接到A4和A5(SDA和SCL)。

  • 控制杆连接到A2和A3。

  • 两个舵机分别连接到PWM数字引脚3和5。

第五步:Arduino程序

Arduino程序分成了两个部分:主要部分和功能部分。

主要部分基本上是一个循环函数中的开关。其可以调用模式检查函数,然后根据得到的返回值定向到特定的功能部分函数。(程序点击这里下载。)

功能部分包含5个主要函数:

  • setplane():在设置函数中,该函数用来设置平台的水平

  • checkbuttons():该函数用来检查系统现在所处的模式。如果控制杆不在其正常位置上,该函数会返回特定的数值。类似地,如果其探测到一个比特定值大一点的数值,它又会返回另一个值。如果没有探测到任何东西,那么就返回默认值。

  • followlight():通过控制系统对实际光值和期望光值的偏差的计算来保持光电池和光源之间的特定距离。

  • balance():和上面的followlight()函数的目的相同,只不过其数值来源于加速度计输出的值。

  • followjoystick():将控制杆输入的信号映射到输出到舵机的PWM信号上。

第六步:完成

到这里项目就完成了,可以开始玩耍了!

DIY平衡台游戏:小球请不要滚下去

雷锋网原创文章,未经授权禁止转载。详情见转载须知

分享:
相关文章

文章点评:

表情

编辑

人类尚处于科技文明的黎明时代,如果你已经无法理解现在所发生的一切,请不要惊慌。
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说