2023年7月26日发(作者:)
淮 阴 工 学 院
毕业设计说明书(论文)
作 者:
学 院:
专 业:
学 号:
计算机与软件工程学院
题 目: 基于安卓手机蓝牙控制的智能小车设计
指导者:
评阅者:
(姓 名) (专业技术职务)
(姓 名) (专业技术职务)
2016 年 6 月
毕业设计说明书(论文)中文摘要
我们生在信息化纪元,个人笔记本电脑和智能手机随处可见,而众所周知Android操作系统具有高度的开放性的优势,而Java编程市场占有率很高。在这样的大环境下我选择了毕业设计的课题为基于Android手机蓝牙控制的智能小车。
智能小车由带蓝牙功能的安卓手机和智能小车两部分组成,智能小车通过蓝牙模块HC-06与安卓手机之间进行蓝牙通信,而蓝牙信号并不会直接被识别,而是先转变成串口信号,智能小车主控芯片为STC89C51单片机,它可以进行接收并识别串口信号,然后给与它相连的电机驱动行动指令,实现蓝牙无线控制。智能小车设计包括硬件设计和软件设计两个部分。软件设计部分,我用Java编程,开发安卓手机应用软件来实现对车的前进后退左转右转的控制,然后在Keil里编写小车行进和循迹避障代码。智能小车还充分利用了智能手机自带的重力感应器来实现对小车的控制。硬件设计部分,我设计的智能小车主要由单片机、HC-06蓝牙模块、L298N电机驱动、直流电机、电源模块、四路循迹模块、红外避障模块组成。智能小车不仅可以由蓝牙控制行进,还可以实现循迹和避障的功能。
关键词 安卓手机,蓝牙,智能小车,STC89C51单片机 毕业设计说明书(论文)外文摘要
Title
Design of Intelligent car controlled by Bluetooth of Android
Mobilephone
Abstract
We was born in the age of information,which fill with PC and we all
know that the Android operating system is famous for its high degree of openness,
Under such circumstances I chose Design of Intelligent car controlled by Bluetooth of
Android as graduation design topic .
Smart car by android mobile phone with bluetooth function and smart car in two parts,
the smart car via bluetooth module HC - 06 and bluetooth communication between
android phones, and bluetooth signal will not be identified directly, but is first
converted to a serial port signals, intelligent car master control chip for STC89C51
microcontroller, it can receive and identify serial signal, and then to motor drive
connected to the it operation instructions, bluetooth wireless control. Smart car design
includes hardware design and software design of two parts. Software design part, I use
Java programming, developing android applications to achieve control of the car
forward backward turn left turn right, and then write the car travel in Keil and tracking
code of obstacle avoidance. Smart cars also make full use of the smartphone's own
gravity sensors to achieve control of the car. Part of hardware design, I design a smart
car is mainly composed of single chip microcomputer, HC - 06 bluetooth module,
L298N motor driver, dc motor, power supply module, four road tracking module, the
infrared obstacle avoidance module. Smart cars can be controlled by the bluetooth
marching not only, still can realize the function of tracking and obstacle avoidance.
Keywords Android phone, Bluetooth, Intelligent car, STC89C51 SCM 淮阴工学院毕业设计说明书(论文)
目 录
第 Ⅰ 页 共 Ⅰ 页
1 引言 .............................................................................................................................. 1
1.1 课题背景 ................................................................................................................ 1
1.2 国内外研究综述 .................................................................................................... 1
1.3 发展趋势 ................................................................................................................ 2
2 智能小车设计内容与整体方案 .................................................................................. 3
2.1 设计要求 ................................................................................................................ 3
2.2 设计构想 ................................................................................................................ 3
2.3 总体设计 ................................................................................................................ 3
3 智能小车详细设计 ...................................................................................................... 5
3.1 硬件设计 ................................................................................................................ 5
3.2 软件设计 .............................................................................................................. 13
4 智能小车的调试与测试 ............................................................................................ 15
4.1 按钮控制行进 ...................................................................................................... 15
4.2 重力感应控制行进 .............................................................................................. 16
4.3 循迹避障测试 ...................................................................................................... 17
5 智能小车的不足与扩展 ............................................................................................ 17
结 论 .............................................................................................................................. 18
致 谢 .............................................................................................................................. 19
参 考 文 献 .................................................................................................................... 20
附录 相关程序代码 ........................................................................................................ 1
A0循迹代码....................................................................................................................... 1
A1蓝牙控制下的小车行进代码....................................................................................... 6淮阴工学院毕业设计说明书(论文)
1 引言
1.1 课题背景
第 1 页 共 20 页
记得小的时候,遥控车还是很少见的,不过最近几年商店里的遥控赛车随处可见,我们都知道一把钥匙配一把锁,小车也是一样的,每个遥控赛车有一个固定的遥控器。可是遥控器坏了的话,你就要考虑重新换个遥控车了,因为无法找到匹配的遥控器操控了。现在社会几乎人手一部手机,有这么丰富的资源,若是可以在手机上装上软件遥控小车,该有多方便啊。手机操作系统三足鼎立,虽然微软渐渐淡出视线,不过Android和ios操作系统软件开发技术很成熟。尤其是Android操作系统具有高度开放性的优势,吸引世界人民的目光,兼容性好,开发者众多,开发环境自由,种种优势造就了Android应用商店资源丰富的现状,因此可以很方便的在一个硬件平台实现多种小车的遥控器。软件可以很好的实现了,可是该怎样无线控制呢?
Internet和移动通信的迅速发展,我们已经步入大数据时代。最近几年出现很多近场通信技术,蓝牙技术就是其中一个全球无线标准。蓝牙技术是什么这里就不做过多赘述了,具体简介看第二章的描述,不过我想生活中应该充斥着大量的蓝牙产品比如蓝牙耳机,蓝牙音响,蓝牙鼠标,蓝牙键盘等等。蓝牙技术日趋成熟,所以我们可以更加深入的研究蓝牙技术的应用了。
基于这些条件,通过充分利用Android平台高度开放的特性来实现智能小车的设计。
1.2 国内外研究综述
1.2.1 国外研究现状
智能小车关键在于智能二字,人类探索智能小车的脚步从未停止过,最早可以追寻到上世纪50年代。对智能小车的探索大致分为三个步骤。
首先是在20世纪50年代时,美国某公司研究开发了AGVS,虽然只是一个在一成不变的路线上行进的货车,但它和智能二字挂钩了,因为它可以实现无人驾驶的功能。
然后到1985年时候,对于智能车辆的研究取得了突破性的进展。各个发达国家开始将智能车辆技术投入到实际生活中去,自动车辆导航也有梦想成为了现实。
最后则是从1990年算起,人们开始投入更过的人力物力对智能车辆的功能进行 淮阴工学院毕业设计说明书(论文)
1.2.2 国内研究现状
第 2 页 共 20 页
创新式开发探索。登月,火星探索等等高科技产业上随处可见智能车辆的应用。
相比国外,我国国情复杂,经历了战火的摧残,以及建国初期的缓慢发展,我国没有赶上智能车辆技术研究的第一班车,不过虽然研究起步晚,但是在我国著名学者和默默无闻倾力奉献的工作人员的努力下,我国取得的傲人的成就。
具体有我国第一辆自主驾驶轿车于2003年在中国一汽和国科防大的机电自动学院面世。
自动驾驶汽车模型由上海交通大学设计出,汽车系统的动力学建模是该模型的设计基础,并且模型上拥有自动驾驶的专项系统。
吉林大学设计制造了一辆由图像识别、行驶、转向、制动、避障和其他辅助系统组成并可用CCD识别地面铺设的条状路标导航的智能车辆。
目前,我国的许多高校和科研院所在智能车辆技术研究探索上投入了大量的人力物力,成立了许多科研团队。智能车辆技术以其智能的特点博得了全社会的眼球,这就使许多交通、汽车企业增加对智能车辆技术研发的资金投入。我相信在大家的共同努力,我国在智能车辆的技术的研究探索一定会迈进世界顶尖水平的。
1.3 发展趋势
现在的车辆大多都是在人为驾驶下工作的,车辆的发展趋势是智能化。智能小车的智能化体现在环境感知,自主决策,自主驾驶几个方面上。智能小车是一种典型的高科技结合体,在其中我们加入了科学计算,智能传感,数据通信,人工智能和语音控制等技术。智能化的发展方向是在一个预先设计的状态下,产品能够自主的运行,不需要人为的干预便可以达到预期的或更好的结果。世界车辆研究领域的热点工程是致力于提高小型汽车的安全性,适应性从而实现很好的人机交互。这也是各国发展物联网和智能交通系统进程的一个重要组成部分。随着时代的发展和科技的进步智能驾驶系统已经得到了广泛的应用。许多商品级的智能车在发达国家已经不是什么新鲜事了。甚至在医疗服务和商务超市等领域中智能车已经是一项十分成熟的技术了。无论从科学研究还是市场竞争的角度来看,对智能车的研究与探索已经是势在必行的事了。我国一直提倡改革与创新,智能车的发展正是顺应了这种大的浪潮。智能车的研究是我国的经济发展不可或缺的重要部分。
淮阴工学院毕业设计说明书(论文)
2 智能小车总体设计
2.1 设计要求
第 3 页 共 20 页
本次智能小车设计要开发一个安卓手机应用,然后在智能手机上安卓应用远程蓝牙控制行进停止,以及循迹避障的功能,其中有两种控制小车行进的方式分别是按钮控制和重力感应控制,并且智能小车可以在通过蓝牙控制下进入实现循迹和避障的模式。这就需要我去学习STC89C51单片机的相关知识,红外传感器的工作原理和使用方法和安卓手机应用开发,熟练用C语言在Keil uVision4软件中编写代码与程序下载,熟练在安卓手机软件开发环境下通过Java编程开发手机应用软件,熟练使用单片机定时器/计数器以及中断,熟练使用电机驱动PWM调速。
2.2 设计构想
智能小车设计前期准备直观重要,我在图书馆翻阅了大量书籍资料,学习了前辈的设计思想理念,确定了智能小车的组成部分和功能要求。本次设计的智能小车是以STC89C52单片机为主控芯片。智能小车由带蓝牙功能的安卓手机和智能小车两部分组成,智能小车通过蓝牙模块HC-06与安卓手机之间进行蓝牙通信,而蓝牙信号并不会直接被识别,而是先转变成串口信号,智能小车主控芯片为STC89C51单片机,它可以进行接收并识别串口信号,然后给与它相连的电机驱动行动指令,实现蓝牙无线控制。软件设计部分,我用Java编程,在Eclipse开发环境中开发安卓手机应用软件,通过应用软件中的按钮实现对车的行进控制,然后再Keil里编写小车行进和循迹避障代码。智能小车还充分利用了智能手机自带的重力感应器来实现对小车的控制。硬件设计部分,我设计的智能小车主要由单片机、HC-06蓝牙模块、L298N电机驱动、直流电机、电源模块、四路循迹模块、红外避障模块组成。智能小车不仅可以由蓝牙控制行进,还可以实现循迹和避障的功能。智能小车不仅可以由蓝牙控制行进,还可以实现循迹和避障的功能。
2.3 总体设计
a)利用安卓手机蓝牙无线遥控小车进入蓝牙手动模式,控制小车前进后退左右行进。
b)利用安卓手机蓝牙无线遥控小车进入循迹模式,让小车沿着黑线自动行驶。
c)利用安卓手机蓝牙无线遥控小车进入避障模式,让小车躲避障碍物。系统框 淮阴工学院毕业设计说明书(论文)
图如图2-1所示:
单
循迹模块
片
机
避障模块
模
块
第 4 页 共 20 页
远程控制端
电源管理模块
无线通信模块
图2-1 智能小车系统框图
智能小车的蓝牙无线操作时单片机的流程如图2-2所示:
开始
系统初始化
N
连接上位机
Y
进入蓝牙控制模式
Y
接收控制指令
N
响应控制指令
结束
图2-2 单片机流程图
淮阴工学院毕业设计说明书(论文)
3 智能小车详细设计
3.1 硬件设计
3.1.1 单片机模块
第 5 页 共 20 页
STC89C51单片机是宏晶科技生产出的新一代单片机,其具有高速,低功耗,超强抗干扰的特点。其具有12 时钟,机器周期和6时钟,机器周期也是可以任意选择的。还有HD版本和90C版本内部集成MAX810专用复位电路。外形及引脚排列如图3-1所示。
图3-1 STC89C51管脚图
主控芯片的选取要从技术可行性,实用性,可开发性等方面考虑,本设计中重力感应器数据量很大,但是经过安卓手机的处理后发送给蓝牙模块HC-06的数据量很小,而且通过在安卓应用上的按钮控制小车,发送的信号量也比较少,易于处理,所以选用STC89C51单片机来作为控制芯片进行数据处理,易于获得,易于使用。
单片机振荡器特性主要体现在XTAL1与XTAL2上,前者的外部晶振的一个引脚可以与内部时钟的反相放大器的输入端相衔接,在使用外部的时钟源的情况下,这个引脚将变成外部时钟的输入端。
后者的内部时钟电路反相放大器的输出端,与外部晶振的另一脚相连接,在直接调用外部时钟源的时候,此引脚可浮空,此时后者实际上将输出前者输入的时钟。
淮阴工学院毕业设计说明书(论文)
3.1.2 电机驱动模块
第 6 页 共 20 页
单片机的I/O是驱动不了电机的,因此我选用的是L298N电机专用驱动芯片。
L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。一般情况下,功率部分的电压应大于6V否则芯片可能不能正常工作,图3-2为L298N实物图。
图3-2 L298N实物图
图中排针为电机驱动逻辑输入端与+5V 电源输出端IN4 IN3 IN2 IN1 逻辑输入端 +5 GND为电稳压电源输出端可以控制系统供电(采用LDO稳压芯片,大容量钽电解电容,输出低纹波系数)VSS 为逻辑电平输入端,插上跳线默认为 LDO稳压输出5V,如需外接请逻辑电平,去掉跳线往里输入,逻辑电平ENA, ENB 为控制便能端,插上为使能驱动。PWM调速可去跳线帽,从 ENA ,ENB 端输入,控制电机速度。
L298N系统原理图如图3-3所示。
本设计中L298N通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,小车的运动状态和I/O输出关系如表3-1所示:
表3-1 小车运动状态和I/O口输出关系
IN1
1
1
1
0
1
0
IN2
0
0
0
1
1
1
IN3
1
0
1
1
1
0
IN4
0
1
1
0
0
1
左电机
正转
正转
正转
反转
停
反转
右电机
正转
反转
停
正转
正转
反转
电动车运动状态
前行
左转
以电机为中心左转
右转
以电机为中心右转
后退
淮阴工学院毕业设计说明书(论文)
第 7 页 共 20 页
图3-3 L298N系统原理图
3.1.3 循迹避障模块
循迹的意思是智能小车可以沿着贴在白色地板上的两厘米宽的黑色胶带行进。避障则是躲避障碍物。循迹需要用到PWM调速原理,对于电机的转速调整,我们是采用脉冲宽度调制单片机定时器原理为51单片机有2个16位的定时和计数器为T0和T1;这两个定时计数器有不同的工作方式能完成不同的定时要求和计数要求,需要定时控制、软件延时、单片机的程序对外部信号计数是可以用上单片机定时计数器。其实质是由单片机内置的16位累加器组成,分为高八位TH和低八位TL。定时器控制寄存器对定时计数器进行控制来设置他们的工作模式以及定时初值。TH和TL计数溢出时产生中断信号,单片机处理中断程序。如图3-4所示:
S开关:S向上拨启动定时器,向下拨启动计数器,计数值到达上限是产生溢出信号单片机中断处理。
K开关:门信号为0时,TR为1,这是由内部控制的定时计数器启动工作门信号为1时,into和TR0一起为1时,外部信号启动工作。
淮阴工学院毕业设计说明书(论文)
第 8 页 共 20 页
图3-4 定时器中断原理图
智能小车、机器人等自动化机械装置的壁障循迹解决方案一般使用四路红外避障寻迹模块。经过试验测试,我决定用两个红外传感器循迹,两个传感器避障。
红外跟踪模块的探测器由红外发射和接收管等分立元件,该比较器LM339电压作为输出信号。为了使输出信号更稳定。,更适合单片机的使用在比较器之后加入一级迟滞电路。本系统具有多种检测功能,可大大满足各种自动化、智能化小系统的应用。
接下来就是具体的模块测试了:电源输入端为模块的VCC GND接口 ,另一端VCC SIG1 GND 对应接到控制板对应端口,如下图所示,相应的LED1显示灯关闭(正常的高电平下无遮挡),如果上电后不改变LED1状态,则顺时针旋转第一个电位器。
(顺时针旋转感应距离变小,逆时针感应距离变大)。如果手或反光物体遮挡红外线的发射小板,如下图所示,相应的接口指示灯点亮,表示输出一个低电平信号。 (模块测量距离通过电位器调节,顺时针旋转电位器测量距离变小,反之距离变大)。将输出信号接入MCU完成对高低电平的判断,正常情况下如果没有遮挡那么小灯点亮信号为高电平,反之输出为低电平信号。如图3-5所示:
图3-5 四路循迹模块
循迹的具体原理是:使用D触发器进行边,沿检测的传感器电路如图3-6所示:
DF2的红外发射管(白色),DS2为红外接收管(黑管),DF2发射红外光经过反射后到达DS2 接收端,反射信号强度不同, 红外接收管DS2接收到红外发射管DF2的红外光线后与原始发射信号会产生偏差,LM339 的5脚会放大输出一个变化的
淮阴工学院毕业设计说明书(论文)
第 9 页 共 20 页
图3-6 红外电路图
电压量,当LM339的“+”输入端信号大于“-”端时,输出端截止,外部上拉到5V高电平当”+”输入端小于”-”端时,输出接口输出饱和,低电平输出。如果要改变测量距离可以改变RP2的数值大小来变更门限电压值得大小。当电压值在门限值附近波动时对系统有些许干扰,
则输出电压就会有相应的抖动。同时使用“施密特触发器”及使用R4电阻,加入正反馈电路,下图为该电路的传输特性图。
图3-7 电路传输特性图
当输出状态一旦转换后,只要在跳变电压值周围的扰动保持在于ΔU 相近,这样可以得到稳定的输出电压,随之而来的问题是系统分辨率的降低。因为迟滞比较器无法分辨两者的输入电压差小于△U的值。
那么寻线识别怎么判断呢?
下图给出通过电位比较器的逻辑输入来调节智能小车的行驶状态 。其中LALB电机带动左侧轮子,RARB电机带动右侧轮子.LALBRARB 分别接电机驱动模块的IN1IN2IN3IN4,单片机的P0.0和P0.1分别接两路红外传感器. A):
如下图所示,当两边传感器没有检测到黑线及P0.0和P0.1接受到高电平,此时小 淮阴工学院毕业设计说明书(论文)
车保持前行,对应部分代码如下:
void run(void)
{IN1=1;IN2=0;IN3=1;IN4=0;}
第 10 页 共 20 页
图3-8 循迹前进
当小车前进方向右侧红外传感器检测到黑线P0.1为低电平(LED1点亮)时说明小车已经向左偏离的航道,这是需要小车向右转弯,来修正自己的路线。如上图
void right(void)
{IN1=0;N2=1;IN3=1;IN4=0;}
图3-9 循迹右转
淮阴工学院毕业设计说明书(论文)
第 11 页 共 20 页
当小车前进方向左侧红外传感器检测到黑线P0.0为低电平(LED0点亮)时说明小车已经向右偏离的航道,这是需要小车向左转弯,来修正自己的路线。如下图所示:
void left(void)
{IN1=1;IN2=0;IN3=0;IN4=1};
图3-9 循迹左转
当小车在不断修正路线的时候就实现的寻迹功能,即小车按照指定黑线寻线前进。
3.1.4 电源模块
因为本智能小车拥有众多元器件和功能模块,所以电源是一个至关重要的部分,它是整个系统的源泉。其中L298N需要12V2A的电源,单片机需要5V1A的电源为其供电,综合考虑各方因素,最后选择了18650电池和一个电源模块为整个系统供电。电源模块分别独立输出5V电压并集成了LM2596S和LM78M05两个稳压芯片;支持以下功能接口:6~12V输入和2路独立5V输出,2路独立5V共区分为1A和3A电流(合计8个接口),3A电流适合做机器人舵机云台/机械手臂/WIFI数传模块供电,1A电流适合给单片机板供电,只有能提供独立供电的稳压电源才是稳定的。实物图如下图所示:
淮阴工学院毕业设计说明书(论文)
第 12 页 共 20 页
图3-10 电源模块实物图
3.1.5 蓝牙模块
HC-06是主从一体化的蓝牙串口模块,主从可指令切换,指令少于HC-05,使用简单。
HC-06的主要特点有:采用CSR主流蓝牙芯片,蓝牙V2.0协议标准;模块供电电压:3.3V~3.6V;默认参数:波特率为9600,配对码默认为1234,工作模式为从机;核心模块尺寸大小为:27mm x 13 mm x 2mm;工作电流:不大于50MA(以实测为准);通讯距离:空旷条件下10M,正常使用环境8M左右。
24脚接LED能更清楚地反映出模块的工作状态:当LED快闪,表示模块正常工作,处于AT模式;LED定住长亮,表示模块正常工作,处于透传模式。
蓝牙可以更改默认参数具体AT命令集如下:
a)测试通讯
发送:AT(返回OK,一秒左右发一次)
返回:OK
b)改蓝牙串口通讯波特率
发送:AT+BAUD1
返回:OK1200
表3-2 波特率对应的命令
波特率
1200 2400 4800 9600 19200
……
230400 460800 921600
命令
1 2 3 4 5
……
9 A B
c)改蓝牙名称
发送:AT+NAMEname
返回:OKname
d)改蓝牙配对密码
淮阴工学院毕业设计说明书(论文)
发送:AT+PINxxxx
返回:OKsetpin
e)更改模块的主从模式(V1.7版本以后支持)
发送:AT+ROLE=M(设置模块为主模式Master)
返回:OK+ROLE:M
发送:AT+ROLE=S(设置模块为从模式Slave)
返回:OK+ROLE:S
第 13 页 共 20 页
3.2 软件设计
3.2.1 安卓应用的实现
我的笔记本win8系统所以我下载的是JDK1.7.0_21的版本,然后用eclipse进行安卓应用开发。Java环境的搭建和安卓应用软件开发环境的搭建是通过同学的帮忙和观看网上的教程来完成的。环境搭建好后,设计置手机界面的时候,在Eclipse集成开发环境下,选择android 4.2.2版本,工程名命名为智能小车。
在制作蓝牙小车手机界面的时候,我用到了checkbox控件和 Button按钮控件,并且在添加控件时采用相对布局形式
其中的checkbox控件来作为重力感应的开关,Button按钮控件则能控制小车行进。我还添加了数字按钮仅仅作为调试用,并没有加入功能。
控件加好后可以在layout布局文件下可以任意改变控件的位置、字体的大小、背景图片。
最为重要的就是手机监听程序的开发了。在Eclipse开发平台上,首先在Layout文件中完成手机应用设计界面以后,就需要给每个Button按键绑定监听程序,以实现在每个按键按下时,就能通过手机蓝牙发送相应的数据到小车蓝牙接收模块。在Layout文件中,添加一个控件,系统会默认为这个控件设置一个ID,而且会自动生成一个ID地址。然后在主程序根据ID地址来编写监听程序,当按键按下的时候,通过监听按键的ID地址的不同,采用switch,case多分枝循环语句,向小车蓝牙模块发送不同的数据。程序编好后,打开手机软件时,会提示是否打开蓝牙,若选择否,则软件会默认关闭,选择是则会进入下一步,选择蓝牙连接,搜索设备并连接如果是第一次连接就要输入配对码,初始值是“1234”,当进行过一次配对连接以后,将会记忆该地址。以后蓝牙连接不再需要输入配对码。
通过以上工作大体完成了智能小车应用软件的开发了。
淮阴工学院毕业设计说明书(论文)
3.2.2 小车行进的代码编写
第 14 页 共 20 页
这次设计可以用C语言编程序,也可以用汇编语言编程序,之前的STC89C52单片机学习中我一直用的是C语言编程,所以这次毕业设计我决定用我擅长的C语言来编写。其C语言语法和结构和标准C语言基本相同,只是有了相应的扩充,用到的编译软件是Keil C51。小车行进的代码主要是if语句,简单就不在这里说明了,具体代码见附录C。
3.2.3 小车循迹避障代码的编写
循迹需要用到PWM调速原理,对于电机的转速调整,我们是采用脉冲宽度调制单片机定时器原理为51单片机有2个16位的定时和计数器为T0和T1;这两个定时计数器有不同的工作方式能完成不同的定时要求和计数要求,需要定时控制、软件延时、单片机的程序对外部信号计数是可以用上单片机定时计数器。其实质是由单片机内置的16位累加器组成,分为高八位TH和低八位TL。定时器控制寄存器对定时计数器进行控制来设置他们的工作模式以及定时初值。TH和TL计数溢出时产生中断信号,单片机处理中断程序。
本系统为了产生PWM信号,同时用到了两个定时计数器T0和T1分别控制舵机转向和直流电机速度调节。使用定时器工作方式一:16位定时计数方式,计算方法为最大计数为2的16次方65536,定时器工作方式时,定时时间为T=(65536-定时初值)*机器周期。重要代码如下:
淮阴工学院毕业设计说明书(论文)
第 15 页 共 20 页
使用定时器定时1MS来产生调节占空比PWM信号,单片机进入中断控制程序pwm_out_right_moto来控制小车直流电机的转动。
4 智能小车的调试与测试
4.1 按钮控制行进
前后左右四个按钮对应的是小车前进后退左转右转。
安卓应用的界面如图4-1所示;
淮阴工学院毕业设计说明书(论文)
第 16 页 共 20 页
图4-1安卓应用界面
开始,代码烧写完成后,供电给小车各个模块,发现小车不能行进,检查各个电路连接正常,原来是电机驱动的正反连接错误。
调试过程中发现,左转指令不灵敏,经过调试发现keil代码编写时,把指令写错修正后,开始正常控制,具体流程如下:
a)点击蓝牙连接,选择HC-06如图4-2所示。
图4-2蓝牙连接图
b)“蓝牙已连接”的提示出现后,可以看见蓝牙模块的指示灯由闪烁变为常亮。点击数字键1,进入遥控模式,可以控制小车行进停止。
4.2 重力感应控制行进
重力感应的代码编写比较难,我查阅很多资料还是弄的一知半解的,最终找到了相关的代码,实现了通过重力感应控制小车的前进后退左转右转的功能。
具体流程和4.1相似只是把控制小车行进的按钮变为重力感应,先连接蓝牙,然后选择重力感应。长按1,然后通过倾斜手机来控制小车行进。
淮阴工学院毕业设计说明书(论文)
4.3 循迹避障测试
依旧打开手机app,蓝牙连接成功后,开始具体测试:
第 17 页 共 20 页
a)点击数字键2,进入循迹模式,小车可以沿着地板上的黑胶带行走。
b)点击数字键3,进入避障模式,小车一直行走遇到障碍物就会拐弯,躲避障碍物。
循迹的时候发现当黑线的弯度过大时,小车就会失控而不再循迹,经过查找资料后知道是,红外传感器的灵敏度问题,用小螺丝刀调节四路循迹模块上的灵敏度即可。而且小车的速度不能过快。
5 智能小车的不足与扩展
首先,智能小车可以顺利实现蓝牙控制下切换行进停止和循迹避障的功能,但是蓝牙控制行进时不能自行避障和循迹,这是不足之处。
其次,由于对安卓开发的学习不够深入,很多东西还不是很了解,最后做出的app界面很简单。
最后智能小车的功能不够完善,现在智能化发展迅猛,网络覆盖面积广,蓝牙控制的距离不够远,可以在小车上装一个路由器实现无线局域网来控制小车,在小车上添加舵机和摄像头实现监控拍照的功能,这样就为无人驾驶,对未知的危险区域探索奠定了基础。 淮阴工学院毕业设计说明书(论文)
结 论
第 18 页 共 20 页
智能小车属于前沿的研究,其中囊括很多学科,有着广泛的应用前景。
本次毕业设计是一个基于安卓手机蓝牙控制智能小车,研究包括方案选择、单片机最小系统、电机驱动电路和蓝牙电路、超声波和红外传感器使用、软硬件设计与调试结果及解决调试时遇到的问题。在此期间主要完成的工作包括以下几个方面:
智能小车以单片机STC89C51单片机为核心芯片来编程控制电机的正反转来实现小车行进,而电机的正反转则由电机驱动L298N输出端的逻辑电平来控制。通过运用红外传感器和超声波传感器来实现智能小车的循迹和避障功能。
从智能小车的整个设计的过程来看前期准备很重要,由于之前有过相关课程设计的学习,对嵌入式系统开发也进行了系统的学习,所以前期准备的很充分,避免了很多在后续的设计中可能出现的困难问题。
MCU端的软硬件设计因为与所学知识相关性较大,MCU底板设计时鉴于电路简单可用杜邦线连接,无需焊接且主要用螺丝固定,所以出现的问题较少,主要的问题出现在android软件开发上,由于本科阶段并没有开设Java编程,自己对于Java编程的语法不太清楚,开发环境不熟悉,所以花费了大量的时间去学习Java编程方面的知识和安卓开发的技巧,不过还好通过查阅了大量资料和相关视频,顺利的完成了比较简单的软件开发。
总体来说,在开始做毕业设计之前,我大学四年的学习中更偏向硬件设计所以在这一块上,所遇到的困难比较容易解决。而其他方面遇到难题时向学霸,老师等的求助,最终智能小车基本完成制定功能,并通过了软件测试。 淮阴工学院毕业设计说明书(论文)
致 谢
第 19 页 共 20 页
又是一年毕业季,只是没想到这次的主角竟是自己。2012年9月,我走进了淮阴工学院的校园。母校不仅提供给了良好的学习环境,而且还提供了很多学习和实践的机会,衷心地感谢它。感谢计算机与软件工程学院给我提供了这次学习的机会。
感谢我的导师于永彦对我的帮助。是他带领我认识了大学生活的精彩,是他在我学习消极时给予我鼓励,在生活上给予我关心与照顾。
感谢我的毕业设计指导老师化莉,她在我毕业设计期间对我也付出了很多心血,化莉老师从毕业设计一开始就对我们严格要求,每周的周二中午都会和我们开见面会,要求我们每周在毕业论文系统上提交周进展,以便了解过去的一周里我们所做的工作和遭遇的难题,即使遇到老师自己都不会的问题,她也会通过各种途径帮我们找到解决方案。虽然她擅长软件对于硬件了解的不是很多,但是她在论文格式,设计构思等等方面,都给予我很大的启发与帮助。化莉老师对学生的高度关注和对工作高度负责的精神值得我们尊敬,也是我今后走向工作岗位的榜样。
在这次智能小车的设计制作过程中,虽然路途坎坷,但是在班里的同学以及其他老师的帮助下,我成功的解决了这些问题。毕业设计完成了,在这个过程中我学到了很多东西。团结协作努力拼搏才是完成毕业设计的关键。这次智能小车的设计,不仅考验了我大学四年里学到的知识,同时考验了我们的学习能力和动手能力。通过这一阶段的学习,我们不仅巩固加深了相关知识的理解,更是学到了面对困难的不放弃、不气馁的态度,不骄不躁的办事风格,团结协作努力拼搏的精神风貌。这些都是我人生中浓墨重彩的一笔。
最终我圆满的完成了毕业设计的任务。结束也是新的开始,感谢老师和同学陪我一起走过的学习之路。 淮阴工学院毕业设计说明书(论文)
第 20 页 共 20 页
参 考 文 献
1 符强,任风华.基于手机蓝牙的遥控小车的设计[J].广西桂林电子科技大学信息与通信学院;广西桂林电子科技大学电子工程与自动化学院,2010
2 林长青,成海量.基于Android系统和蓝牙通信的手机遥控车设计[J].广东: 广东科贸职业学院,2012
3 孙玉艳.实现PC机与单片机的数据通信与控制[J].广东白云职业技术学院广州白云工商高级技工学校学报,2002,(4)
4 孙育才.单片微型计算机及其应用[M].南京:东南大学出版社,2004
5 王淑芳.电机驱动技术[M].北京:科学出版社,2008
6 李广弟,朱月秀,冷祖祁.单片机基础(第3版)[M].北京:北京航空航天大学出版社,2007
7 李朝青.单片机原理接口技术[M].北京:北京航空航天大学大学出版社,1998
8 雷明剑.Java Applet技术在网络管理中的研究及应用[D].重庆:重庆大学,2007
9 杨红雪.Java开发入门与项目实战.北京:人民邮电出版社,2010
10 张桂珠.刘丽,陈爱国.Java面向对象程序设计[M].北京:北京邮电大学出版社(第2版),2005
11 李宁.Android开发权威指南.北京:人民邮电出版社 (第3版) ,2011
12 韩超,梁泉著.Android系统原理及开发要点详解[M].北京:电子工业出版社(第1版),2010
13 毕广吉.Java程序设计实例教程[M].北京:冶金工业出版社,2007
14 李勋.单片机实用教程[M].北京:北京航空航天大学出版社,2000
15 Bruce Eckel.Java编程思想.北京:机械工业出版社,200716 林少波,杨丹. 中文文本分类特征提取方法的研究与实现.重庆大学硕士学位论文. 2011
16 Jonathan Zdziarski ,Hacking and Securing Applications: Stealing Data, Hijacking
Software, and How to Prevent It,2012:432
17 Mourad Debbabi, Mohamed Saleh, Chamseddine Talhi and Sami Zhioua Embedded
Java Security: Security for Mobile Devices,2010:221-223
18 Stephen Arolagon,Clark and David Thiel Mobile Application Security,2012:157-161
19 Jeff Six ,Application Security for the Android Platform: Processes, Permissions,
and Other Safeguards,2011:460-462
20 Godfrey Nolan ,Decompiling Android,2012:15820
21 Ken Dunham ,Mobile Malware Attacks and Defense,2008:162
22 Graham J. Lee ,Professional Cocoa Application Security,2010:117-11923
淮阴工学院毕业设计说明书(论文)第 1 页 共 11 页
附录 相关程序代码
A0循迹代码
淮阴工学院毕业设计说明书(论文)第 2 页 共 11 页
{
淮阴工学院毕业设计说明书(论文)第 3 页 共 11 页
淮阴工学院毕业设计说明书(论文)第 4 页 共 11 页
淮阴工学院毕业设计说明书(论文)第 5 页 共 11 页
淮阴工学院毕业设计说明书(论文)第 6 页 共 11 页
A1蓝牙控制下的小车行进代码
淮阴工学院毕业设计说明书(论文)第 7 页 共 11 页
淮阴工学院毕业设计说明书(论文)第 8 页 共 11 页
} 淮阴工学院毕业设计说明书(论文)第 9 页 共 11 页
淮阴工学院毕业设计说明书(论文)第 10 页 共 11 页
淮阴工学院毕业设计说明书(论文)第 11 页 共 11 页
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690319253a331972.html
评论列表(0条)