SONY PS2电玩手柄遥控乐高小车
0赞
国内的机器人爱好者苦于条件所限,不可能像专门公司或者国外发烧友那样,有先进的数控加工设备,可以针对特定的机器人项目,制作相应尺寸和形状的机械结构件。当然淘宝里也有些制作机器人的结构件,缺乏齿轮、链轮等传动件,而且重组性不强,大都只能搭建几个选定的机器人作品,想用淘宝上那些结构件创意出自己设计的机器人项目,是不可能的。所以由于机械结构件的局限,网路上的Arduino创意作品主要停留在纯电子趣味实验阶段,很少做到机电结合。
那么有没有种类丰富、高效方便的机械结构件产品可以为Arduino电控系统搭建机器人机械平台,我认为国际上流行的乐高创意积木是一个很好的选择。原因有四:1、乐高原装塑料积木的形状,尺寸,种类很多,对搭建和制作机器人具备很好的灵活性和适应性。2、通过插接方法拼装机器人,无需再加工,然后通过螺钉、螺帽把其他非乐高的电控板子与其固连,这样组装机器人方便高效。同时由于乐高积木本身结构理念先进,因而搭建出来的作品美观紧凑,而且有一定的结构强度和韧性。3、网络上有大量的乐高NXT机器人作品的图纸和程序可以分享到你的机器人作品中。4、乐高产品很容易可以在淘宝购买得到。
我这篇文章带来的作品就是Arduino与乐高结合的产物,当然Arduino与乐高按照各种路径充分结合,还需假以时日,不断研讨和实践。
SONY PS2电玩手柄遥控乐高小车 视频:
SONY PS2电玩手柄遥控乐高小车用到的很多知识点,以前的博客已经介绍了,这个作品新的知识点主要是:1、SONY PS2手柄操控信息如何提取到Arduino里;2、一次发送多个字节的无线通信如何实现;3、舵机与乐高结构件的新连接方法介绍。
无线手柄可以直接接arduino使用,有线手柄因为arduino的3.3V供电不足,需要单独供电,因此这个实验用采用SONY PS2无线手柄。
按照下面接线示意图,从PS2手柄接收器的9个引脚中找出6个引脚 用六根杜邦线 与Xbee传感器扩展板V5的10、11、12、13数字端子与3.3V、GND连接起来,就可以实现Arduino控制器与PS手柄的硬件联系。对于实现Arduino控制器与PS手柄的硬件联系,Xbee传感器扩展板非常好用,因为它具有3.3V的端子,而且所有端子都是插针,方便用现成的杜邦线连接。
SONY PS2电玩手柄淘宝地址: http://item.taobao.com/item.htm?id=8705620095
DFRobot Arduino Xbee传感器扩展板V5 淘宝地址:http://item.taobao.com/item.htm?spm=1101*r1F.3-1mJ7Y.v-4uDoDg&id=6804680647。
PS2无线手柄信号的采集和库文件的获取,我也不是无师自通的,而是依靠了互联网的共享资源、准确地说,是从国内最具影响的Arduino论坛学习到了这个知识,并应用到了我的这个作品中来的。这个论坛名称是极客工坊,论坛中“arduino学习笔记24 - PS2无线手柄实验”一文的网址为http://www.geek-workshop.com/forum.php?mod=viewthread&tid=172。文章中有详细的PS2手柄各部件数据采集的测试程序,我从中找到了左右摇杆和绿色“三角”、蓝色“X”按键的相关程序段,用到了乐高遥控车作品的编程中。
这个作品的遥控程序,每0.1s发送和接受一次3个字节的遥控数据,相关程序段,我用紫色字体标注在遥控器程序和乐高被控车程序中。在做实验时,一定要记住,先接通乐高被控车电源,再接通遥控器电源,否则两者的Arduino控制器无线RS232通信的多字节传送顺序会被打乱,致使通信失败。
乐高被控车的前后左右行走靠两个360度连续旋转舵机带动的轮子驱动,360度连续旋转舵机的使用见博客文章《Arduino控制下的LEGO光感应晾衣架》,http://blog.chinaaet.com/detail/25360.html。另外基于APC220无线数传模块的两个Arduino控制器的通信方法,见博客文章《双Arduino控制器之间的无线通讯实验 》,http://blog.chinaaet.com/detail/25849.html。
确实Arduino刚入门的新生,立即看程序,可能有些困难,所以希望多看看我以前的文章和网络上其它入门资源。下面我给出这个作品的程序,并注释了详细的说明。
遥控器程序:
乐高被控车程序:
乐高遥控车搭建照片,请下载:20162199604.zip
下载后,解压打开来看,是否可以跟着也搭建一个这样的乐高遥控车玩玩。
网络上,已经有网友,按照我的思路,搭建了再创新的Arduino与乐高结合遥控车,是通过家用红外遥控器遥控的,我是用APC220无线数传遥控。并且他是用一个180度舵机控制转向,而另一个360度舵机给小车提供驱动力,而我是用并行的两个舵机驱动轮子来控制小车转速和转向的。这说明博客写作应该比纸质期刊论文发表,传播更快、更广,受益人群更多。
网友simatic_net原话:“老张早已发过Arduino与LEGO结合的作品。我也来凑凑热闹。由于我业余时间有限,这个小车只能算是个半成品吧。后轮驱动,带差速器,可前进可后退,可调速。前轮转向可任意控制转向角度,自动回正自然不在话下。”
原文网址:http://bbs.cmnxt.com/forum.php?mod=viewthread&tid=7530&page=1#pid73276。
网友simatic_net的乐高遥控车靓照: