基于Androi手机控制的智能遥控器Word下载.docx
- 文档编号:19441779
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:18
- 大小:738.41KB
基于Androi手机控制的智能遥控器Word下载.docx
《基于Androi手机控制的智能遥控器Word下载.docx》由会员分享,可在线阅读,更多相关《基于Androi手机控制的智能遥控器Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
infrared
第一章概述
目前,市面上的家用电器如电视、空调、DVD等都有自己专用的红外遥控器;
另外,还有一种叫万能遥控器,可以实现控制不同品牌的家用电器。
它们都具有体积小、功耗低、成本低等优点。
但缺点也很明显,如通信范围小,穿透力差,要求通讯双方具有无障碍直线信道等。
Android系统是Google公司推出的开源手机平台,采用Linux内核,是一
个标准化的、开放式的手机平台[1]。
它具有强大的无线网接入能力,丰富、便捷的开发工具,和开放的平台等特点。
基于当前安卓智能手机的普及,为了满足智能家居的需求,本文设计了一款基于Android手机控制的智能遥控器。
把安卓智能手机作为控制平台,采用蓝牙通信接口,把安卓智能手机与家用电器结合在一起,从而实现手机的无线智能遥控的功能。
第二章设计原理
2.1方案选择
红外协议需要载波调制信息,设计方案有:
方案一:
采用555定时器调制38KHz载波信号供单片机加载信息;
555
定时器成本低,性能可靠,但占空比调制困难,频率确定无法改变。
方案二:
采用单片机内部的PWM机制调制38KHz载波信号加载信息;
这个方案节约空间、抗噪性能强,可随时改变频率与占空比,但程序不易编写
众多遥控器一体对数据库存储需求大,方案设计有:
采用AT24Cxx扩展外部存储器;
采用自带高存储容量的存储器;
综合以上考虑,本设计采用STC15系列单片机,这款单片机有多8位,7位,6位脉宽调节模式,能满足本方案的38KHz需求,且此单片机Flash程序存储区有61K,不需要扩展存储空间也能满足加载万能遥控器的数据库。
功能满足的情况下,也为了不让硬件过剩的原则,我们采用了载波方案二和数据库存储方案二。
2.2电路设计
本设计总模块框图
图2-2总模块框图
电路设计主要分为电源模块,蓝牙模块,单片机控制模块,红外发射模块组成。
其中电源模块采用电源适配器负责为其他模块电路提供稳定的5V电压。
蓝牙模块负责与手机蓝牙经行相互通信,传递控制信息;
单片机控制模块负责识别以及处理从蓝牙模块传递过来的控制信息,加载数据库
信息到PWM调制的38KHz载波上驱动红外发射模块;
红外发射模块负责发送携带信息的红外光波,电视或空调等接收控制。
2.3蓝牙智慧盒软件设计
IAP15F2K61S2单片机程序主要是用来接收、分析、处理蓝牙模块过来的数据,完成以后通过红外模块发射到电器上,最终达到遥控电器的目的。
2.3.1蓝牙智慧盒软件流程框图
软件采用模块化编程,把遥控器分为四种模式:
蓝牙搜索模式:
①蓝牙智慧盒开机②Android应用软件退出都会进入此模式
自动搜索模式:
用户在用自动搜索功能匹配电视机时进入此模式
手动搜索模式:
用户在用手动搜索功能匹配电视机时进入此模式
用户模式:
用户在匹配电视完成后,进行遥控电视进入此模式
每种模式都有编写相应函数供其调用。
2.3.2红外编码程序
本软件包含了3种红外编码格式:
三星的TC9012,松下的LC7464M和NEC的uPD6121G。
受篇幅限制,这里主要介绍TC9012编码。
1、红外载波程序
⑴TC9012载波要求:
频率38KHz占空比1/3
载波波形参考图:
38KHz1/3载波实测波形图:
38.46KHz1/3占空比
由载波实测波形图可以看出,实测波形与参考波形频率误差为1.2%,占空比误差为-0.6%,满足TC9012载波要求,说明我们用PWM产生的38KHz载波的程序是正确的,下面是具体的程序代码。
⑵38KHz载波核心代码:
SYSclk=22118400Hz
PWM0频率为:
SYSclk/(65536-[TH0,TL0])/64=22118400/(65536-[TH0,TL0])/64=38400Hz
2、红外发送数据程序
TC9012的一帧数据中含有32位码,包含两次8位用户码,8位数据码各8位数据码的反码。
引导码由4.5ms的载波和4.5的载波关断波形所构成,以作为用户码、数据码的先导。
引导码参考图
引导码实测:
有载波4.52ms引导码实测:
无载波4.52ms
由以上两实测图可以看到,引导码有载波误差0.4%,无载波误差0.4%,是满足TC9012引导码开载波4.5ms+关载波4.5ms的要求的。
数据0实测:
高电平0.56ms数据0实测:
高低电平总长1.14ms
由以上两实测图可以看到,数据0高电平误差0%,高低电平总长误差1.3%,是满足TC9012数据0高0.56ms,总长1.125ms的要求的。
数据1实测:
高电平0.56ms数据1实测:
高低电平总长2.26ms
由以上两实测图可以看到,数据0高电平误差0%,高低电平总长误差0.4%,是满足TC9012数据1高0.56ms,总长2.25ms的要求的。
2.4Android应用软件设计
本应用软件的设计是为了能够搜索,连接,控制我们的蓝牙智慧盒,从而实现远程控制目的。
开发工具:
Eclipse集成开发环境,JDK,Android-SDK。
编译版本:
android2.3.3。
2.4.1Android应用流程介绍
下面是应用的具体流程;
2.4.2资源规划和权限配置
为了兼容不同手机屏幕尺寸和分辨率,放了三套不同分辨率和尺寸的图片分放在res/drawable-hdpi,res/drawable-mdpi,res/drawable-xhdpi目录。
本应用设计用到本地蓝牙适配器功能,多分辨率支持功能,窗体纵向显示功能的使用,在AndroidMainfest.xml中添加允许使用蓝牙功能的权限
<
uses-permission
android:
name="
android.permission.BLUETOOTH"
/>
uses-permissionandroid:
android.permission.BLUETOOTH_ADMIN"
。
并且界面的窗体均为纵向显示,这里设置窗体显示通过<
activity>
标签属性android:
screenOrientation=“portrait”。
设置多屏幕分辨率支持<
supports-screens
android:
smallScreens="
true"
normalScreens="
largeScreens="
anyDensity="
/>
2.4.3欢迎窗体的设计与实现
应用启动后是一个欢迎窗体,欢迎窗体全屏显示,3秒钟后自动跳转到TV主窗体。
欢迎窗体的实现:
1)在onCreate()方法中初始化窗体信息,加载background为drawable目录下的welcome图片的布局文件activity_welcom.xml。
2)创建一个线程类实现3秒后自动跳转。
2.4.4TV主窗体的设计与实现
TV主窗体的功能结构:
1)图像按钮监听事件:
连接状态为STATE_CONNECTED情况下,调用蓝牙服务的同步write方式发送3个字节控制信息给蓝牙智慧盒。
2)Handler更新UI机制:
创建一个handler类,当收到蓝牙服务反馈信息或读取到蓝牙智慧盒反馈信息时,更新UI界面提示用户。
3)蓝牙连接Activity参数捕捉:
捕捉用户选择的蓝牙设备,并创建一个蓝牙服务类,传递此设备和handler。
启动蓝牙服务开始蓝牙连接。
4)菜单监听事件:
捕捉用户选择菜单的动作进行相应处理。
菜单有:
a蓝牙连接:
跳到蓝牙搜索连接窗体。
b手动搜索或自动搜索:
连接状态为STATE_CONNECTED情况下,调用蓝牙服务的同步write方式写相应的3个字节控制信息给蓝牙智慧盒。
c程序退出:
系统退出。
5)捕捉返回事件:
防止用户误操作增加了温馨提示功能,捕捉back事件onkeydown(),创建一个AlertDialog类,当用户点击确定时,程序退出,否则返回主界面。
2.4.5蓝牙服务
蓝牙服务是一个service类,提供蓝牙的连接,状态反馈,线程读写数据,启动和停止方法。
1)蓝牙连接:
device.createRfcommSocketToServiceRecord(MY_UUID)获取套接口,mySocket.connect()套接口远程连接蓝牙智慧盒。
并且通过bundler传递message给UI界面更新。
2)获取连接状态方法:
返回当前蓝牙服务的状态。
3)Start和Stop方法:
线程的初始化和关闭线程。
4)同步Write方法:
防止多线程的干扰,采用关键字synchronized同步写方法。
创建一个线程类,传递参数byte[]写到套接口的字节流outputstream中。
第三章调试与测试
功能测试:
通过以上测试我们可以看到,本作品是能够达到我们的设计要求。
结论
基于Android手机的智能遥控器产品新颖,实用方便,倡导绿色、环保的生活理念,具有经济、社会效益。
从用户的角度出发,多功能、低成本、强适应和人性化使得该产品将会获得发展契机。
参考文献
[1]EdBurnette.Hello,Android[M].USA:
PragmaticProgrammers,LLC,2010年
[2]林小茶.C语言程序设计(第二版)[M].北京:
中国铁道出版社,2007年.
[3]郭现杰,张权.从零开始学Java[M].北京:
电子工业出版社,2012年.
[4]翟大昆,陈春茶.Android项目开发详解[M].北京:
机械工业出版社,2012年.
[5]刘焕成.工程背景下的单片机原理及系统设计[M].北京:
清华大学出版社,2008年.
[6]高彩丽,许黎民,袁海等.Android应用开发范例精解[M].北京:
清华大学出版社,2012年.
附录1主程序篇幅有限只附录部分核心程序
核心子程序:
38KHZ红外载波程序核心代码:
TC9012发码函数程序:
附录2原理图
附录3实物图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Androi 手机 控制 智能 遥控器