Arduino开发—机械臂篇-2摇杆控制机
本节内容:
+机械臂电路连接
+实现简单控制
在上节内容将机械臂结构件组装完成之后,这节我们继续下一步操作了,将机械臂与开发板电路连接,并实现简单的控制,下面就来看看本节具体内容吧。
•••所需材料•••
01 |
上节内容所组装完成的机械臂,uno开发板,面包板以及面包板电源模块,ps2摇杆,面包线和杜邦线。 |
•••电路连接•••
02 |
机械臂需要4个舵机分别控制夹子、小臂、大臂、底盘,而舵机则需要两个ps2摇杆控制,有关舵机与摇杆的使用在基础知识中会有介绍,这里就不多说了。下面看看详细接法吧。 舵机信号线分别连接开发板的3、5、6、9这4个数字接口,摇杆分别连接模拟口A0~A3。 |
舵机连接原理图
面包板连接图
实物图
•••写入程序•••
03 |
以下部分给出了控制机械臂的基本代码,内容虽然简单,也写了相应的注释,但我们还是简单介绍一些各部分代码,方便理解。 |
首先,定义头文件并设定摇杆输入引脚以及声明变量,在这里我们直接调用servo库函数,虽然我们可以自己编写程序来控制舵机,但是那样对于初学者来说难度就提升了很多,而arduino有各种丰富的库函数,我们可以直接使用它,这样就大大降低了我们的开发难度。
setup函数比较简单,只有设定4舵机接口。
loop函数中,从模拟口读取摇杆的值,然后根据所得值执行相应的自定义舵机函数。这里特别说明一下底座部分,我在这用到了map函数,读取的模拟值是0~1023,而一般舵机的角度是0~180度,所以用map函数将模拟值映射为舵机角度,这样底座用的360度舵机就不会一直转圈,而是跟着摇杆的值变化而转动(我当时也和其他舵机一样写了自定义函数,然后它就开始爱地魔力转圈圈)
其余舵机用了自定义函数,在loop函数中只需调用就可以了。这部分用了switch循环,判断读取的模拟值,当值为0时,输出舵机角度,每次+1度,延时5毫秒,当值为1023时,每次-1度,延时5毫秒,当值不是这两种情况时,输出当前舵机角度,也就是舵机保持当前状态,停止不动。
以上就是摇杆控制机械臂的全部内容了,基本功能已经实现,可以正常操作,但还有很多问题,需要继续优化,才能稳定的实现操作。现在机械臂还处于抽搐阶段,下面来看看它的鬼畜视频吧
、
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com