使用串口连接蓝牙,配置好就可以跟手机通信,直接发命令给单片机,解析后即可根据命令执行对应的动作。用定时器产生2路pwm波通过引脚硬件输出,接到电机驱动模块(l98n)的两个en脚,再通过各2个引脚来控制驱动模块,来决定两个电机的正反转、或是刹车。接着根据数据手册和实物调试,编写好小车前进、后退、左右转的动作函数。前后走就是电机都往同一个方向转,左右转弯是利用左右两侧电机的差速实现的,或是两侧电机方向相反转即可。那蓝牙指令控制什么呢?首先是整个小车的状态:前进、后退、左转、右转刹车。用手机的SPP软件可以配置按键,按下运动,抬起就刹车,用起来就很好。我也增加了左右轮的pwm占空比控制,可以通过指令增加减小对应的速度,也加了范围限制,防止数值超范围的异常。就这样调试好久能玩耍啦~
其实用1个pwm也可以,这里用2个是因为pwm相同,但实物误差下,小车不是走直线,需要软件校正。