智能小车是stm32中非常经典的项目,了解完32的库函数之后即可自己开发。
1.设计预计效果:
(1):寻迹
寻迹功能一般使用的是红外寻迹模块,可以使用普通的红外对管即可,根据你购买的红外寻迹模块,商家都会给你使用说明或者手册,可以阅读手册知道,该模块接受到红外发射器发出的红外时,输出端是高还是低电平。我们在代码中就是运用这一功能去实现寻迹功能。
红外寻迹的工作原理:当模块上电后,模块中的红外发射器会向外发射红外线,红外线遇到物体会发生折射,当模块的红外接收器接收到折射回来的红外线后,会给输出端一个高/低电平。红外线会被黑色物质吸收,所以一般都使用黑色电胶带来当做轨道。
(2):避障
避障功能使用超声波测距模块来实现,同样,利用模块输出端的高低电平来实现测距避障。超声波测距模块也是有一个发射器和接收器的。模块上电后,超声波测距模块会一直发送超声波,超声波遇到物体后会反射回来,当接收器接收到反射回来的超声波时,输出端为1(高电平),只需要记录下高电平时间,即可知道此时超声波测距模块与前方障碍物之间的短距离,计算距离的公式为:。测得距离之后,我们就可以做出避障操作了,当然,如果仅仅只有超声波测距模块,我们的避障功能就很固定,即,只能在代码中写死,当检测到障碍物时,做左转或右转操作,如果想更加智能的转弯,可以让测距模块与舵机相配合。舵机:是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的闭环控制执行模块。让舵机带动超声波测距模块转动,来实现更智能的避障,即当检测到前方存在障碍物时,启动舵机,左右旋转90°,分别测得左右两边距离,进行转弯操作,是不是更加精准避障了呢。当然要注意,小车上的测距是有一定误差的,因为小车是在运动的,所以测距时,可以多取几次,计算均值即可。
(3):远程控制
远程控制现在比较普遍的是使用蓝牙模块或wifi模块控制。在后面使用到再具体介绍。
2.设计过程
1.先让小车动起来
是吧,第一步,先让它动起来,我们可以使用直流电机带动轮子(其实现在小车已经很成熟了,在某bao可以直接买到小车的车体配件),我们这里要说的是控制小车的驱动模块,L298N,