基于安卓手机蓝牙控制的智能小车设计 - 图文(6)

2019-04-22 21:31

一、蓝牙模块HC-06介绍

第三节 蓝牙模块

1、 采用CSR主流蓝牙芯片,蓝牙V2.0协议标准

2、 核心串口模块工作电压3.3V。带底板的可以为3.1-6.5V之间 3、 波特率为1200,2400,4800,9600, 19200,38400,57600,115200用户可设置

4、 核心模块尺寸大小为:28mm x 15 mm x 2.35mm。底板尺寸27mm*47mm

5、 工作电流:配对中为50MA,配对完毕通信中为28MA 6、 休眠电流:不休眠

7、 用于GPS导航系统,水电煤气抄表系统,工业现场采控系统。 8、 可以与蓝牙笔记本电脑、电脑加蓝牙适配器、PDA等设备进行无缝连接

9、 出厂默认参数:从机,波特率:9600,N,8,1。配对密码:1234

二、AT命令集如下

1、测试通讯

发送:AT(返回OK,一秒左右发一次) 返回:OK 2、改蓝牙串口通讯波特率

发送:AT+BAUD1 返回:OK1200 发送:AT+BAUD2 返回:OK2400 1---------1200 2---------2400 3---------4800 4---------9600 5---------19200 6---------38400 7---------57600 8---------115200 9---------230400 A---------460800

21

B---------921600 C---------1382400

不建议用在超过115200的波特率,信号的干扰会使系统不稳定。

设置超过115200后用电脑无法使用,要用单片机编程于高于115200才能使用此波特率和重新发AT命令设低波特率

用AT命令设好波特率后,下次上电使用不需再设,可以掉电保存波特率。 3、改蓝牙名称 发送:AT+NAMEname 返回:OKname

参数name:所要设置的当前名称,即蓝牙被搜索到的名称。20个字符以内。例:发送AT+NAMEbill_gates

返回OKname

这时蓝牙名称改为bill_gates,参数可以掉电保存,只需修改一次。PDA端刷新服务可以看到更改后的蓝牙名称。 4、改蓝牙配对密码 发送:AT+PINxxxx 返回:OKsetpin

参数xxxx:所要设置的配对密码,4个字节,此命令可用于从机或主机。从机则是适配器或手机弹出要求输入配对密码窗口时,则手工输入此参数就可以连接从机。主机则是在用主蓝牙模块连数码相机时,数码相机是从机,找到相机的配对密码,再设入主蓝牙模块,则主蓝牙模块就可以自动连接相机。 例:发送AT+PIN8888

返回OKsetpin

这时蓝牙配对密码改为8888,模块在出厂时的默认配对密码是1234。参数可以掉电保存,只需修改一次。

第四节 本章小结

本章的任务主要介绍了各个模块的核心芯片,并完成了电路设计工作,本设计由51单片机最小系统、HC-06蓝牙模块、L298电机驱动模块、电源电路、小车底板等组成。然后确定设计硬件模块之间的电路连接图,为实物硬件制作做足准备。

22

第五章 系统软件程序设计

这次设计可以用C语言编程序,也可以用汇编语言编程序,由于本次设计中程序系统用C语言编写程序。此次设计所选用的单片机是AT89C52单片机,其C语言语法和结构和标准C语言基本相同,只是有了相应的扩充,用到的编译软件是Keil C。下面结合我的程序编译简要介绍以下Keil C的编译环境的特点。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil C51在使用前一定要先进行注册,否则程序过大会造成编译时出现地址使用错误。程序在编译时就遇到过这种问题。在单个程序运行时没有错误,但是一整合编译后出现地址冲突现象。这个问题困扰了很长一段时间,通过查资料发现若是Keil C51软件没有注册的话使用时当程序过大就会出现地址冲突现象。在注册完成后,程序编译能顺利通过[15]。

第一节 主程序的设计

在本次设计中,主程序主要是在单片机的控制下,对蓝牙模块输入的信息进行存储分析,来控制电机驱动,以达到控制小车的前进、后退、左转、右转。在这个过程中,单片机首先进行初始化,包括设置单片机各个端口的方向,各个变量的初始化,以及单片机振荡频率的校准等。单片机定时对蓝牙模块串口读数据,如果串口的数据读出,则对读出的数据进行分析,读出的数据如果为A、B、C、D则分别对应小车的前进、后退、左转、右转。小车硬件系统软件设计的流程图如图5.1所示。

23

图5.1 小车动作流程图

24

第二节 手机端程序的设计

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

下面介绍Android相关资源文件的作用[16、17]:

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

2、res 文件夹:主要用来存放资源。此文件夹下可以创建子文件,常见的有:动画anim,图片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-1280x720

(6) values文件夹:存放常量值的文件夹。里面常见的xml文件为:

25


基于安卓手机蓝牙控制的智能小车设计 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于开发建设项目水土保持方案技术审查审批的要点 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: