在深色地板上贴白色的引导线,可以用纸铺在地板上,利用朝下的红外反射传感器来检测判断车身和引导线的相对位置来修正行驶方向。设计的硬件有:一个核心模块、一个传感器接口模块、一个电机驱动模块、一个电池底座、两个电机和两个轮胎、两个红外反射传感器、一个万向轮。电机模块用于连接两个电机,轮胎穿在电机的杆上,两个红外反射传感器分别放置在小车的两侧边缘用于检测有无行驶出界。然后编写程序,实现蓝牙模块和手机蓝牙通信。将手机上mDock中语音识别到的消息以信号形式发送到蓝牙模块中,控制电机的速度0-255以实现前进或者左转右转。
红外反射传感器自带一个光源和一个光接收装置,光源发出的光经过待测物体的反射被光敏元件接收,再经过相关电路的处理得到所需要的信息。可以用来检测地面明暗和颜色的变化,也可以探测有无接近的物体。连接在传感器连接板上可以接在A2、A0管脚。
电机模块可以驱动直流电机通过连续旋转来给应用提供动力,通过程序可以控制电机的转速和时间,电机模块可以同时驱动两个电机,电机模块直接吸附在核心模块上即可,然后用线将电机分别和模块的1A1B、2A2B相连,并且需要确定电机的正反以便代码的编写。
蓝牙模块可以与其他蓝牙设别进行连接通讯,比如手机、ipad借助相关的APP可以和蓝牙模块通信。在连接时,可以直接将蓝牙模块吸附在带核心模块的电池盒上,或者是用线连接,接在0或者4管脚,但0管脚波特率是57600,4管脚波特率是9600,使用时需要注意。
图1 连接图
设定两个整形变量,一个speed用来设定电机为一个较小的速度40,一个black用来设定红外反射传感器的明暗值700。为了让功能一直能够运作,那么需要把功能实现的代码放在重复执行代码中,在重复执行代码中,首先要设定蓝牙模块的接口4/5和波特率9600,并把明暗值也放在蓝牙模块中传以便传送到手机端;其次判断接收到的数据蓝牙接收到的数据名对应是什么,
然后再对应的功能下设定左右电机的速度,需要注意的是左右电机是一正一反放置的,所以速度也是一正一反,紧接蓝牙再将数据发送到手机端。
在进行编程时需要考虑到电机在小车下边是一正一反,所以程序中进行速度设置时,不可能两个速度的值都为正,而是一正一反,这样两个轮胎的方向才是相同的。
要让小车向右行驶那么可以让右边的电机转速更慢,左边的更快,达到转向的目的;当然,如果想向左转,那么需要将左边电机的速度设置小一点,右边的大一点,这样就可以实现向左转。不过同时也需要考虑电机的正反,不能简单地考虑成正的速度。
立即注册