1、本作品主要应用于救援、安防、勘探、侦查、追踪、等人类不可到达的领域。本小车可快速组建小区安防网络。对小区安全进行综合监控。本小车可以对生命物体、对综合烟雾气体探测,并回传电脑,可以用于救援救灾,本小车可以自动检测障碍物体,使小车行进更流畅。本小车可以跟踪物体进行监控,实现了无人自动追踪。本小车可以实现超声波测距并回传电脑,精度精确到毫米。本小车留有多个I/O口,可以快速扩展其他模块,实现更多功能。下一部需完善 :增加小车云台,使摄像头上下各45度角旋转,增加观测的范围。增加数据传输的速度和准确性,使传回的信息更丰富、迅速。可以增加3G模块,使小车在任何基站覆盖范围内都能进行远程综合控制和数据传
2、输。说明书 作品名称: 院系专业:信息工程学院移动通信专业 作 者:王明睿、王杰英、郑芳芳目 录一、概述-P3P4二:制作流程-P5P6三、硬件电路结构 -P7P15四、硬件编程程序 -P16P37五、小车控制方法、视频存储方法-P38六、未来发展 -P39一、概述:随着移动通信业务的增加,无线通信已获得非常广泛的应用。无线网络除了提供语音服务之外,还提供多媒体、高速数据和视频图像业务。无线通信环境(无线信道、移动终端等)以及移动多媒体应用业务的特点对视频图像的视频图像编码与传输技术已成为当今信息科学与技术的前沿课题。该课题围绕硬件结构搭建,与硬件编程实现为中心,对无线信号进行综合处理。硬件编
3、程是重点,同时也是难点。整个作品的软件使用面向单片机的C语言编写有以下原因:1、 可以直接对硬件编程,良好的硬件管理,可移植性能良好。2、 用C 编写程序比汇编更符合人们的思考习惯,开发者可以摆脱与硬件无必要的接触,更专心的考虑功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。3、 C语言具有良好的程序结构,适用于模块化程序设计。4、 系统程序结构清晰,易于调试和维护。不同的功能模块,分别指定相应的入口参数和出口参数,对于一些要重复调用的程序一般把其编成函数,这样可以减少程序代码的长度,又便于整个程序的管理。本小车一共有3种工作方式:方式一:对小车进行无线遥控,无线视频传输,小车
4、传感器感应,并回传传感器信息到上位机方式二:利用超声波模块对物体进行跟踪,实现无人操作跟踪物体进行拍摄。方式三:智能躲避障碍物,无需人为控制,小车自己躲避障碍物,并回传视频。二、制作流程1、作品构思:如何使用计算机设计制作出精彩的作品,这是最核心的问题之一,观察很多计算机作品,大多利用已有的计算机平台进行软件开发,于是我们决定自己搭建自己的硬件电路结构,对硬件进行编程操作,并建立与上位机的综合通讯。2、硬件电路搭建:我们确立课题,以及准备实现的功能,我们开始搭建硬件电路,硬件电路的每个模块的参数资料都要非常了解,熟悉运用每个模块。了解模块的硬件结构,和实现原理,最后把每个硬件都搭载在我们的核心
5、平台上(双STC 89C52)。3、软件编程:我们搭载完硬件结构,又对硬件进行综合的运用,第一步,调试电机控制。第二步,实现有线对小车电机遥控。第三步、实现无线对小车的电机遥控。第四步,实现无线的视频传输。第五步,实现人体红外模块的独立功能。第六步、实现人体红外模块与小车无线遥控综合功能(对小车遥控,和小车回传)。第七步、分步实现、综合烟雾信息回传、酒精气体回传、左右是否有障碍物回传。第八步、实现超声波跟踪功能。(可对物体进行跟踪、追踪拍摄)。第九步、实现超声波测距,并回传。5、 最终调试与衔接。把每一个独立的模块,结合成一个独立的窗口显示。最后达到综合探测的目的。把相对独立的功能结合。最后使
6、多功能变成综合功能。三、硬件电路结构1、USB转RS232结构电路2、测速传感器电路3、核心单片机通讯接口电路,传感器接口电路,蜂鸣器电路。4、蓝牙串口电路,LCD显示电路5、U1U2核心单片机接口及电路。6、 复位电路、时钟电路。7、 直流电动机驱动电路及工作原理。8、 扩展接口电路9、 直流电机工作原理。10、 传感器参数及其资料。四、面向硬件编程程序1、小车无线控制与传感器数据回传。(1)U1程序#include #define left P3_2#define right P3_3#define go P3_4#define back P3_5#define leftdata 0x11
7、#define rightdata 0x22#define godata 0x33#define backdata 0x44#define man P1_0 /定义串口/#define yan P1_1#define jiu P1_2 /#define uchar unsigned char#define uint unsigned int unsigned char a,b,flag,flag1=1;char code MESSAGE=有人: ; /查表显示/char code QITI=烟雾:;char code ALL=酒精:void send(void);void delay1ms(u
8、nsigned int x) /延时子程序/ unsigned int i,j; for(j=x;j0;j-) for(i=75;ii-); / /初始化工作方式/void InitCom(void)SCON = 0x50; /REN=1允许串行接受状态,串口工作模式2 TMOD|= 0x21; /定时器工作方式2 PCON|= 0x00; /波特率提高一倍 TH1=0xfd;TL1=0xfd;/9600波特率TR1=1;/开定时器计数SM0=0;SM1=1;/串行工作方式1REN=1;/允许接收数据EA=1;/开中断总开关ES=1;/允许串 TR0=1;TF0=0;ET0=1;void in
9、tT0() interrupt 1 /中断/ TH0=-2720/256; TL0=-2720%256; send(); void send(void) /发送传感器数据子程序/ unsigned char w,m,r; if(man = 1 ) SBUF = MESSAGEw; while(TI=0); TI=0; w+; b=a=0; yan=1; jiu=0; if(yan = 0) SBUF = QITIm; m+; if(jiu=1) SBUF = ALLr; r+;main() ET0=1;InitCom(); while(1) if(flag=1) flag=0; flag1=1
10、; if(b!=a) left=1; right=1; go=1; back=1; switch(b) case leftdata:left=0;break; case rightdata:right=0; case godata:go=0; case backdata:back=0; a=b; flag1=0; delay1ms(300); else/ if(flag1=0)/ send();/ void serial() interrupt 4 /中断法ET0=0;flag=1;flag1=1;b=SBUF;RI=0;/中断标志(2)U2程序。/下载到U2,然后用遥控器控制其方向#defi
11、ne uint unsigned intvoid motor_r_z(void);/右边电动机正转void motor_l_z(void);/左边电动机正转void motor_r_f(void);/右边电动机反转void motor_l_f(void);/左边电动机反转void back(uchar,uchar); /小车后退void go(uchar,uchar);/小车前进void stop(void);/小车停止void left(void);/小车左转void right(void);/小车右转sbit PWM1=P25;sbit PWM2=P24;sbit PWM3=P21;sbi
12、t PWM4=P22;sbit EN1=P20;sbit EN2=P23;sbit left_k=P02;sbit back_k=P05;sbit go_k=P04;sbit right_k=P03;sbit sound=P27;uchar data t_0;uchar data motor_r;uchar data motor_l;uchar data Value;uchar data mid;/*延时子程序*/void ini(void)/T0初始化/TMOD=0x01; /T0工作在方式1TH0=0xff; /装入T0初值TL0=0xf6;/开T0中断/T0允许中断/t_0=0;/P2=0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1