智能wifi小车程序原理说明

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hello_world12138/article/details/50594680

总体思想:

1.      使用ESP8266与手机客户端连接通信,使用串口通信,利用AT指令像ESP发送命令,同时配置需要的内容,配置完成以后用手机连接wifi。

2.      连接wifi以后,利用ESP自身的接受消息回显,让单片机捕捉回显中关键内容作为命令,来实施相应操作。要求:使用4800bps的比特率,捕捉命令和进行操作均在串口中断中做,并且不能做耗时操作,解决方法是使用即时性较高的指令,例如TR0 = 1

3.      接收到命令可以准确解析以后,就可以驱动电机,L293D驱动模块使用方法很简单,一个电机的两端置为一高一低就能全速转动,再配以相应的PWM波,就可以调节速度。

4.      注意,一开始不能把定时器0打开,从而产生定时器中断,这样会影响ESP的初始化,所以只有在ESP初始化结束以后才能打开定时器,来产生PWM波,驱动电机

5.      在while中循环检测是否发来过停止运动的命令,并且也和按钮抬起发来的停止运动命令相同,停止定时器和两个轮子。但是还是有时候会出现混乱电平,导致小车失控。

6.      避障的实现是,采用外部中断实现的,一旦在while中检测到了避障模块的引脚置低,那么就触发外部中断0,做相应的动作。我使用的是左边有障碍,那么就左轮反转,右轮停止,实现旋转后退避障。中间的是两轮同时后退。右边避障同左边。

7.      关于命令:前进和后退命令发出以后,不再重复发送,但是抬起时,会发出停止命令,使得小车停止运动。

8.      其他细节见程序注释。

猜你喜欢

转载自blog.csdn.net/hello_world12138/article/details/50594680