基于安卓手机蓝牙控制的智能小车设计

上传人:沈*** 文档编号:78484624 上传时间:2022-04-21 格式:DOC 页数:73 大小:5.65MB
收藏 版权申诉 举报 下载
基于安卓手机蓝牙控制的智能小车设计_第1页
第1页 / 共73页
基于安卓手机蓝牙控制的智能小车设计_第2页
第2页 / 共73页
基于安卓手机蓝牙控制的智能小车设计_第3页
第3页 / 共73页
资源描述:

《基于安卓手机蓝牙控制的智能小车设计》由会员分享,可在线阅读,更多相关《基于安卓手机蓝牙控制的智能小车设计(73页珍藏版)》请在装配图网上搜索。

1、编编号:号:审定成绩:审定成绩:毕业设计(论文)毕业设计(论文)设计(论文)题目:设计(论文)题目:基于安卓手机蓝牙控制的智能小车设计基于安卓手机蓝牙控制的智能小车设计学学院院名名称称 :自自 动动 化化学学生生姓姓名名 :专专业业 :测控技术与仪器测控技术与仪器班班级级 :学学号号 :指指导导教教师师 :答辩组答辩组负责人负责人 :填表时间:填表时间:20132013年年0505月月制制重庆邮电大学本科毕业设计(论文)重庆邮电大学本科毕业设计(论文)- I -摘摘要要随着物联网的兴起, Android 手机以其独有的开放性优势正在为我们提供更多优质便捷的技术成果。本课题研究的是基于安卓手机蓝

2、牙控制的智能小车设计,基于手机平台,借助于蓝牙技术,设计和实现了一种无线遥控小车新的解决方案。 设计以手机控制平台、 蓝牙通讯模块、电机驱动模块等硬件模块组成的遥控小车。实现小车的前进、后退、前左转弯、前右转弯、后左转弯、后右转弯等实时控制功能。为遥控玩具小车的设计提出了一种新的思路,同时可以为将来智能家居的遥控设计提供一定的参考意义。阐述一种通过手机蓝牙遥控小车行走的软、硬件设计。手机蓝牙作为客户端,小车上的蓝牙模块 HC-06 作为服务端。 客户端采用 Eclipse 开发环境,JAVA 编程,服务端采用单片机控制。双方通过串口进行通信,单片机驱动直流电机控制小车行动。 实验结果表明,小车

3、可以接收手机遥控信号并灵活地进行前行、倒退、左转、右转和停止等功能。本文介绍了基于安卓手机的蓝牙智能小车控制要实现的功能,接着阐述该系统电路的设计及原理的说明,包括了方案的设计、重要元器件的介绍、电路设计的说明(包括单片机控制电路、电机驱动电路)安卓手机软件界面设计、软件设计流程以及系统的调试。最后总结了基于安卓的蓝牙智能小车控制设计完成的任务,分析系统出现的不足。【关键词】【关键词】Andriod蓝牙智能小车智能手机AT89C52 单片机重庆邮电大学本科毕业设计(论文)重庆邮电大学本科毕业设计(论文)- II -ABSTRACTWith the rise of the Internet of

4、 Things, Android phones with its unique advantage of beingopen for us to provide more quality and convenient technological achievements. The research isbased on the Android mobile phone Bluetooth controlled smart car design, based on mobileplatforms, by means of Bluetooth technology, design and impl

5、ementation of a wireless remotecontrol car new solutions. Control platform designed for mobile phones, Bluetooth communicationmodule, motor drive modules and other hardware modules remote control car. Realize the carforward, backward, turn left in front, front right turn after turn left, turn right

6、after the otherreal-time control functions. For the remote control toy car design presents a new way of thinking,and can for the future smart home remote control designed to provide some reference value.Describes one kind of walking through the phones Bluetooth remote control car software andhardwar

7、e design. Bluetooth mobile phone as a client, a small car Bluetooth Module HC-06 as aserver. Clients using the Eclipse development environment, JAVA programming, client servicesusing micro-controller. The two sides communicate through the serial port, the microcontrollerdrive DC motor control car ac

8、tion. Experimental results show that the car can receive mobile phoneremote control signals and the flexibility to move forward, backward, turn left, turn right and stopfunctions.Introduces the based on Andrewss the Bluetooth intelligent trolley control want to achieve thefunction is trolley be able

9、 to forward, backward, turn left, turn right, then expounded that the systemcircuit design and principle of description, including the program design, it is important componentsintroduction, circuit design Description of (, including SCM control circuit, the motor drive circuit)Andrews mobile phone

10、software interface design, software design flow as well as system debugging.Finally summed up the based on Andrewss the Bluetooth intelligent trolley control design iscompleted the task of, analysis system appear deficiencies.【Key words】AndriodBluetoothIntelligent carSmartphoneAT89C52 SCM重庆邮电大学本科毕业设

11、计(论文)重庆邮电大学本科毕业设计(论文)- III -目目录录前言 1第一章绪论2第一节 国内外研究现状2第二节 发展趋势分析4第三节 本章小结4第二章设计方案分析5第一节 设计方案分析确定5第二节 本章小结8第三章安卓操作系统概述 9第一节 安卓操作系统发展历史及趋势 9第二节 Android 开发环境搭建 9一、 Android 的基本介绍 9二、 Android 系统构架10三、 Android 开发包及其工具的安装和配置11第三节 本章小结13第四章系统硬件电路设计 14第一节 单片机最小系统14第二节 电机驱动模块17第三节 蓝牙模块21第四节 本章小结22第五章系统软件程序设计

12、23第一节 主程序设计23第二节 手机端程序设计25一、 手机界面程序设计27二、 手机监听程序设计28第三节 本章小结29第六章系统整体的调试31第一节调试的方案31第二节硬件电路调试31一、独立元件的检测31二、单片机最小系统的调试33重庆邮电大学本科毕业设计(论文)重庆邮电大学本科毕业设计(论文)- IV -三、电源电路的测试34四、驱动电路的调试34第三节软件调试37第四节系统整体调试38第五节本章小结40结论 41致谢43参考文献 44附录 46一、英文原文46二、英文翻译54三、源程序601前前言言遥控小车是玩具市场一种很常见的玩具,但是每个小车都有自己特定的遥控器,原装遥控器坏了

13、很难与其它型号的进行匹配。 现在手机使用十分普遍,如果利用手机这个平台,通过软件编程,可以很方便的在一个硬件平台实现多种小车的遥控器。蓝牙,是一种支持短距离通信的无线电技术。则可以通过手机蓝牙来控制我们的玩具小车1、2。随着家用电器的越来越普及和人们生活节奏的加快, 人们对电器的依赖性进一步提高,对电器的功能要求也进一步增大。现有每个普通家庭中的遥控器包括空调遥控器、电视遥控器、DVD 遥控器、汽车遥控器、门窗遥控器等,门类繁多且不通用,而另一方面,手机已成为人人必备的工具,如果可以用我们必备的手机去遥控所有这些家用电器,可摆脱将来对专用红外遥控面板的依赖,一机在手,万物尽在掌握之中。因此,本

14、论文先设计一种手机对智能遥控车的控制方案,利用本系统的控制模块可扩展至对所有家电的控制2。Andriod 是一个完全开放的标准平台,在 2007 年 11 月 5 日这天,谷歌公司正式向外界展示了这款名为 Android 的操作系统, 并且在这天谷歌宣布建立一个全球性的联盟组织,该组织由 34 家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成。 这一联盟将支持谷歌发布的手机操作系统以及应用软件,将共同开发 Android 系统的开放源代码。本程序是基于 Android 21系统,所用开发工具为 Eclipse 集成开发环境,Eclipse 是著名的跨平台的自由集成开发环境(IDE)。

15、最初主要用来 Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如 C+、Python 和 Android 的开发工具,在此开发环境下开发软件非常的方便。2第第一一章章绪论绪论第一节第一节国内外研究现状国内外研究现状一、国外研究现状一、国外研究现状1984 年, 世界上第一幢智能建筑在美国康涅迪格州落成, 这栋意义非凡的建筑只是对一座旧式大楼的一定程度的改造而完成的。 它只是采用计算机系统对大楼的空调、电梯、照明等设备进行监控,并提供语音通信、电子邮件、情报资料等方面的信息服务。 2000 年, 新加坡有近 30 个社区的约 5000 户家庭采用了这种家庭智能化系统,而美国的安

16、装住户高达 4 万户。2003 年,网络化家居的建设带来了高达 4500 亿美元的市场价值, 这其中有 3700 亿美元是智能家电硬件产品的价值,剩余的部分则是软件和技术支持服务的费用。现在,国外的智能家居系统技术己日趋成熟, 预计今年, 50%以上的新房将具有一定的“智能型家居”功能。于此同时,由于技术的日益标准化,这些新型智能家居系统将比比尔.盖茨耗资 6000 万美元的高端别墅便宜得多。在智能家居系统研发方面,美国及一些欧洲国家一直处于领先地位。近年来,以美国微软公司及摩托罗拉公司等为首的一批国外知名企业,先后挤身于智能家居的研发中。 例如:微软公司开发的“梦幻之家”、 摩托罗拉公司开发

17、的“居所之门”、IBM 公司开发的“家庭主任”等均已日趋成稳得技术强占家居市场。此外,日韩新等国的龙头企业纷纷致力于家居智能化的开发,对家居市场更是跃跃欲试。目前市场上出现得智能家居控制系统主要有:(1)X-10 系统(美国),该系统是利用电力线作为网络平台,采用集中控制方式实现。这套系统的功能较为强大,与其它家居控制系统如 ABB、C_BUS 等比起来更容易接收,使用也相对简单。因为实现同样的功能,X-10家居控制系统是利用220v电力线将发射器发出的X-10信号传送给接收器从而实现智能化的控制,因此采用这套系统不需要额外的布线,这也是这套系统的最大的一个优势,因为其它系统基本上都需要布低压

18、线,在墙上或地面开槽、钻孔,施工难度大、费用高、工期长。但由于缺乏在国内市场推广的条件且价格昂贵,该系统在国内应用极少。3(2)EIB 系统(德国),该系统采用预埋总线及中央控制方式实现控制功能。但由于其工程要求复杂严苛,并且价格较高,因此一直无法打开国内市场3。(3)8X 系统(新加坡),该系统采用预处理总线跟集中控制方式来实现功能。它的优点在于利用的产品对系统进行扩展,系统较为成熟,比较适合中国国情。但是由于系统架构、灵活性及产品价格等方面还难以达到要求,所以目前在国内还较少应用。二、国内研究现状二、国内研究现状20 世纪 90 年代后期,我国的智能小区日益兴起。众所周知,我国的智能化住宅

19、建设最早起于上海、广州和深圳等沿海城市,并逐渐向内陆发展。在 97香港回归之际,在建设部“97 跨世纪住宅小区案竞赛活动”中,上海中皇广场被建设部科技委员会列为全国首家“智能住宅示范工程”,揭开了全国智能小区发展的序幕。1999 年,建设部勘察设计司、建设部住宅产业化办公室联合组织实施全国住宅小区智能化技术示范工程, 标志着我国住宅小区智能化进入了一个新阶段。随着信息化走进了千家万户,由国家经贸委牵头成立了家庭信息网络技术委员会, 而信息网络技术体系研究及产品开发已经被列为了国家技术创新的重点专项计划。据建设部要求,截止今年,我国将有 70%以上的家庭拥有 Internet 入网设备,大中城市

20、中 50%的住宅要实现智能化。我国的智能家居相对于国外起步较晚, 尚未形成一定的国家标准。目前,主要采用国外的一些技术产品,但也有一些企业推出了自己的产品,主要有:(1)e 家庭(海尔),该系列产品以海尔电脑作为控制中心,各种网络家电作为终端设备,海尔移动电话作为移动数字控制中心。海尔在技术上同微软合作,利用微软的 Windows Me 技术和海尔的网络家电,使“e 家庭”已具雏形,已推出了网络洗衣机、网络冰箱、网络空调、网络微波炉等一系列网络家电。(2)e-home 数字家园(清华同方),该智能家居控制系统是专门针对中国家庭设计的,遵循国际技术标准,采用嵌入式软、硬件技术,提供网络、网络节点

21、及末端设备。产品以功能模块开发为主,基于国外成熟的智能家居标准之上。其智能家居控制系统主要有以下三个部分:A 系列:遵循 EIB 协议的家庭控制产品,适用于中高档住宅区。B 系列:遵循 X-10 协议的家庭控制产品,适用于中档住宅区。易家三代:配电箱集中安装式家庭控制产品。4国内各大软、硬件机构正在积极的研制、开发更为符合市场的智能化家居设备,以解决当前智能化产品实用性差、使用复杂及产品价格昂贵等缺点,而技术创新性也逐步向国际先进水平靠拢,这样的未来值得期待4。第二节第二节发展趋势发展趋势智能家居的发展分为三个阶段:首先是家庭电子化(Home Electronics)阶段,这个时期主要是面向单

22、个的电器,家庭电器之间并没有形成网络,亦没有大的联系。其次是住宅自动化(Home Automation)阶段,这个时期是面向功能的阶段,一部分的家庭电器之间形成了简单的网络,主要是为了实现某个特定单一的功能,例如单一的自动抄表功能。最后是家居智能化(欧洲称为 Smart Home,美国称为 Wise House)阶段,这个时期是面向系统设计的阶段, 系统通过家庭分布总线把住宅内各种与信息相关的通信设备、 家用电器、 报警装置并到网络节点中进行集中的监控、 管理,保持家电与环境的协调,提供生活、工作、学习以及娱乐的各种优质服务,营造一种温馨舒适的家庭氛围。智能家居控制系统提供高效、 舒适的家居环

23、境, 确保住户的生命财产安全;集中或远程调节家居环境的温度、湿度以及风的速度等,同时检查空气成分,提高空气质量;调节音响,电视等娱乐设施,愉悦心情;合理利用太阳能活周遭环境的变化,尽可能的节约能耗,达到合理利用资源;提供现代化的通信、信息服务。第第三三节节本章小结本章小结Internet 和移动通信的迅速发展,使人们对各种数据和移动服务的需求快速增长。蓝牙技术作为一个全球开放性无线标准,通过把各种语言和数据设备用无线链路连接起来, 使人们能够随时随地实现个人区域内语言和数据的交换与传输,随着技术的发展和完善,蓝牙必将对人们的生活和工作产生重大的影响。5第第二二章章设计方案分析设计方案分析第第一

24、一节节设计方案分析设计方案分析一、一、 设计要求设计要求本次设计要求实现一个手机可以远程通过蓝牙控制小车的前进、后退、左转和右转。要求学生对单片机和安卓手机开发有一定程度的理解,熟悉单片机定时器/计数器以及中断的使用,会基本的 C 语言和 java,熟练掌握 keil 51 软件的使用与程序下载以及安卓手机软件开发环境。二、二、 设计构思设计构思通过查找资料进行方案论证和选择,可以确定出该系统的整体构成。本设计是以 AT89C52 单片机为核心,以设置手机界面来设置前进、后退、左转、右转、停止等功能。单片机控制电机驱动来控制电机的正反转以实现小车的前进、后退、左转、右转、停止。HC-06 为蓝

25、牙接收模块,通过与手机端的蓝牙进行连接配对,从而接收从手机端发送过来的动作指令。接收到的指令再传递给单片机,单片机通过分析传递过来的指令不同,而跳转到不同的子程序来控制电机驱动,从而实现小车的前进、后退、左转、右转、停止等不同的动作。电源提供给单片机 5V 直流电, L298 需要从外部接两个电压, 一个是给电机的,另一个给 L298 芯片的5。三、系统框图三、系统框图通过查找资料进行方案论证和选择,可以确定出该系统的整体构成,本系统的系统框图如图 2.1 所示。6图 2.1 系统框图四、单片机的选择四、单片机的选择单片机芯片选型时,总的原则是:(1)芯片含有功能或数量略大于设计需求,设计需求

26、尽可能用芯片完成,少用外围器件。(2)技术性:要从单片机的技术指标角度,对单片机芯片进行选择,以保证单片机应用系统在一定的技术指标下可靠运行;(3)实用性:要从单片机的供货渠道、信誉程序等角度,对单片机的生产厂家进行选择以保证单片机应用系统在能长期、可靠运行;(4)可开发性:选用的单片机要有可靠的可以开发手段,如程序开发工具、仿真调试手段等。单片机仅用于控制电机驱动,用 51 结构的有 Atmel 的 AT89CXX 系列、AT89SXX 系列、AT89C20 系列(20 引脚)或 STC 的所有单片机都可以实现。根据在学校比较流行的学习单片机是 AT89CXX 系列,而且 AT89C52 单

27、片机便宜,购买方便,故单片机选用 AT89C52 单片机6。五、电机驱动的选择五、电机驱动的选择7底盘和最小系统确定好了后,小车还是跑不起来缺少电机驱动。单片机的I/O是驱动不了电机的, 因此我选用的是L298N电机专用驱动芯片。 L298N通过单片机的 I/O 输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,输入引脚与输出引脚的逻辑关系图如表 2.1 所示。表 2.1 L298N 模块逻辑关系图EnALn1Ln2运转状态0XX停止110正传101反转111立停100停止L298N 电机驱动模块性能特点:1、可实现电机正反转及调速。2、启动性能好,启动转矩大。3、工作电压可达到

28、36V,4A。4、可同时驱动两台直流电机。5、适合应用于机器人设计及智能小车的设计7。六、蓝牙模块的选择六、蓝牙模块的选择本模块分主机和从机,主机能和从机配对通信,从机与从机之间或主机与主机之间不能通信,从机能和电脑、手机等的蓝牙配对通信,购买时默认为从机。我们在做智能小车控制时,蓝牙模块主要是实现接收从手机端发送过来的指令,所以我们需要的是从机模块。蓝牙串口在模块功能上,偶数命名的互相兼容,从机命名的也互相兼容,也就是说,HC-04 与 HC-06,HC-03 与 HC-05在功能上是兼容的。 HC-04 与 HC-06 是比较早的版本, 用户不可以自己切换主机或者从机,AT 指令集很少,包

29、括修改蓝牙名(限于从机),修改密码,修改波特率,询问版本号等几个基本功能。在本次设计中我们只需实现简单的通信,因此选用 HC-06 模块。HC-06 模块只记忆最后一次配对过的从机,并只与该从机配对,直到 KEY(26 脚)高电平触发时放弃记忆,26 脚默认应该为低电平。8七、电源的选择七、电源的选择电源给单片机及电机驱动等使用 5V 直流电的器件提供电源,供系统正常工作。方案一:使用开关电源将 220V 交流电转为 5V 直流电给系统供电。开关电源的体积小, 重量轻。 但由于需要耐压不小于 220V 的电容等特殊的元器件,日常生活中较难找全器件,开关电源的散热比较差,不适宜长时间工作。故此方

30、案不适宜。方案二:用变压器降压经整流桥整流和 7805 稳压后给系统供电。变压器相对比较重,但他的电路稳定,适宜长时间供电。能做到交流电供电正常时就能给系统正常供电。但在交流电失电时系统会停止工作,这时的时钟也会停止走时。在重新供电时系统会重启,从而造成原先设置的数据丢失。故此方案存在漏洞,不适宜使用。方案三:使用交流电和干电池混合给系统供电。在交流电不失效的情况下由交流电转 5V 直流电供电,在交流电失效情况下由干电池供电。这样就能解决运行成本过高或者在交流电失效时丢失原先设置数据的问题。方案四:使用干电池给系统供电。干电池供电能让系统稳定的工作,时钟的走时不受交流电的影响。干电池的价格相对

31、交流电而言较贵,用干电池单独供电会造成使用成本提高的问题。 但综合情况考虑到小车要前进、 后退、 左转、右转等问题,因此不可能采用交流电源来供电,最终决定两个电源都采用干电池供电比较合理,因此采用方案四提供电源。第第二二节节本章小结本章小结通过查找相关资料, 首先确定要完成该设计需要到的硬件有单片机最小系统、蓝牙模块(只需实现接收数据,不用发送数据的从机模块 HC-06)、电机驱动模块。通过分析该设计需要实现的功能,而选择适合的芯片型号及供电的方式。最后综合分析后绘制了该系统的硬件接线图。9第第三三章章安卓操作安卓操作系统概述系统概述第一节第一节安卓操作系统的安卓操作系统的发展历史及趋势发展历

32、史及趋势Android 系统一开始并不是由谷歌研发出来的, Android 系统原来的公司名字就叫做 Android,谷歌公司在 2005 收购了这个仅成立 22 月的高科技企业。Android 系统也开始由谷歌接手研发, Android 系统的负责人以及 Android 公司的 CEO 安迪鲁宾成为谷歌公司的工程部副总裁,继续负责 Android 项目的研发工作。 在2007年11月5日这天, 谷歌公司正式向外界展示了这款名为Android的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,该组织由 34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成。这一联盟将支持谷歌发布的

33、手机操作系统以及应用软件,将共同开发 Android 系统的开放源代码8。第二节第二节Android 开发环境搭建开发环境搭建一、一、 Android 的基本介绍的基本介绍Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由 Andy Rubin 开发,主要支持手机。2005 年 8 月由 Google 收购注资。2007 年 11 月,Google 与 84 家硬件制造商、软件开发商及电信营运商组

34、建开放手机联盟共同研发改良 Android 系统。随后 Google 以 Apache 开源许可证的授权方式,发布了 Android 的源代码。第一部 Android 智能手机发布于2008 年 10 月。Android 逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011 年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一。 2012 年 11 月数据显示,Android 占据全球智能手机操作系统市场 76%的份额,中国市场占有率为 90%。其具有以下特点:10开放性:在优势方面,Android 平台首先就是其开发性,开发的平台允许任何移动终端厂商加入

35、到 Android 联盟中来。显著的开放性可以使其拥有更多的开发者, 随着用户和应用的日益丰富, 一个崭新的平台也将很快走向成熟。开发性对于 Android 的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。不受束缚:在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从 2007 年 iPhone 上市后, 用户可以更加方便地连接网络, 运营商的制约减少。随着 EDGE、HSDPA 这些 2G

36、至 3G 移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。丰富的硬件:这一点还是与 Android 平台的开放性相关,由于 Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色, 却不会影响到数据同步、 甚至软件的兼容, 如同从诺基亚 Symbian风格手机一下改用苹果 iPhone, 同时还可将 Symbian 中优秀的软件带到 iPhone上使用、联系人等资料更是可以方便地转移。方便开发:Android 平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。Google

37、应用:在互联网的 Google 已经走过 10 年度历史,从搜索巨人到全面的互联网渗透,Google 服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而 Android 平台手机将无缝结合这些优秀的 Google 服务。二、二、Android 系统构架系统构架Android 的系统架构和其操作系统一样,采用了分层的架构。从架构图 3.1看,Androi d 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 Linux 内核层9。11图 3.1Android 结构图1 1、应用程序应用程序Android 会同一系列核心应用程序包一起发布, 该应用程序包包括客户

38、端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用 JAVA 语言编写的。2、应用程序框架、应用程序框架开发人员也可以完全访问核心应用程序所使用的 API 框架。 该应用程序的架构设计简化了组件的重用, 任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块 (不过得遵循框架的安全性) 。同样,该应用程序重用机制也使用户可以方便的替换程序组件。3、系统运行库、系统运行库Android 包含一些 C/C+库, 这些库能被 Android 系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。4、系统内核、系统

39、内核Android 是运行于 Linux kernel 之上,但并不是 GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括 Cairo、X11、Alsa、FFmpeg、GTK、Pango 及 Glibc 等都被移除掉了。Android 又以 Bionic 取代Glibc、以 Skia 取代 Cairo、再以 opencore 取代 FFmpeg 等等。三、三、Android 开发包及其工具的安装和配置开发包及其工具的安装和配置12Android 的开发是可以在 windows XP 及其以版本、MACOS、Linux 等系统上进行开发的;首先呢,

40、我们要进入 Google 的官方网站下载 windows XP 版本的 java 开发包 JDK,我们选择的版本是 JDK1.6.0 以上的版本。在应用开发平台方面,我们采用的是 eclipse,因为 google 提供了基于 eclipse 的 android 开发插件 ADT,在随时更新的插件帮助下,可以很快帮助我们完成 android 手机终端的相关应用开发。1 1、安装、安装 JDKJDK 和配置和配置 javajava 开发环境开发环境首先,安装 JDK 时,安装包中有 JDK 和 JRE 两部分,点击安装程序,指定安装目录,然后点击下一步,等待安装完成即可。安装完成之后,点击“我的

41、电脑”,选择“属性”里面的“高级”选项,选择环境变量,找到 path 变量,如果没有,就自己添加一个,按后命名 path 就行,完成之后,点击编辑,添加JDK 安装目录的“lib”文件路径; 之后点击确定, 然后再找到 CLASSPATH 变量,在路径输入“.”,然后点击确定。2 2、检测安装、检测安装安装配置完成之后,需要测试是否安装成功。点击开始运行输入“cmd”,打开命令模式。输入“javaversion”,检测 JDK 安装是否成功,如果现实结果,则安装成功。3 3、安装、安装 eclipseeclipse打开安装包,点击安装,弹出 workspace 对话框,确定创建项目的保存路径。

42、4 4、SDKSDK 和和 ADTADT 的安装和配置的安装和配置首先, 解压安装包, 运行“SDK Setup.exe”。 其次, 在“Android SDK and Avdmanager”的窗口左侧选择“setting”,选中“Force https:/.”然后返回“Installedpackges”,点击“Update all”。点击“Available Packges”,选择要安装的 API 版本以及 USB 驱动和 SDK 文档,我们都选择了。这个过程很漫长,一定要保证网速快的情况下来安装,要不会出现安装不了的情况,最少安装这个也要一天的时间,所以要耐心等待。下载完成之后,选择所有选

43、项, 然后全部安装, 安装完成之后, 配置 SDK, SDK 的配置更 JDK是一样的。5 5、ADTADT 的安装和配置的安装和配置启动 eclipse, 点击“Help”菜单, 选择“Install New Software”之后, 点击“Add”按钮,点击 Archive 指向下载的 ADT 压缩包,然后点击“ok”,选中所需要安装的插件即可。136 6、AndroidAndroid 虚拟机的搭建虚拟机的搭建打开菜单“windows”,一次选择“Android SDK and AVD Manager”,打开界面;然后点击 NEW 新建模拟机,弹出选项卡,根据选项卡填写自己所需要的内容,即

44、可创建。7 7、建立好项目名后,即可启动虚拟机、建立好项目名后,即可启动虚拟机。第第三三节节本章小结本章小结本章主要介绍了安卓系统的概述和安卓开发环境的一个搭建过程。Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 Linux 内核层。Android 系统的主要优点有:开放性、不受束缚、丰富的硬件、方便开发、Google 应用。在搭建安卓开发环境的时候,耗时相对比较漫长10、11。14第四章第四章系统硬件电路设计系统硬件电路设计整个系统的硬件设计可以分为四个模块:电源电路、单片机最小系统、电机驱动模块、蓝牙模块、。电源电路为整个系统供电,包括单片机 AT

45、89C52、电机驱动、蓝牙模块、及其他外围电路。电源电路分两个部分:(1)接外部电源给电机供电;(2)由 4 节干电池作为电源,给系统供电,以确保单片机、电机驱动、 蓝牙模块的正常运行。 在电源电路给系统供电时, 绿色指示灯点亮,只是当前供电正常。单片机最小系统部分是整个系统的智能控制部分,也是整个系统的核心部分。电机驱动模块 L298 需要从外部接两个电压,一个是给电机的,另一个给 L298 芯片的12。第第一一节节单片机最小系统单片机最小系统单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对 51 系列单片机来说,

46、最小系统一般应该包括: 单片机、时钟电路、复位电路、输入/ 输出设备等13、14。图 4.1 单片机最小系统框图15图 4.2 单片机最小系统原理图一、单片机一、单片机 AT89C52AT89S52 单片机片内集成 256 字节程序运行空间、8K 字节 Flash 存储空间,支持最大 64K 外部存储扩展。根据不同的运行速度和功耗的要求,时钟频率可以设置在 033M 之间。片内资源有 4 组 I/O 控制端口、3个定时器、8 个中断、软件设置低能耗模式、看门狗和断电保护。可以在4V 到 5.5V 宽电压范围内正常工作。 不断发展的半导体工艺也让该单片机的功耗不断降低。同时,该单片机支持计算机并

47、口下载,简单的数字芯片就可以制成下载线。根据不同场合的要求,这款单片机提供了多种封装,本次设计根据最小系统有时需要更换单片机的具体情况,使用双列直插DIP-40 的封装。下面对定时开关系统中使用到的管脚进行简单说明.P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 不具有内部上拉电阻。16P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1 输出缓冲器能驱动 4 个 TTL 逻辑

48、电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P3 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为

49、输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。RST复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复位。二二. . 时钟电路时钟电路在设计时钟电路之前,让我们先了解下 51 单片机上的时钟管脚:XTAL1(19 脚) :芯片内部振荡电路输入端。XTAL2(18 脚) :芯片内部振荡电路输出端。XTAL1 和 XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。在 XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。一般

50、来说晶振可以在 1.2 12MHz 之间任选,甚至可以达到 24MHz 或者更高,但是频率越高功耗也就越大。在本实验套件中采用的11.0592M 的石英晶振。 和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在 20 40pF 之间选择(本实验套件使用 30pF);当采用陶瓷谐振器件时,电容要适当地增大一些,在 30 50pF 之间。通常选取 33pF 的陶瓷电容就可以了。三三. . 复位电路复位电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。17MCS-5l 系列单片机的复位引脚 RST(

51、 第 9 管脚) 出现 2 个机器周期以上的高电平时,单片机就执行复位操作。如果 RST 持续为高电平,单片机就处于循环复位状态。复位操作通常有两种基本形式:上电自动复位和开关复位。上电瞬间,电容两端电压不能突变,此时电容的负极和 RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。随之+5V 电源给电容充电,电阻上的电压逐渐减小,最后约等于 0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使 RST 管脚出现高电平达到手动复位的效果。一般来说,只要 RST 管脚上保持 10ms 以上的高电平,就能

52、使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算 RC 充电时间或在工作环境实际测量, 以确保单片机的复位电路可靠。四四. . EA/VPPEA/VPP(3131 脚)脚) 的功能和接法的功能和接法51 单片机的 EA/VPP(31 脚) 是内部和外部程序存储器的选择管脚。当EA 保持高电平时,单片机访问内部程序存储器;当 EA 保持低电平时,则不管是否有内部程序存储器,只访问外部存储器。对于现今的绝大部分单片机来说,其内部的程序存储器(一般为 flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器。在

53、本实验套件中,EA 管脚接到了VCC 上,只使用内部的程序存储器。这一点一定要注意,很多初学者常常将EA 管脚悬空,从而导致程序执行不正常15。第二节第二节电机驱动模块电机驱动模块一、一、 L298NL298N 型驱动器的原理及应用型驱动器的原理及应用L298 是 SGS 公司的产品,比较常见的是 15 脚 Multiwatt 封装的 L298N,内部同样包含 4 通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。L298N 芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达 50V,可以直接通过电源来调节输出电压;可以直接用单片机的 IO 口提供信号;而且电路

54、简单,使用比较方便。L298N 可接受标准 TTL18逻辑电平信号 VSS,VSS可接 457 V 电压。4 脚 VS 接电源电压,VS 电压范围 VIH 为2546 V。输出电流可达 25 A,可驱动电感性负载。1 脚和15 脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298 可驱动 2 个电动机,OUT1,OUT2 和 OUT3,OUT4 之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12 脚接输入控制电平,控制电机的正反转。EnA,EnB 接控制使能端,控制电机的停转。其引脚图如图 4.3 所示。图 4.3 L298N 引脚图1 1、引脚说明

55、、引脚说明:1、1 和 15 和 8 引脚直接接。,2、4 管脚 VS 接 2.5 到 46 的电压,它是用来驱动电机的。3、 9 引脚是用来接 4.5 到 7V 的电压的, 它是用来驱动 L298 芯片的, L298需要从外部接两个电压,一个是给电机的,另一个给 L298 芯片的。4、6 和 11 引脚是它的使能端,一个使能端控制一个电机,至于那个控制那个你自己焊接,你可以把它理解为总开关,只有当它们都是高电平的时候两个电机才有可能工作。5、5,7,10,12 是 298 的信号输入端和单片机的 IO 口相连,2,3,13,14 是输出端,输入 5 和 7 控制输出 2 和 3,输入的 10

56、,12 控制输出的 13,14。2 2、驱动原理图、驱动原理图19L298N 是 SGS 公司的产品,内部包含 4 个通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含二个 H 桥的高电压大电流双全桥式驱动器,接收标准 TTL 逻辑电平信号,可以驱动 4V、2V 以下的电机。图 4.4 L298 驱动原理图OUT1、OUT2 和 OUT3、OUT4 之间分别接两个电机。IN1、IN2、IN3、IN4 引脚从单片机输入控制电平,控制电机的正反转,ENA、ENB 接控制使能端,控制电机的停转。L298N 的逻辑功能如表 4.1 所示。表 4.1 L298 逻辑功能表IN1IN2IN3IN4

57、左电机右电机电动车运动状态1010正转正转前行1001正转反转左转1011正转停以电机为中心左转0110反转正转右转1110停正转以电机为中心右转0101反转反转后退203 3、直流电机实物接线图、直流电机实物接线图图 4.5 直流电机实物接线图4 4、直流电机原理图、直流电机原理图图 4.6 L298 驱动直流电机原理图21第三节第三节蓝牙模块蓝牙模块一、一、蓝牙模块蓝牙模块 HC-06 介绍介绍1、 采用 CSR 主流蓝牙芯片,蓝牙 V2.0 协议标准2、 核心串口模块工作电压 3.3V。带底板的可以为 3.1-6.5V 之间3、 波特率为 1200,2400,4800,9600, 192

58、00,38400,57600,115200用户可设置4、核心模块尺寸大小为:28mm x 15 mm x 2.35mm。底板尺寸27mm*47mm5、 工作电流:配对中为 50MA,配对完毕通信中为 28MA6、 休眠电流:不休眠7、 用于 GPS 导航系统,水电煤气抄表系统,工业现场采控系统。8、 可以与蓝牙笔记本电脑、电脑加蓝牙适配器、PDA 等设备进行无缝连接9、 出厂默认参数:从机,波特率:9600,N,8,1。配对密码:1234二二、ATAT 命令集如下命令集如下1、测试通讯发送:AT(返回 OK,一秒左右发一次) 返回:OK2、改蓝牙串口通讯波特率发送:AT+BAUD1返回:OK1

59、200发送:AT+BAUD2返回:OK24001-12002-24003-48004-96005-192006-384007-576008-1152009-230400A-46080022B-921600C-1382400不建议用在超过 115200 的波特率,信号的干扰会使系统不稳定。设置超过 115200 后用电脑无法使用, 要用单片机编程于高于 115200 才能使用此波特率和重新发 AT 命令设低波特率用 AT 命令设好波特率后,下次上电使用不需再设,可以掉电保存波特率。3、改蓝牙名称发送:AT+NAMEname返回:OKname参数 name:所要设置的当前名称,即蓝牙被搜索到的名称

60、。20 个字符以内。例:发送 AT+NAMEbill_gates返回 OKname这时蓝牙名称改为 bill_gates,参数可以掉电保存,只需修改一次。PDA端刷新服务可以看到更改后的蓝牙名称。4、改蓝牙配对密码发送:AT+PINxxxx返回:OKsetpin参数 xxxx:所要设置的配对密码,4 个字节,此命令可用于从机或主机。从机则是适配器或手机弹出要求输入配对密码窗口时, 则手工输入此参数就可以连接从机。主机则是在用主蓝牙模块连数码相机时,数码相机是从机,找到相机的配对密码,再设入主蓝牙模块,则主蓝牙模块就可以自动连接相机。例:发送 AT+PIN8888返回 OKsetpin这时蓝牙配

61、对密码改为 8888,模块在出厂时的默认配对密码是 1234。参数可以掉电保存,只需修改一次。第四节第四节 本章小结本章小结本章的任务主要介绍了各个模块的核心芯片,并完成了电路设计工作,本设计由 51 单片机最小系统、HC-06 蓝牙模块、L298 电机驱动模块、电源电路、小车底板等组成。然后确定设计硬件模块之间的电路连接图,为实物硬件制作做足准备。23第第五五章章系统软件程序设计系统软件程序设计这次设计可以用 C 语言编程序, 也可以用汇编语言编程序, 由于本次设计中程序系统用 C 语言编写程序。 此次设计所选用的单片机是 AT89C52 单片机,其 C 语言语法和结构和标准 C 语言基本相

62、同,只是有了相应的扩充,用到的编译软件是 Keil C。 下面结合我的程序编译简要介绍以下 Keil C 的编译环境的特点。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil C51 在使用前一定要先进行注册,否则程序过大会造成编译时出现地址使用错误。程序在编译时就遇到过这种问题。在单个程序运行时没有错误,但是一整合编译后出现地址冲突现象。这个问题困扰了很长一段

63、时间,通过查资料发现若是 KeilC51 软件没有注册的话使用时当程序过大就会出现地址冲突现象。在注册完成后,程序编译能顺利通过15。第第一一节节主程序的设计主程序的设计在本次设计中,主程序主要是在单片机的控制下,对蓝牙模块输入的信息进行存储分析,来控制电机驱动,以达到控制小车的前进、后退、左转、右转。在这个过程中,单片机首先进行初始化,包括设置单片机各个端口的方向,各个变量的初始化,以及单片机振荡频率的校准等。单片机定时对蓝牙模块串口读数据,如果串口的数据读出,则对读出的数据进行分析,读出的数据如果为A、B、C、D 则分别对应小车的前进、后退、左转、右转。小车硬件系统软件设计的流程图如图 5

64、.1 所示。24图 5.1 小车动作流程图25第二节第二节 手机端程序的设计手机端程序的设计本程序是基于 Android 21 系统,所用开发工具为 Eclipse 集成开发环境,Eclipse 是著名的跨平台的自由集成开发环境(IDE)。最初主要用来 Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如 C+、Python 和Android 的开发工具,在此开发环境下开发软件非常的方便。首先设计本系统手机端软件的程序界面,为了尽快实现程序的功能,本程序没有对软件界面设计做特别美化的设计,仅包含我们所用到的几个按钮和图形显示,以实现我们的功能为最大目标。下面介绍 Android

65、 相关资源文件的作用16、17:1、assets 文件夹:此文件夹也可以存放资源文件,而且/assets 目录下的资源文件不会在 R.java 自动生成 ID, 所以读取/assets 目录下的文件必须指定文件的路径(url 的路径为:)。除此之外,我们还可以通过 AssetManager 类来访问这些文件。打开文件时,会把 apk 文件当做 zip 文件进行解压读取。但是有文件大小有限制:不能超过 1M(android2.2 好像放宽(或者取消)了这个限制(至少可以存放10M,具体没有测试。)。2、res 文件夹:主要用来存放资源。此文件夹下可以创建子文件,常见的有: 动画 anim, 图片

66、 drawable, 颜色 color,菜单 menu, 布局 layout, 常量值 values,详细如下:(1)anim 文件夹:后缀名为.xml。动画文件都放在这里。(2)drawable 文件夹: 用于存放图片资源,图片或者 xml。图片格式,有png,9.png,jpg,gif 都行。xml 文件通常为自定义的形状 shape 或图片选择器类selector 似的东西,就是不同状态下不同的图片,用于设置 background 的。 对分辨率笼统的分,可以分为高中低三种分辨率。(3)color 文件夹:用于存放 color 列表,和 drawable 的 xml 一样,表示不同状态下的不同颜色(4)menu 文件夹:菜单资源文件夹。(5) layout 文件夹:布局文件夹。此文件夹的名字也是可以起到屏幕适配的功能的。横竖屏:layout-land|port;分辨率:layout-1280 x720(6) values 文件夹:存放常量值的文件夹。里面常见的 xml 文件为:26arrays.xml : 资源数组;colors.xml : 颜色值;dimens.xml : 像素

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!