重庆理工大学综合课程设计报告
3、L9110的逻辑关系表如表3所示:
表3 L9110逻辑关系 IA H L L H
IB L H L H OA H L L L OB L H L L 正转 反转 停止 停止
如图4-1-1所示,是左电机驱动电路,右电机驱动电路和这个也是一样的。ML为左电机,1、2脚是电机组绕,与驱动芯片L9110输出相连。3脚是电机光电码盘A相脉冲输出,连接到T1定时/计数器1外部计数引脚,通过脉冲计数,计算电机角位移和速度。电路图中引脚与驱动电路中的引脚编号一一对应。通过L9110驱动芯片IA、IB输入的逻辑值的组合,控制电机正转、反转、停转。
3.3软件设计
3.3.1 电脑鼠正常行走程序设计
迷宫隔墙构成的通道宽度为18厘米,通常所制作的电脑鼠的宽度为8厘米左右。在这种情况下,如果电脑鼠行进在通道中央,其边缘与迷宫隔墙间的距离在3~4厘米左右;如果偏离了,那么一边的距离会增加,另一边的距离会减少。通过安装在电脑鼠上的传感器能够快速﹑准确地测量这些距离信息,以便不断地调整电脑鼠的行进方向。
使用红外LED管测距时,发射管和接收管平行安装在电脑鼠的前方或左﹑右方。
11
重庆理工大学综合课程设计报告
当发送管发射的红外光线遇到迷宫隔墙后,红外光线发生反射并被接收管所接收。接收管收到的信号转换为电压,它和电脑鼠与迷宫隔墙之间的距离有确切的对应关系。检测该输出电压的大小就可以测定电脑鼠与迷宫隔墙之间的距离。
首先设定电脑鼠离左右墙的安全距离,由于各电脑鼠在硬件方面有一定的差异,所得到的检测数据也有一定的差异,那么安全距离的设定大家可以根据自己的电脑鼠进行相应的调整。当然左右的安全距离也可以设定为不一样的值,只要能保证电脑鼠前进的时候能走直线,而不撞到墙就可以了。如图所示:
读出左前方LED的数据之后用来跟左边安全距离比较,当偏向左边的时就要修正电脑鼠的位置了,我们可以通过减慢右边轮子的速度来调整电脑鼠的位置。
接着就读出右前方LED的数据之后用来跟右边安全距离比较,当偏向右边的时就要修正电脑鼠的位置了,我们可以通过减慢左边轮子的速度来调整电脑鼠的位置。
12
重庆理工大学综合课程设计报告
3.3.2 电脑鼠记路径程序设计 记录电脑鼠的轨迹的方法1:
(1) (2)
当电脑鼠一次也未经过该处时,设定D=-1
当电脑鼠通过该处一次以上,而且以后还有可能通过时,设定电脑鼠最后离开此处的方向为东侧时D=3,西侧时D=1, 北侧时D=0,南侧时D=2。
(3)
当方块最多只能通过一次时D=4
电脑鼠走完图8.4.3迷宫的轨迹,用D值来表示时,如下图所示:
记录电脑鼠的轨迹的方法2:
用八位寄存器来记录路径,各位对应的关系如下: BIT7 北 BIT6 西 BIT5 南 BIT4 东 BIT3 北 BIT2 西 BIT1 南 BIT0 东 0~3四位表示各方块东南西北各面是否有墙,0表示没有;1表示有。 4~7四位表示电脑鼠是从东南西北哪个方向离开的,0表示不是;1表示是。
13
重庆理工大学综合课程设计报告
3.3.3 电脑鼠找终点程序设计
如图31所示,是电脑鼠到达终点子程序流程图。电脑鼠到达终点子程序就是根据设定的终点坐标,采用一定的规则不断的去搜索迷宫,直到找到一条通往终点的路为止。如下流程图所示,电脑鼠每走一格就将当前坐标与终点坐标进行比对,如果比对相同说明找到终点子程序退出返回,不相同则继续探索迷宫,判断当前坐标格是否走过,对于没有走过的迷宫格采用向心法则选路。对于走过的迷宫格,选一个未走过的方向进行探索或返回上一个路口探索。如果所有路都走不通,使电脑鼠返回到了起点,则电脑鼠蜂鸣器提示目的坐标不可到达。
14
相关推荐: