而当机器人倒退时,只需要反过来执行整个过程就行了。
如果机器人需要右转,则机器人移动右前足向前,同时又移动右后足向前,然后在左后足不动的情况下让右前足向后运动。接下来前移左前足,然后后移右后足,同时前移其左前足。右转即完成。
同理,当机器人需要左转时,可以让机器人线移动左前足向前,并移动左后足向前,然后在右后足保持不动的状态下让左前足向后运动。接下来,机器人继续移动右前足向前,然后移动左后足向后的同时后移其右前腿。左转即完成。
第六步:代码
代码分为两个部分:The_Social_Quadruped.ino和Quad_Functions.ino。
第一个包含了Servo.h库(Arduino IDE自带)和NewPing.h(点击这里下载)。我首先定义了触发引脚、相应引脚以及超声波传感器的最大距离;之后我又定义了一个布尔变量,可以用来切换机器人的自动模式。之后又定义了舵机。在设置函数中,我初始化了串口检测器,让我可以将命令发送到Arduino上。在循环函数中,我设置超声波传感器发送最近物体的距离给串口检测器,然后检查用户输入。如果用户输入字符为 f, b, r, l, w, s, u 或a,那么则将分别执行前进、后退、右转、左转、挥手、睡眠、站立或自动工作这几个不同的功能。这些功能函数是在Quad_Functions.ino中定义的,可以轻松地调用。另外,需要提及的是当用户按了a之后,机器人将进入自动模式;要取消自动模式则需要用户再点击一次a。
第二部分Quad_Functions.ino则包含了所有功能的函数定义。其中包括机器人的各种运动模式。前进、后退、右转、左转等函数都很好理解,挥手功能包含wave2 和wave两个函数,可以让机器人分别使用左前足和右前足挥手。waveAuto函数是机器人在自动模式下挥手,使用的是右前足。睡眠模式是指机器人将舵机的位置运动到让机器人平躺到地面的模式。readPing函数则用来读取超声波传感器传递的数据。
第七步:无线控制
首先当然要确保蓝牙模块是按以上描述正确安装的。
接下来,启动你电脑上的蓝牙并将其和Arduino上的蓝牙连接配对。配对完成之后,进入控制面板,在设备中找到HC-06。右键点击并选择“属性”,选择“服务”选项,将该接口的串口通信勾线上。
然后进入Arduino IDE,选择路径Tools -> Port,将上面“服务”选项中的接口设置上去。然后就大功告成了!
打开串口监视器,你可以查看超声波传感器的读数,并且可以将机器人通过USB连接到电脑上进行控制。
<上一页 1 2 3 4