基于Android的蓝牙遥控小车设计

上传人:y****3 文档编号:13137205 上传时间:2020-06-05 格式:DOC 页数:22 大小:2.24MB
返回 下载 相关 举报
基于Android的蓝牙遥控小车设计_第1页
第1页 / 共22页
基于Android的蓝牙遥控小车设计_第2页
第2页 / 共22页
基于Android的蓝牙遥控小车设计_第3页
第3页 / 共22页
点击查看更多>>
资源描述
. . 成 绩 评 定 表 学生姓名 班级学号 专 业 电子信息科 学与技术 课程设计题目 基于 Android 的蓝牙小车 评 语 组长签字: 成绩 日期 2015 年 3 月 日 . . 课程设计任务书 学 院 信息科学与工程学院 专 业 电子信息科学与技术 学生姓名 班级学号 课程设计题目 基于 Android 的蓝牙小车 实践教学要求与任务: 基于 Android 的蓝牙小车的设计功能: 1.能够实现蓝牙连接。 2.能通过手机蓝牙客户端操控小车前进、后退、左转、右转、停止。 工作计划与进度安排: 2015 年 3 月 23 日: 布置任务, 查找资料 2015 年 3 月 24-25 日: 画电路原理图、焊接硬件 2015 年 3 月 26-27 日: 编程调试,撰写报告 2015 年 3 月 28 日: 验收答辩 指导教师: 2015 年 3 月 日 专业负责人: 2015 年 3 月 日 学院教学副院长: 2015 年 3 月 日 . . 摘 要 阐述一种通过手机蓝牙遥控小车行走的软、硬件设计。手机蓝牙 作为客户端,小车上的蓝牙 模块 HC-05 作为服务端。客户端采用 Eclipse 开发环境,J2ME 编程,服务端采用单片机控制。双方通过串 口仿真协议进行通信,单片机驱动直流电机控制小车行动。实验结果 表明,小车可以接收手机遥控信号并灵活地进行前行、倒退、左转、 右转和停止等功能。 关键词: 89c52,hc-05,遥控小车,Andriod . . 目录 1 引言 .1 1.1 课题设计目的及意义 .1 1.1.1 设计的目的 .1 1.1.2 设计的意义 .2 2 方案比较与论证 .2 2.1 无线单元方案与比较 .2 3 硬件电路设计 .4 3.1 总体设计 .4 3.2 单片机模块 .4 3.2.1 STC89C52 简介 .4 3.2.2 L298N 驱动模块及原理介绍 .5 3.2.3 蓝牙模块 .6 4 软件设计 .7 4.1 智能车运动控制程序 .7 4.2 Android 蓝牙客户端设计与实现 .8 4.2.1 客户端界面设计 .9 4.2.2 BluetoothCar 类设计 .9 4.2.3 单片机 C 语言代码 .9 . . 5 实验结果及分析 .15 6 心得体会 .16 参考文献 .16 . . 1 引言 1.1 课题设计目的及意义 1.1.1 设计的目的 遥控小车起源于美国,由于政府对无线遥控小车研发的资助以及 相关资助的推动作用,日本、美国、德国等工业大国在遥控小车技术 上占据着明显优势。 我国的无线遥控小车研究工作始于 20 世纪中后 期,在国家的 863、973 等技术发展计划的重点支持下,国内已大范 围地进行无线遥控小车的研究。在研发应用方面取得了重要发展,但 是与国际先进还存在一定的差距。 无线遥控实现方法包括蓝牙、红 外、射频几种,其中蓝牙技术具有一定优势。目前在信息家电方面应 用正在铺。 遥控小车起源于美国,由于政府对无线遥控小车研发的 资助以及相关资助的推动作用,日本、美国、德国等工业大国在遥控 小车技术上占据着明显优势。 我国的无线遥控小车研究工作始于 20 世纪中后期,在国家的 863、973 等技术发展计划的重点支持下,国 内已大范围地进行无线遥控小车的研究。在研发应用方面取得了重要 发展,但是与国际先进还存在一定的差距。 无线遥控实现方法包括 蓝牙、红外、射频几种,其中蓝牙技术具有一定优势。目前在信息家 电方面应用正在铺开。各种家电共用遥控,并可组网与公众互联网相 接,共享有用信息。目前蓝牙技术实现无线遥控的短板在于传输距离 . . 短和芯片价格高方面。随着科技发展,这些问题正在逐步得以解决。 无线遥控机器人有着广阔的应用前景,但是目前国内的无线系统在传 输可靠 性、传输速度、抗干扰能力等方面仍有不足,亟待提高。 1.1.2 设计的意义 随着家用电器的越来越普及和人们生活节奏的加快,人们对电器 的依赖性进一步提高,对电器的功能要求也进一步增大。现有每个普 通家庭中的遥控器包括空调遥控器、电视遥控器、DVD 遥控器、汽 车遥控器、门窗遥控器等,门类繁多且不通用,而另一方面,手机已 成为人人必备的工具,如果可以用我们必备的手机去遥控所有这些家 用电器,可摆脱将来对专用红外遥控面板的依赖,一机在手,万物尽 在掌握之中。因此,本论文先设计一种手机对智能遥控车的控制方案, 利用本系统的控制模块可扩展至对所有家电的控制。 2 方案比较与论证 2.1 无线单元方案与比较 无线控制是为了能够实现对智能车的远程遥控,使小车可以在遥 控状态下代替人类完成一些危险项目。目前短距离无线数据传输技术 主要有两大类,一类是基于 IrDA 红外无线通信技术,另一类是基于 ISM(Industrial Scientific Medical)频段射频通信技术。较为主流的几种 . . 通信技术之间既存在着相互竞争,但又在某些实际应用领域内相互补 充、相互配合,究竟选择何种技术更优越,需要由具体的工作环境来 决定。表 1-3 所示为四种短距离无线通讯技术主要性能参数。 蓝牙技术 红外技术 WiFi 技术 ISM 射频技 术 通信距离 100m 10m 300m 1000m 通信速率 10Mb/s 16Mb/s 16Mb/s 500kb/s 通信频率或 波长 2.4GHz 0.75um-24um 2.4GHz 315、433.8 68、915 和 2400MHz 频率申请 否 否 否 否 开发难度 易 难 难 易 模块成本 较低 很低 较低 低 结论:通过表格可以看出,他们在近距离通讯领域都可以提供可靠的 通信服务,但是同时他们的应用有着各自的技术架构的限制。在以上 的几种中,我最终选择了蓝牙无线传输方式。 . . 3 硬件电路设计 3.1 总体设计 智能车主要现实远程来控制智能车的运动。其主要模块为:单片机 模块、无线通讯模块、电机驱动模块。其主要结构框图如下图所示。 总体仿真电路图: . . 3.2 单片机模块 3.2.1 STC89C52 简介 STC89C52 是一种带 8K 字节闪烁可编程可擦除只读存储器 (FPEROM-Flash Program able and Erasable Read Only Memory)的低 电压,高性能 COMOS8 的微处理器。该器件采用 ATMEL 高密度非 易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚 相兼容。 STC89C52 特性:通用 I/O 口,复位后为:P1/P2/P3/P4 是准双向 口/弱上拉(普通 8051 传统 I/O 口) ;P0 口是开漏输出,作为总线扩 展用时,不用加上拉电阻,作为 I/O 口用时,需要加上拉电阻; ISP(在系统可编程) /IAP(在应用可编程) ,无需专用编程器,无需 专用仿真器可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序, 数秒即可完成;具有 EEPROM 功能;具有看门狗自动复位功能;共 有 3 个 16 位定时器/ 计数器,其中定时器 0 还可以当成 2 个八位定时 器使用;外部中断 4 路,下降沿中断或低电平触发中断,PowerDown 模式可由外部中断低电平触发中断方式唤醒。 . . 单片机最小系统原理图 3.2.2 L298N 驱动模块及原理介绍 蓝牙小车采用直流电机的驱动采用 L298N 驱动模块,其原理图如下: L298N 驱 动 模 块 原 理 图 L298N 驱动模块采用 ST 公司原装全新的 L298N 芯片,采用 SMT 工艺稳定性高,采用高质量铝点解电容,使电路温度工作。可 以直接驱动两路 3-16V 直流电机,并提供了 5V 输出接口(输入最低 只要 6V) ,可以给 5V 单片机电路供电(低纹波系数) ,支持 3.3V . . MCUARM 控制,可以方便的控制电流电机速度和方向,是智能小车 必备利器。 驱动状态编码 3.2.3 蓝牙模块 蓝牙模块支持短距离无线传输,可以通过手机与蓝牙模块的配对 实现对小车的无线控制。本小车采用的是 HC-05 蓝牙芯片,在 HC- 05 芯片里已经将蓝牙协议封装好,只需要通过串口通信实现上位机 (手机)与下位机(51 单片机)的无线通信。 蓝牙模块中蓝牙芯片的 TXD 与 RXD 分别于单片机的 RXD 与 TXD 相接, VCC 与单片机电源,GND 与单片机 GND 相连。HC-05 使用 R1114 作为稳压芯片,将单片机提供的 5V 电压转换为 3.3V 的 低电压,为蓝牙芯片供电。 蓝牙芯片应用范围:可用于 GPS 导航,水电煤气抄表系统,工 业现场控制,与移动设备无线连接。 . . 4 软件设计 4.1 智能车运动控制程序 在本次设计中,主程序主要是在单片机的控制下,对蓝牙模块输 入的信息进行存储分析,来控制电机驱动,以达到控制小车的前进、 后退、左转、右转。在这个过程中,单片机首先进行初始化,包括设 置单片机各个端口的方向,各个变量的初始化,以及单片机振荡频率 的校准等。单片机定时对蓝牙模块串口读数据,如果串口的数据读出, 则对读出的数据进行分析,读出的数据如果为 0 x01、0 x02、0 x03、0 x04、0 x05 则分别对应小车的前进、后退、左 转、右转、停止。 . . 主程序流程图 4.2 Android 蓝牙客户端设计与实现 蓝牙客户端是用户控制智能车的一种手段。智能车蓝牙控制客户 端是基于 Android 平台开发的应用程序。客户端选择在 Eclipse 和 Android SDK 组合下使用 Java 语言进行开发。客户端的开发主要涉及 到客户端界面的设计和功能代码的编写。 . . 4.2.1 客户端界面设计 根据智能车的实际情况,客户端选择设计成类似赛车类游戏的界 面。界面通过 XML 来标记和存储资源。 4.2.2 BluetoothCar 类设计 BluetoothCar 类主要实现访问安卓手机蓝牙设备和发送智能车运 动指令。 4.2.3 单片机 C 语言代码 #include #include unsigned int tmp; unsigned int c=0; sbit EN_left_wheel=P20; sbit EN_right_wheel=P21; sbit left_wheel_go_ahead=P22; sbit left_wheel_go_back=P23; sbit right_wheel_go_ahead=P24; sbit right_wheel_go_back=P25; . . void init(); void ctrl(); void turn_left(); void turn_right(); void go_ahead(); void go_back(); void stop(); void main() init(); while(1) if(RI=1) RI=0; tmp=SBUF; ctrl(); void init() . . ES=0; SCON=0 x50; TMOD=0 x20; TH1=0 xFD; TL1=0 xFD; PCON TR1=1; TI=1; RI=0; ES=1; EN_left_wheel=1; EN_right_wheel=1; left_wheel_go_ahead=0; left_wheel_go_back=0; right_wheel_go_ahead=0; right_wheel_go_back=0; void ctrl() . . switch(tmp) case 0 x01: turn_left(); break; case 0 x02: turn_right(); break; case 0 x03: go_ahead(); break; case 0 x04: go_back(); break; case 0 x05: stop(); . . default: break; void turn_left() left_wheel_go_ahead=0; left_wheel_go_back=1; right_wheel_go_ahead=1; right_wheel_go_back=0; void turn_right() left_wheel_go_ahead=1; left_wheel_go_back=0; right_wheel_go_ahead=0; right_wheel_go_back=1; void go_ahead() left_wheel_go_ahead=1; . . left_wheel_go_back=0; right_wheel_go_ahead=1; right_wheel_go_back=0; void go_back() left_wheel_go_ahead=0; left_wheel_go_back=1; right_wheel_go_ahead=0; right_wheel_go_back=1; void stop() left_wheel_go_ahead=0; left_wheel_go_back=0; right_wheel_go_ahead=0; right_wheel_go_back=0; . . 5 实验结果及分析 用 Keil 编写程序编译运行通过后,通过串行下载口把 BluetoothCar.hex 文件下载到单片机中,通过手机客户端发送信息, 蓝牙小车实现前进,后退,左转,右转,停止功能。 实物连接图如下: 以上是蓝牙小车静止时的图片,当手机客户端按下前进按钮后,小车 两个轮子都前进;当手机客户端按下后退按钮时,小车两个轮子都后 退;当手机客户端按下左转按钮后,小车做轮后退右轮前进;当手机 客户端按下右转按钮时,小车左轮前进右轮后退。 . . 6 心得体会 通过这一次做蓝牙小车,我收获了很多。开始对单片机串口通信 不够了解,在使用 HC-05 芯片后,对 SBUF 寄存器有了深入了解。 实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上 谈兵。通过本次课设,我学会了遇到问题多查多问,综合运用所学的 一些基本理论、基本知识、基本技能,培养自己独立分析和解决实际 问题的能力,通过试验推断结论;培养严肃、认真、科学的工作作风; 注重团队合作精神,学会虚心听取他人的意见。 参考文献 1 张齐 朱宁西 单片机应用系统技术北京:电子工业出版社, 2007 2 雷夫容 张小林51 单片机常用模块设计北京:清华大学出版 社,2009 3 黄鑫 马善农基于 CPLD 的电子琴研究与设计北京:科技广场, 2008 4 赵亮 侯国锐单片机 C 语言编程与实例M北京:人民邮电出 版社,2008 5 徐新艳单片机原理、应用与实践M北京:高等教育出版社, 2009
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 模板表格


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

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


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