3.小车前后左右运动

您当前位置: 首页 > Omniduino智能小车 > 5.全向小车基础课程

3.小车前后左右运动.zip  点击下载

学习目标:在上一课的基础上,增加小车前后左右等多方位运动的函数。

实验现象:开机后按功能按键,启动程序,omniduino全向小车先向右平移1秒,再向下运动1秒,接着向左平移1秒,最后向上运动1秒后停止0.5秒,小车的运动轨迹类似于一个矩形。接着左旋2秒,停0.5秒,再右旋2秒,最后停止。

 

一、课前小知识

上一节课我们已经知道了如何驱动omniduino全向小车前进和停止,同样的我们需要分析一下其他运动情况小车的受力情况。

1.(向后退)从图片可以总结得出:当四个电机都反转时,小车后退。

image.png

2.(左平移)从图片可以总结得出:当A轮反转,B轮正转时,小车向左平移。

3.(右平移)从图片可以总结得出:当A轮正转,B轮反转时,小车向右平移。

 

image.png  image.png

4.(左旋)从图片可以总结得出:当左边两个轮子反转,右边两个轮子正转时,小车原地左旋。

5.(右旋)从图片可以总结得出:当左边两个轮子正转,右边两个轮子反转时,小车原地右旋。

image.png  image.png

 

二、工程另存

1.在原来CarRun的工程点击File-> Save As

image.png

2.重命名为CarRun01

 

三、添加代码

1. 新建back函数,当四个电机都反转时,小车后退。

image.png

2.新建left函数,当A轮反转,B轮正转时,小车向左平移。

3.新建right函数,当A轮正转,B轮反转时,小车向右平移。

image.pngimage.png

4.新建spin_left函数,当左边轮反转,右边轮正转时,小车原地左旋。

5.新建spin_right函数,当左边轮正转,右边轮反转时,小车原地右旋。

image.pngimage.png

6.新建carRun01函数,主要是实现小车运动的功能,小车先向右平移1秒,再向下运行1秒,再向左平移1秒,再向上运行1秒,然后停0.5秒后开始左旋2秒,再右旋2秒,最后停止。

image.png

7.在loop()主循环函数检测按键,当按键被按下时,先延迟0.5秒后才开始运动。最后小车停止并且重置button_press = 0。当小车运动完停止后,再次按下功能按键,小车重新启动运动程序。

image.png

四、编译上传运行

1.代码编写完成后,按Ctrl+S保存,然后再点击编译按钮,没有出现问题就点击上传(omniduino全向小车要先和电脑通过USB数据线连接)。

2.如果编译正常通过,但是上传时出现类似以下错误,原因可能是选错串口或者串口被占用。

image.png

解决方法:打开设备管理器看看有没有CH340标记的串口,如果没有请先重启一下omniduino全向小车,再重新插拔USB线或者更换一根USB数据线;如果有串口号则先关闭其他串口助手软件,避免串口占用,然后到arduinoIDE的Tools->Port重新选择串口。

3.如果出现类似以下这种错误,说明是缺少库文件,请把omniduino全向小车提供的库文件复制到arduinoIDE编译的库文件目录下。

具体方法请查看开发环境搭建中的添加第三方库教程。

image.png