2.3 传感器单元
整个机器人共采用了9个传感器,分布在整个机器人的不同部位,相互配合起不同的作用,见图4。
图4中各传感器说明如下:
传感器1置于机器人正前方朝下的金属探测传感器,用于探测金属。
传感器2置于机器人正前方朝前的超声波传感器,用于检测障碍物。超声波来源于555产生40 kHz的方波信号,经超声波发射头发出。发射头不断发出信号,当遇到障碍物时,信号会被反射回来,从而接收头会接受到信号,将信号送入单片机进行相应的判断和处理。
传感器3置于机器人正前方朝下的红外光电传感器,用于检测停止线。红外发射管发出信号,经不同的反射介质反射,根据红外接收管是否接收到信号做出相应的判断。
传感器4、5置于机器人底座下方朝下的红外光电传感器,用于检测地面的引导线,原理同传感器3。
传感器6、7置于机器人正前方朝前的光敏电阻传感器,用于寻找光源。当机器人前方有光源照射时,光敏电阻的大小将会改变,将2个传感器的改变量进行比较处理后送入单片机,单片机将会产生相应的调整信号,使机器人朝光强的方向行走。
传感器8置于机器人后方两侧朝外的超声波传感器,用于在机器人遇到障碍物时的转弯处理,判断机器人是否完全绕开障碍物,原理同传感器2。
传感器9置于机器人正后方的光电码盘,用于计里程,借助于鼠标原理,选用直径为2.6 cm的塑料小轮自制光电码盘,经过打磨使其周长为8 cm,再在该小轮上打等距离的8个孔,如图5所示。最小测距精度可达到1 cm,足以满足要求,两侧装上光电传感器,将其安装在车尾,使之与车的行驶同步。就实际情况自制出来的各个孔之间的距离无法精确相等,但经过具体测量该光电码盘,能保证行驶50 cm产生50个脉冲,于是采用其作为计算距离的基准单位。在直道区,可由该电路产生的脉冲数,计算出铁片中心线至起跑线间的距离。
此外,为了清楚直观地观察到各传感器的工作状态,电路中还专门为每个传感器设计了工作指示灯,实时显示每个传感器的工作状态。
2.4 键盘输入单元
键盘输入单元采用独立式键盘,由2个按键组成,其中一个为启动键,另一个为显示切换键,当机器人行走完全程后,按下该键,将显示整个行走过程的时间。
2.5 显示单元
显示单元由2个7段数码管组成,为了减少整个系统的功耗,采用了由单片机软件译码,动态显示,实时显示每个断点到起点的距离以及整个运行过程的时间。
2.6 声光报警单元
用555作为振荡源,用单片机触发振荡源驱动电磁讯响器作为声音指示器和1只发光二极管作为光指示装置,从而组成声光报警单元。
2.7 电源单元
本系统采用2套电源分别对电机和控制电路进行单独供电。系统控制电路采用经7805稳压后的输出供电(5V),电机则采用4节AA电池来供电。
3 系统的软件设计
该系统配套的软件程序采用模块结构,由C语言编写完成。主要由初始化程序、偏道调整程序、偏离光源调整程序、声光指示子程序、读传感器状态、显示程序、定时器0的中断服务程序、定时器1的中断服务程序、外部中断0的服务程序、停车处理等模块组成。系统的主体流程如图6所示。
4 结束语
该机器人在认为设定的跑道上经过多次实验,达到了预期的效果,但是其智能化程度还远远不够。随着人工智能和神经网络技术的不断研究和深入,智能机器人的发展前景将会越来越广阔。