(三)舵机模块
舵机模块在本系统中用于控制智能车的运行方向。所以需要专门的电路来驱动舵机。
(四)液晶模块
本系统对于人机交互方面的显示模块采用的是12864液晶。该液晶不仅可以显示英
文、数字字符,还可以显示汉字等。实验中,采用12864液晶来显示当前小车的运行速度,和设定的速度等参数。
(五)线性CCD模块
本系统中,线性CCD用于采集道路的信息,并且将道路的信息传送至K60单片机,
由单片机进行道路信息的读取和处理,并根据处理后的结果,来对电机和舵机进行控制,从而形成一个闭环的控制系统。
上位机软件构成
● CCDView 软件由 CCDView.exe、 ComDataHook.dll 组成,请用户使用前确认文件的组成正确。
● CCDView 主要用于显示用户 CCD 传感器采集的数据,并以图像的方式显示。 ★条形码:CCD 采集的数据,以灰度的方式表示,每个竖条代表一个数据。 ★曲线图:横坐标为 CCD 数据的偏移,纵坐标为灰度值(0~255)
下图为TSL1401线性传感器引脚及连接说明:
下图为线性CCD对的滤波电路:
二、 软件模块
(一)系统总体流程图
此部分是小车运行的核心部分,起着小车所有运行状态的作用,具有导向和决策的功能,程序流程如下图所示。
系统的总体流程是:在程序的一开始,先进行一些系统的初始化工作,有定时器的初始化、舵机的初始化、电机的初始化、线性CCD的初始化、液晶的初始化等等。
接着进入大循环中,一直等待20ms的标志为的到来,如果20ms的标志到来的时候,就对道路的信息进行检测,并且根据道路的信息找寻中点的位置,最后根据中点的位置,来对舵机的打角进行控制。也就是说,每20ms进行一次道路的检测,并对整个系统进行一些控制措施。