首先向大家表示歉意,由于有事所以本文拖到了今天才写;另外,上一篇文章中由于我的疏忽有个地方写错了,现予以更正并表示歉意:改变脉冲频率可以改变步进电机的速度,如果是直流电机则可以改变占空比或脉冲频率,这点大家要区分开,不然很容易绕进去而出不来。
好了,接下来开始我们的正题。
前两篇文章我们分别介绍了舵机+超声波模块和电机的驱动,本文就来将他们两个合在一起,实现自动避障。
由于有前面的基础,这里我们先直接贴出代码,下面是完整代码并标有注释,结合注释还是很好理解的。
一些模块对应的IO口粗略打了个草稿,大家可以看下,更好理解,就是字丑了点,哈哈
我的A0/B0/B5脚坏了,所以打了叉。
首先是main函数:
然后是舵机:
舵机1
舵机2
舵机3
舵机4
还有是定时器:
定时器1
定时器2
最后是超声波部分:
超声波1
超声波2
好了,代码就是这些。如果想让小车有后退功能的话,就将电机驱动模块的DIR连接到STM32的IO口,前进时设置为高电平,后退时设置为低电平。位置呢就加在舵机代码部分我注释有“后退”的地方,这样的话小车就会更灵活啦!
大家还可以加上其他很多模块,让我们的小车变成全能车,哈哈!!
好了,避障小车到这里就结束了。欢迎大家评论留言转发,我们互相交流互相学习!
下次如果有新玩法时候,还会在这里跟大家分享哦!