基于Androi手机控制的智能遥控器.docx

上传人:b****6 文档编号:6428745 上传时间:2023-01-06 格式:DOCX 页数:18 大小:738.41KB
下载 相关 举报
基于Androi手机控制的智能遥控器.docx_第1页
第1页 / 共18页
基于Androi手机控制的智能遥控器.docx_第2页
第2页 / 共18页
基于Androi手机控制的智能遥控器.docx_第3页
第3页 / 共18页
基于Androi手机控制的智能遥控器.docx_第4页
第4页 / 共18页
基于Androi手机控制的智能遥控器.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

基于Androi手机控制的智能遥控器.docx

《基于Androi手机控制的智能遥控器.docx》由会员分享,可在线阅读,更多相关《基于Androi手机控制的智能遥控器.docx(18页珍藏版)》请在冰豆网上搜索。

基于Androi手机控制的智能遥控器.docx

基于Androi手机控制的智能遥控器

基于Android手机控制的智能遥控器

摘要:

为了克服家用电器专用遥控器的缺陷,结合智能家居的相关概念和技术,提出一种基于Android手机的智能遥控器方案。

利用Android平台的应用软件,通过本地蓝牙把控制信号发送到蓝牙模块,单片机通过蓝牙模块接收到Android平台发送过来的信号,进行相应的处理,接着通过红外发射模块将结果信号发射出去,从而实现智能手机遥控电器的功能。

智能Android系统手机的普遍性将使得更多的智能化人性化的产品与之相结合,推动多功能,便携,智能为一体的发展趋势。

关键词:

智能遥控器;Android;蓝牙通信;红外线

Android-basedintelligentremotecontroller

Abstract:

Inordertoovercomethedefectofhouseholdappliancesremotecontroller,weputforwardaproposalabouthowthesmarthone,whichhasinstalledAndroidSystem,actsasaremotecontrollerbasedontherelevantconceptsandtechniquesofintellignethousehold.It’sdesignedthatMono-ChipComputerreceivessignalsfromtheAndroidPlatformbybluetoothmodule,whichcanreceivecontrolsignalsthroughlocalbluetoothbyusingapplicationsofAndroidPlatform,andprocessesthemsothatwecanlauchtheresultsignalsusingtheinfraredemissionmoduletoachievethefunctionofcontrollingelectricappliancesetbysmartphone.Thepopulationoftheandroidsmartphonewillbringmoreintelligentandhumanizedproductswiththemandthatisabletopromotethedevelopmentofmultifunction,convienceandintelligence’scooperation.

Keywords:

intelligentremotecontroller;android;bluetoothcommunication;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中添加允许使用蓝牙功能的权限

android:

name="android.permission.BLUETOOTH"/>

name="android.permission.BLUETOOTH_ADMIN"/>。

并且界面的窗体均为纵向显示,这里设置窗体显示通过标签属性android:

screenOrientation=“portrait”。

设置多屏幕分辨率支持

android:

smallScreens="true"

android:

normalScreens="true"

android:

largeScreens="true"

android:

anyDensity="true"

/>

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实物图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1