智能寻迹避障小车寻迹系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章智能寻迹避障小车寻迹系统设计1.任务

任务一:产生智能寻迹避障小车沿黑线转圈的控制程序;

任务二:产生智能寻迹避障小车带状态显示沿黑线转圈的控制程序;

2.要求

(1)能控制智能寻迹避障小车沿黑线实现转圈功能;

(2)行走过程中小车一直压着黑线走,不得冲出黑线圆圈之外或之内;

程如下:两对红外线收、发对管安装在智能寻迹避障小车底盘正前方,红外发射管一直发射信号,接收管时刻准备接收信号。两对对着地的红外管发射红外信号,信号在白色的地面上反射回接收管,通过接收管把信号送回单片机进行处理,完成相应的动作。假如在黑色的地面上,信号被地面吸收,就无信号返回,单片机检测到无信号,根据程序也会做出相应的动作。如图2.1所示为红外线收、发对管外型示意图。

图2.1 红外收、发对管外形图

2.3 案例设计

2.3.1 系统设计方案

本项目采用单片机最小系统+红外寻线传感器来实现小车寻线功能。系统设计框图如图

2.2所示。

图2.2 系统设计框图

2.3.2 硬件电路设计

智能寻迹避障小车寻线电路原理图如图2.3所示:它是在单片机最小系统的基础上直接由单片机的P3连接红外线收、发对个构成的,其中单片机的P3.5端口控制左边寻线电路模块,右边寻线电路模块由P3.6控制。为了保准巡线信号的准确度,一般要求左、右红外发射对管安装时离地面高度控制在0.5cm内比较理想,距离太大,可能造成信号不灵敏,巡线不够准确,距离太小,也可能造成小车前进会与地面产生刮擦,从而损坏器件;另外,左、右收、发对管安装的距离应保持在比黑线条的宽度多一点,做到夹在黑线条,并处于黑线条的边缘,不能压在黑线上。这样巡线才能准确。

图2.3 智能寻迹避障小车寻线电路原理图

void qian()

{

zuo1=0;

zuo2=1; //左边往前

you1=0;

you2=1; //右边往前

}

void hou()

{

zuo1=1;

zuo2=0; //左边往后

you1=1;

you2=0; //右边往后

}

void zuo()

{

zuo1=1;

zuo2=0; //左边往后

you1=0;

you2=1; //右边往前

}

D1=1;

break; //跳出循环

}

}

}

if(youd==1&zuod==0)

{

while(1)

{

you();

D2=0;

if(youd==0)

{

D2=1;

break; //道理同上

}

}

}

}

}

2、程序运行及调试

图2.4 智能寻迹避障小车寻黑线转圈流程图

任务二:产生智能寻迹避障小车带状态显示沿黑线转圈的控制程序;

1、源程序

#include

#define uint unsigned int

#define uchar unsigned char

#define out P2

sbit zuo1=P0^1;

sbit zuo2=P0^0;

sbit you1=P0^3;

sbit you2=P0^2;

sbit zuod=P3^5;

sbit youd=P3^6;

zuo2=0; //左边往后

you1=1;

you2=0; //右边往后}

void zuo()

{

zuo1=1;

zuo2=0; //左边往后

you1=0;

you2=1; //右边往前

}

void you()

{

zuo1=0;

zuo2=1; //左边往前

you1=1;

you2=0; //右边往后

}

void main()

{

while(1)

{

you();

out=ZM[4];

D2=0;

if(youd==0)

{

D2=1;

break; //道理同上

}

}

}

}

}

2、程序运行及调试

程序的运行与调试与任务一相同,当程序下载到小车控制电路单片机中,开机运行,小车除完成任务一的动作外,还会在小车行进过程中在数码管上显示小车的状态,比如,小车前进,则在数码管上显示“1”;小车左转弯则在数码管上显示“3”;小车右转弯则在数码管上显示“4”。

3、程序设计思路

程序设计思路与任务一基本相同,只是在小车直行、左转、右转函数后面调用相应的状态显示字符。其程序流程图如图2.5所示。

”,

c)表2-1显示器显示数字、字母与显示代码之间的对应关系

2、LED显示器显示方式

点亮LED显示器有两种方式:一是静态显示;二是动态显示。

所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。如图2.7所示为4位静态LED显示器电路。该电路每一位可单独显示。只要在要显示的那位的段选线上保持段选码电平,该位就能保持显示相应的显示字符。这种电路的优点是:在同一

3、LED显示器接口实例

实例1:用LED数码管显示数字“6”

本例用LED数码管显示数字“6”,接口电路如图2.9所示(采用共阳极数码管)。

相关文档
最新文档