70789| 26
|
[项目] 掌控板+4电机8舵机扩展板+PS2手柄,制作多功能小车的好搭档! |
材料:PS2手柄、掌控板、4电机8舵机扩展板(本次用上4电机3舵机)、自拼装3自由度机械臂(3个996舵机)、小车(4驱动电机)。 一、前言: 虽说是小车项目,但车子造型是比较普通的,大家不必在意,因为今天的主角不是整台小车,而是以下两个: 1、PS2 PS2比较难控制?写代码比较麻烦?让大家高兴的消息:Mind+从1.6.2开始,支持PS2图形化编程了! 2、4电机8舵机驱动扩展板 感觉这扩展板很熟悉,在哪见过呢?对,是DFROBOT的microbit扩展板,但这个扩展板用在掌控板上驱动不了电机与舵机部分呀?不不不!喜大普奔的消息:在Mind+里,这扩展板已经支持掌控板了。 事情的发展是这样一个故事:笔者去年使用microbit时买了6块这种扩展板,由于驱动能力强,很是喜欢!自从转用掌控板后,这几块心爱的扩展板就闲置了(虽说也能接掌控板,但电机驱动与舵机驱动不行,这就比不上其他掌控板了,所以放一边了)。直到大前天晚上再次看见箱底的它们,觉得又是喜欢、又是可惜。于是就找到了群里DFROBOT的木子小姐姐,希望帮忙反馈为这掌控板写库。木子小姐姐立即@了陈工,陈工第二天就完成了库文件的编写,Mind+中使用掌控板终于支持这款扩展板!DFROBOT果然是高效的企业!敬佩!感谢木子、陈工与协助测试验证的弓长金成老师!库的引入方式在下文“三、编程简介”中介绍,相信下个版本的Mind+会直接放置库文件,不再需要手工引入。 二、实现效果视频 旨在展示PS2的控制反应速度和扩展板的驱动能力(6块5号电池,4电机、3舵机同时工作)。 三、编程简介 1、扩展板库文件的引入与介绍: (1)打开Mind+1.6.2,点击左下方的“扩展”,选择“主控板”标签中的“掌控板”,并选择“用户库”标签,如下: 在网址栏输入:https://gitee.com/chenqi1233/ext-esp_Motor.git,点击后面的查找按钮,出现以下画面: 点击该扩展板,将会完成加载该扩展板。 (2)功能介绍: 回到编程界面,将在“用户库”里看到该扩展板的编程模块: 对该扩展板的支持,有4个图形块 a、设置S1-S8,8个舵机的角度; b、设置M1-M4,4个电机的正反转与速度; c、关闭M1-M4电机 d、设置两个步进电机正反转动角度或圈数。 对于模块使用,大家按需选择就是,难度不大,在下个步骤测试两个。 2、PS2接收器接线、图形块的引入与测试 (1)PS2接收器与扩展板的接线: GND、VCC分别接入扩展板P0-P16的任何引脚的GND、VCC。注意:由于PS2接收器是3.3V或5.0V供电,千万不能接入S1-S8的GND与VCC引脚,这里的电压是输入电压,驱动大电机、舵机时,很多情况下是超过5V的,会烧坏接收器。 其他接口的连接其实并无规定,但要与编程一致。我的程序与接线如上图:DAT接P0,CMD接P1,CS接P13,CLK接P14 。 (2)PS2图形块的引入 打开Mind+1.6.2,点击左下方的“扩展”,选择“主控板”标签中的“掌控板”,并选择“通讯模块”标签,如下: 引入后,编程图形块如下: a、初始化PS2语句块,这里应该与上一点的接线对应。 b、PS2手柄震动与强度控制 c、刷新读取手柄状态 d、读取按键状态:能读取任意一个按键的“按住”、“按下”、“松开”和“改变”情况。 e、读取摇杆状态:读取左右摇杆的X、Y模拟值,0-255 3、PS2联合扩展板的测试 做一个简单的测试:当PS2的“方向键上”按钮“按住”时,小车前进,否则小车停止。 程序如下:(已测试通过) 请注意:程序循环体内必须加入“PS2刷新一次状态”图形块,否则按钮值将一直不改变。刚开始测试时,笔者就掉入这坑,希望其他朋友们都能避开! 四、做自己的小车 做小车的方式很多,造型很多,教程也很多,我们这就不详细叙述,也不希望打扰各位的创意。 只要实现了遥控通讯 只要有较多的接口 只要由方便的编程平台 只要您有创作热情 您一定能做好一辆属于自己的、更多功能的小车!来,动起来吧! |
6666666666666666666666666666666666666666666666666666666666666666 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed