怎样用安卓智能手机做红外万能遥控器
手机红外头制作方法
![手机红外头制作方法](https://img.taocdn.com/s3/m/40da7321fd4ffe4733687e21af45b307e871f9a1.png)
手机红外头制作方法
制作手机红外头的方法如下:
材料:
- 红外发射二极管(LED)
- 电阻
- 电线
- 热缩管或胶水
- 锡焊
- 铜线
- 塑料管(可选择直径适配手机红外接收器的管状物)
步骤:
1. 使用电阻限制红外发射二极管的电流。
根据红外发射二极管的规格,选择适当的电阻值。
将一个电线连接到红外发射二极管的长脚,并在另一段电线上焊接电阻。
2. 将电阻接在红外发射二极管的短脚上。
首先,使用锡焊在红外发射二极管的短脚上焊接一根短的铜线。
然后,在铜线的另一端,焊接电阻。
3. 使用热缩管或胶水固定红外发射二极管和电阻的连接点。
这可以防止电线松脱。
4. 将另一段电线焊接在电阻的另一端,并使用热缩管或胶水固定连接点。
5. 将红外发射二极管和电阻连接到塑料管上。
将红外发射二极管和电阻的电线从塑料管一端插入,然后用热缩管或胶水把它们固定在合适的位置。
完成上述步骤后,你已经制作了一个手机红外头。
将该红外头插入手机的耳机插孔或使用适配器插入手机的USB充电口,就可以使用手机的红外功能进行遥控操作了。
请注意,在进行以上操作之前,请确保你对电子器件和焊接有一定的了解,并在安全的环境中进行。
我来教大家DIY手机红外遥控器,可遥控电视空调!
![我来教大家DIY手机红外遥控器,可遥控电视空调!](https://img.taocdn.com/s3/m/1ada575bf11dc281e53a580216fc700abb68525c.png)
我来教⼤家DIY⼿机红外遥控器,可遥控电视空调!
想要你们的⼿机⽀持红外功能其实很简单,只要你⾃⼰动动⼿DIY⼀个红外装置就可以了,n年
轻⽤华,为的时候就已经⼀直在⽤这个,挺⽅便的!
声明千万别去商场⼲坏事啊,不然碰到不友好的⼈,去医院空调包间可就不好玩了,别问我为
什么!
下⾯开始发教程,其实这个DIY红外装置早在⼏年前都被玩烂⼤街的东
,⽹上的教程也⼀搜⼀⼤把但都不详细,我的教程还算是详细的了吧!
或者你去x宝买⼀个别⼈DIY好了的也可以,DIY红外发射器很简单,需要的材料也很简单
1:智能⼿机⼀部
2:3.5⽿机⾳频端⼦(可以拆⼀个不要的旧⽿机,这个应该⼤家都⼀⼤把吧)
3:红外⼆极管⼀个(旧遥控器上边拆或x宝,很便宜⼏分钱⼀个?)
4:电烙铁⼀个
5:下载遥控精灵
开始DIY
把3.5mm⽿机接⼝的外⽪剥掉,清理焊点
⽤电烙铁将红外线⼆级管接到刚才剥了⽪的⽿机头的左右声道,地线不接,个⼈测试只要你把⼆极管两根线接在左右声道上就OK,不分左右声道,也别接在地线上就可以!肯定有⼈要问哪是左右声道
这是已经焊好了的
当当当当~
DIY 成功!
然后为了美观,⽤胶带固定⼀下?或者你有热熔胶也⾏!
接下来也是最关键的时候,它会提⽰你没找到红外设备,现在把刚DIY好了的遥控装置插⼿机上,遥控精灵就⾃动识别出来了,这个时候你们还不能遥控,⾄关重要的⼀部软件设置,不然
你的红外装置没⽤!
,把灵敏度调到最⾼,zaza调100%
然后点添加遥控器界⾯,选择你要遥控的电视或者空调……
点击左上⾓开关按钮,如果空调或者电视没反应就点右下⾓的下⼀个,再点开关按钮,直⾄电视或者空调有反应点确定!好了,教程到此结束!。
红米Note红外万能遥控器怎么使用
![红米Note红外万能遥控器怎么使用](https://img.taocdn.com/s3/m/c2e7f216580102020740be1e650e52ea5518ce08.png)
红米Note红外万能遥控器怎么使用
红米Note红外万能遥控器怎么使用
1、打开红米手机中的“万能遥控”,进入万能遥控器主界面。
2、进入万能遥控器主界面之后,就点击右上角的“+”符号,进行添加新的设备。
3、现在就添加自己想要遥控的设备,就拿电视来举例,点击“电视”。
4、现在就选择自己要控制的.电视的牌子。
5、现在就把手机对准电视机,进行调试,按下面的测试开机按钮,如果可以控制就选择“是”。
6、和上面的步骤一样进行音量的调试。
7、调试完成后就可以控制电视了。
8、回到万能遥控器的主界面,可以看到刚刚添加的电视,以后想控制此电视的时候就不用重新添加了。
1号开源DIY项目:Android红外遥控器资源帖
![1号开源DIY项目:Android红外遥控器资源帖](https://img.taocdn.com/s3/m/b7521f3da9114431b90d6c85ec3a87c240288ad7.png)
1号开源DIY项目:Android红外遥控器资源帖1号开源DIY项目:Android红外遥控器资源帖项目简介:利用Android手机接收控制信号,通过蓝牙与单片机通信,驱动红外发射接收模块,完成红外遥控功能,项目会尽量兼容大家手上的51与ARM开发板。
项目介绍:关于项目目标、技术路线、开发时间等内容的详细介绍红外遥控编码介绍:红外遥控的基本原理与编码格式ZC-IR红外遥控模块使用注意事项:介绍了ZC-IR红外遥控模块使用的硬件接口资源:使用中断功能INT1(RC2/RP18)来进行红外编码的学习,使用PWM1/OC1(RB13/RP13)来进行38KHz红外编码的发射。
在使用ZC-IR模块时,需检查确认相应接口的0欧电阻焊接方式。
简单例程:红外遥控编码的学习康佳遥控器红外编码的学习简单例程:红外遥控编码的发射康佳遥控器红外编码的发射PIC单片机红外遥控程序的移植:介绍了如何将PIC单片机的红外遥控程序移植到51或ARM上视频:Android红外遥控器Android红外遥控器演示视频ZC-IR-V0.1红外模块电路图以及焊接方法介绍了ZC-IR红外模块的电路图以及焊接方法,有需要的同学可参考海信、康佳电视遥控编码已经获取到的海信、康佳电视遥控编码Android红外遥控器演示程序,含PIC程序与Android程序Android手机上的irRemote程序,通过蓝牙与ZC-ADK通讯,控制ZC-ADK驱动红外模块ZC-IR,完成康佳电视的遥控。
Android红外遥控器学习计划(一)——开发环境的建立与红外遥控编码的发射详细介绍了最基本的红外编码发射原理以及软件实现方法。
DIY让手机变成万能电视遥控器手机万能遥控器设置方法
![DIY让手机变成万能电视遥控器手机万能遥控器设置方法](https://img.taocdn.com/s3/m/6f19ae6f30b765ce0508763231126edb6f1a764f.png)
DIY让⼿机变成万能电视遥控器⼿机万能遥控器设置⽅法今天⼩编教教⼤家DIY让⼿机变成万能电视遥控器。
苹果,安卓的机器都可以、不过有些安卓的机⼦有⾃带红外的、⽐如三星安卓的机⼦除了⾳频接⼝的还有otg接⼝更⽜逼,otg⼝的有学习和编程功能。
需要准备的东西:1、⼿机安装软件:中⽂名字为“遥控精灵”,英⽂名字为“ZazaRemote”,是免费的!名称:遥控精灵(ZaZaRemote)2、⼆极管两个(如果你觉得材料可能有点难搞,旧的遥控器⾥⾯可以拆、修电器的地⽅也能捡到、我是拆了两个空调遥控器⾥的⼆极管)3、⽿机的插头⼀个步骤:⾸选讲两个⼆极管的正负相接(即a⼆极管的正极连接b⼆极管的负极,a⼆极管的负极连接b⼆极管的正极),然后⽤电烙铁将其焊到⽿机插头的左声道和右声道即可。
关于⼆极管的正负:关于原理的结构:这是成品图⽚:壳⼦是⽤TF读卡器的盖帽做的成品做好后,需要到遥控精灵软件内进⾏如下设置:1、⾼级设置⾥,宏按键发送间隔调⼩⼀点,建议200左右;2、ZaZa最⼤⾳量调到100,这样做是为了提⾼红外⼆级管的发射功率;3、ZaZa灵敏度调为低。
做了以上变更,保证你在操控灵敏度、成功率⽅⾯都有使⽤原装遥控器的感觉!最好先⽤电视试试、打开遥控精灵app,保持⽹络畅通、因为刚下载的app本地的遥控配置⽂件少、保持⽹络畅通会匹配云端的数据,知道匹配到可以遥控电器的⽂件,当然也可以输⼊电器型号搜索配置⽂件。
补充说明:1、有的⽿机插头是四节的,从头第⼀、⼆节是左、右声道,第三节是话筒,第四节是地,我们只⽤其中的第⼀、⼆节。
2、⽤双红外⼆极管的⽬的不是为了增强发射功率,通过我在⽹上查资料,类似遥控软件都有配套的红外发射装置出售,经过研究,他们出售的发射装置所有红外⼆极管都是特殊定制,不是咱们在普通遥控器上见到的这种。
查资料后得知,这类软件发射信号是双路的,也就是说咱们⽤普通的⼆级管的话,发送的信号都是单路,这就是为什么好多朋友做了能搜到电视但不能操控电视的原因。
手机充当遥控器
![手机充当遥控器](https://img.taocdn.com/s3/m/571120e8e009581b6bd9eb5c.png)
万能红外遥控器遥控创维、TCL成功!另有惊奇发现!发帖庆贺!》得到启发。
方法:1、添加设备--->tv--->刷新>是否连接到网络下载其他的遥控器代码(选择“是”)
2、这时会出现新的设备厂商如tcl或changhong,进入以后--->刷新>是否连接到网络下载其他的遥控器代码(选择“是”)>会出现很多tcl的电视系列,选择其中的进入--->刷新>是否连接到网络下载其他的遥控器代码(选择“是”)>会出现这一电视系列的几种电视类型(看一看自己的电视遥控器上可能有)>选择其中的就可以下载到软件中>这时,就有一个新的电视设备被添加了。
我的怎么没有反应啊?不知道其他人怎么样?
找到答案!通过上网更新代码,但必需设置成用cmnet链接才能更新。
[ 本帖最后由sunmoonyou 于2007-11-21 14:36 编辑]
附件
2007-11-20 15:43
QQ截图未命名.gif(44.63 KB)
创维代码
2007-11-20 15:52
konka.gif(44.37 KB)
konka
2007-11-20 15:52
tcl
2007-11-20 15:53
changhong
2007-11-20 15:53
海信。
自己做的万能遥控器,邻居嘴说丑,回去就做了一个!
![自己做的万能遥控器,邻居嘴说丑,回去就做了一个!](https://img.taocdn.com/s3/m/d58207e5b8f3f90f76c66137ee06eff9aef849e3.png)
自己做的万能遥控器,邻居嘴说丑,回去就做了一个!
你家一定和我家一样,有一大堆红外遥控器:有电视的、空调的、风扇的、电视盒子的。
如果有其中一个坏了,就会变得很麻烦,因为有些厂家根本不单卖遥控器啊。
前段时间我家就经历的这一切,电视遥控器坏了,修了几次也没有修好。
我就想能不能做一个万能遥控器,啥电器都能用,最后还真让我做出来了,成本部超过10块钱。
邻居来我家,和他说了之后,他说难看,没想到自己回家就做了一个。
下面我就将过程分享给大家。
首先你需要准备以下材料:
1、给安卓手机安装一个“遥控精灵”
2、3.5mm耳机接口一个(从废耳机上拆)
红外线二级管一个 (坏掉的遥控器里拆)
导线一根
热溶胶若干
热缩管一节
下面是正式的操作步骤:
1、把3.5mm的耳机接口外皮剥掉,清理焊点
2、把红外线二极管接到耳机口的左右声道,地线不用接(注意管脚接法,一般是导体面积最大的为负极、小的是正极,如下图
3、4)
3、用热熔较固定空隙,最后再用热缩管套上,就完成了!
4、完成后把它插入手机耳机孔,然后打开下好的遥控软件就能用了,方法自己摸索一下就行
如果无法遥控的试试以下方法:1、把音量调到最大;2、在高级设置中把灵敏度调到最低;3、在高级设置中切换音频反转试试。
当然这种自己制作的遥控器功能比较单一,只能用来遥控家里的电器。
无法像市场上卖的超级碗那样,有LED彩色夜灯,USB充电器、远程遥控这些功能。
下面是我给大家截的一个超级碗的图,里面大概讲了一下它的功
能
如果你只想当万能遥控器用,同时动手能力还可以的话可以按照上面的方法,自己做一个。
华为手机可以当做电视和空调遥控器用,再也不用满屋子找遥控器了
![华为手机可以当做电视和空调遥控器用,再也不用满屋子找遥控器了](https://img.taocdn.com/s3/m/4e8565a1dbef5ef7ba0d4a7302768e9951e76ef9.png)
华为手机可以当做电视和空调遥控器用,再也不用满屋子找遥
控器了
华为手机还可当做万能遥控器你知道吗?华为手机使用红外技术,通过自带的智能遥控APP,就可轻松遥控电视、空调、机顶盒、相机、网络盒子、DVD、投影仪等上千款以上的设备。
从此我们再也不用满屋子找遥控器了,一部华为手机就搞定了。
1、点击手机自带的“智能遥控”APP—点击“添加”—选择你要添加的遥控器类型,比如我在APP里添加的是机顶盒和电视机。
2、选择完机顶盒后—添加机顶盒的品牌—接下来要将手机对准机顶盒—点击电源键(当适配正确时,机顶盒会自动开启)最后点击保存即可。
3、之后会进入机顶盒控制界面,此时机顶盒遥控器已设置成功。
同时我们可以在当前机顶盒控制页面继续添加电视遥控器。
4、添加电视遥控器的操作步骤和机顶盒设置相同。
5、添加完电视后—点击电视图标—出现个小弹窗时选择相应电视机的品牌完成设置。
全部设置完成后,就可以在一个界面同时控制电视和机顶盒了。
手机万能遥控操作方法教程
![手机万能遥控操作方法教程](https://img.taocdn.com/s3/m/b9a5222749d7c1c708a1284ac850ad02df800752.png)
手机万能遥控操作方法教程
手机万能遥控操作方法教程
第一步:下载并安装万能遥控应用
在应用商店搜索“万能遥控”或者“遥控大师”,下载并安装对应的应用。
第二步:打开应用并选择设备类型
打开应用后,根据你需要遥控的设备类型(如电视、空调、音响等),选择对应的设备类型。
第三步:选择设备品牌
在设备类型中选择你所使用的设备品牌,例如索尼、三星、LG等。
第四步:连接设备
根据应用的引导,连接手机和遥控设备,通常可以通过红外线或者Wi-Fi连接。
第五步:学习遥控码
如果应用无法自动识别你的设备,可以选择“学习”功能,在手机上对着遥控器按键进行学习,使手机成为你的遥控器。
第六步:使用遥控功能
完成上述步骤后,你就可以在应用中使用手机来控制你的设备。
例如:调整电视
频道、调节空调温度等。
通过以上的步骤,你就可以使用手机作为万能遥控器来操控各种设备了。
希望这个教程对你有所帮助!。
DIY红外+智能手机=万能遥控器
![DIY红外+智能手机=万能遥控器](https://img.taocdn.com/s3/m/770d163eb90d6c85ec3ac629.png)
DIY红外+智能手机=万能遥控器目前好像只有:三星S4.,努比亚大牛,华为荣耀3、HTC one 等几款新机才有红外遥控功能,那我们使用的手机没有这个功能怎么办?不要急我有办法呵呵,本次DIY材料好找又简单,大家都可以亲自试一试!DIY材料:红外二极管2个(没有可以在旧的遥控器上拆),3.5耳机插头一个制作焊接方法:如下图DIY开始:两个红外二极管反向并到一起焊接焊到3.5插头的左右声道上(不管你是三级还是四级插头只要焊接到左右声道上就可以了)!一连做了2个都被同事要走了,还得再焊一个给自己!焊好后可以拿出手机打开软件然后插上这个小东东,怎样验证可不可用呢?这时候你需要有另外一台手机或相机打开拍照模式对着红外二极管,然后按软件上的按键测试,如果在另一个手机或相机的屏幕里看到你的红外二极管发光了那就祝贺你成功了!如果不能发光然后你焊接又没有问题那就是你的手机不支持这个东西!先上机试用,(在公司只有空调可以测试,什么电视、机顶盒、单反、风扇等都没有机会测试,大家有兴趣自己DIY一个试试这些功能是否有效果过来分享一下)三星手机试了3部都可以,HTC手机试了1部OK,联想试了1部失败,红米失败,小米3可以试用就是效果不理想只能在2米内有效,小米1失败手机不支持,还有一部山寨安卓手机成功山寨也威武啊!以上都是在同事手机上试验的,每个人的手机型号功能不一样不能保证100%的手机都能用。
手机软件界面截图!拿办公室的空调做测试在10米远,温度加减、开关机设置都可以!耶,成功!再试另一台空调还是可以!只可惜没有其他设备让我测试了!焊2个红外二极管效果最好,我的手机可以在10远的地方遥控。
焊一个红外二极管也可以使用遥控距离就会近一些!软件大家自己搜(安卓手机使用的软件遥控精灵,苹果手机使用的软件ZazaRemote)使用方法自己摸索。
最后的成品出来了!有了它回家不再需要那么多遥控器了,有一部手机就搞定了,再也不用在和老婆抢遥控器了!有刀币的请砸过来,谢谢了!哈哈!使用注意事项:1.先将手机本声音量调至最大(按手机音量加键)苹果用户注意:更多----高级设置---ZAZA最大音量必须设为100%。
自制红外遥控开关详细步骤(两款自制红外遥控开关方法)
![自制红外遥控开关详细步骤(两款自制红外遥控开关方法)](https://img.taocdn.com/s3/m/5c92fb63a36925c52cc58bd63186bceb19e8ed1a.png)
自制红外遥控开关详细步骤(两款自制红外遥控开关方法)自制红外遥控开关(一)工作/材料:●5V继电器●CD4017芯片●红外一体接收头●两个9014三极管●一个51K和两10K电阻,一个4148二极管,一个5V稳压二极管●一个220uf/50v和一个22uf/25v电容操作步骤:用手机充电头作电源以及焊接用的洞洞板。
焊接前先在面包板上做试验。
通电测试继电器有吸合。
按大体布局画个草图准备焊接。
焊接完成图。
已修整好的样子。
个山寨的5V500mA手机充电头用作接收器电源。
取下电路板和多余的U口及指示灯。
找个平口灯座进行组装。
两电路板连接完成。
最后再上一张设计电路图,感兴趣的朋友可以试着做一下。
按绿线右边的电路做,左边用充电头代替。
自制红外遥控开关(二)电路原理图整个电路共用到了5只8050三极管,从左往右看,IR为红外遥控接收头,未接收到红外线信号时,1脚输出高电平,接收到红外线信号时,1脚输出一连串低电平脉冲。
R4和C2,R7和C3组成两个积分电路,Q4,Q5,J组成继电器控制电路。
平时待机或者上电后的初始状态是Q1导通,Q2截止,Q5截止,继电器不工作。
我们先来分析遥控开机的过程。
短按遥控器按钮(大于0.5s),在这较短的时间内,因C3容量远大于C2,故B点电位很快升到高电位(约1V左右),而A点电位上升不到0.6V,因此Q3不能导通,只有Q2导通,因Q2导通,所以C点为高电位,Q5导通,继电器J 动作,其接点J-1、J-2同时吸合,J-2接通用电器电源。
这时即使IR不再接收到红外线信号,因电源经R11向Q5提供偏置,故Q5保持导通,J仍继续吸合,达到短按遥控实现开机的目的。
下面来分析遥控关机的过程。
长按遥控按钮(3s以上)时,IR输出低电平脉冲使Q1输出高电平脉冲,经D1整流后送至A点、B点进行积分处理,最终使得A电位大于1V,Q3导通,D点为高电平,Q4导通,C点为低电平,致使Q5截止,J释放,J-1、J-2断开,达到长按遥控按钮实现关机的目的。
红外遥控小米操作方法教程
![红外遥控小米操作方法教程](https://img.taocdn.com/s3/m/8f2a0f733868011ca300a6c30c2259010202f30d.png)
红外遥控小米操作方法教程
小米红外遥控是一款能够学习和发送红外遥控信号的设备,可以用来控制各种品牌的家电设备。
下面是小米红外遥控的操作方法教程:
1. 下载并打开小米智能家庭App,确保手机已经连接到小米智能设备的Wi-Fi 网络。
2. 在App的首页上,点击「设备」,再点击「添加设备」。
3. 在设备列表中选择「遥控器」,然后选择「小米红外遥控」。
4. 将红外遥控器对准需要学习的电视、空调等遥控器,在手机上点击「学习」按钮。
5. 按下需要学习的按钮(比如电视的开关键),保持按压直到红外遥控器的指示灯闪烁。
6. 当指示灯开始闪烁后,松开按钮,再次按下此按钮,指示灯将会停止闪烁,表示学习成功。
7. 重复步骤4-6,学习其它需要的按钮。
8. 学习完成后,可以使用小米智能家庭App来发送红外遥控信号,控制家电设备的开关和各种功能。
9. 在图形界面上根据需要可以自定义按钮名称和排序,以便更加方便使用。
注意事项:
- 在学习按钮时,尽量保持手机和红外遥控器的距离较近,以确保学习的准确性。
- 学习时最好在安静的环境中进行,以减少外界干扰。
- 如果有需要,可以在App中删除已学习的按钮,并重新学习。
以上就是小米红外遥控的操作方法教程,希望对你有帮助!。
自制小米手机红外遥控功能电路图
![自制小米手机红外遥控功能电路图](https://img.taocdn.com/s3/m/530b9ed088eb172ded630b1c59eef8c75fbf9568.png)
自制小米手机红外遥控功能电路图
小米部分手机都带有红外功能,可用来遥控家中的电视、空调等电器设备!然而很多手机不具备红外功能的怎么办呢?很简单的就可以自制一个插在手机耳机口上就可以当万能遥控器用。
材料:
1、3.5mm耳机插头
2、红外二极管
软件:遥控精灵
接线图
先在手机上下载软件:遥控精灵,这里以苹果4S为例,安卓系统一样可以使用。
然后,找个3.5mm耳机插头,用刀子把皮割下,就剩中间的芯儿。
红外二极管是在废遥控器上拆下来的。
二极管的俩脚分别焊在耳机插头的两个声道上,不分正负极。
公共端留着别焊。
焊好后插手机上,打开软件试一下。
用手机照相机照着红外二极管,能看到发出微弱的光就说明焊接没问题。
接下来就打胶套外壳。
外壳是用6.5mm话筒插头拔下负极的套筒,锯一段(大概1.4cm吧)粗细刚好套上。
到此,一个简易的红外发射器就诞生了。
别看这小东西,淘宝上还卖10---50元不等呢。
就是自己做的外观没法和商品比,如果有更好的闲置材料同样可以做的更为精
美,最后插在手机上测试,效果很不错,中6B接收机和空调、电视都能匹配。
各个功能都能很好的操作。
和原装遥控器差不多。
如果有兴趣的不妨可以做个玩玩。
用到的材料
焊接好红外二极管在3.5mm耳机插头上
将套管封上做简单的外观美化。
怎样用安卓智能手机做红外万能遥控器
![怎样用安卓智能手机做红外万能遥控器](https://img.taocdn.com/s3/m/9412c22bb5daa58da0116c175f0e7cd184251864.png)
用安卓智能手机做红外万能(wànnéng)遥控器摘要(zhāiyào):本课题旨在(zhǐ zài)利用现已成熟的且功能十分强大的安卓智能手机操作系统为软件基础,配合一种合适各种手机的外接硬件模块,通过将手机耳机接口输出的高低电压信息在外接模块(mó kuài)内转化为红外线输出,达到能遥控各种(ɡè zhǒnɡ)以红外遥控器控制的家用电器。
本课题的创新点有如下两点。
其一是将各个红外遥控器的功能集合在一部智能手机上的集合性。
其二是利用了耳机接口输出的音频电压信号进行信息的传输,保证软硬件的高度适应性。
关键词:智能手机万能遥控器红外遥控器耳机接口绪论课题由来遥控控制的家用电器越来越多,家里各种各样的遥控器也越来越多,日常存放、寻找和使用都很不方便。
要是一个老型号的家电的遥控器丢了,配都配不到。
手机是现在人们最常使用的一种手持式的通讯设备,大家都已经习惯随身携带手机和把手机经常放在身边。
所以,很多人都希望手机也可以当家用电器的遥控器使用。
现在,智能手机的软硬件已经十分强大,大尺寸的触摸屏可以设计成各种键盘布局的控制器。
只要有合适的软件,配合小的附件,智能手机都可以当作家用电器的万能遥控器来使用。
众所周知,任何红外线的信号都是可以由一串二进制编码翻译表达出来的,而任何一段由手机耳机接口输出的音频电压信号都可以传递出一串含有二进制编码信息,只要根据一定的规则,配合合适的硬件模块,就可以将手机耳机插口输出的音频电压信号转化为红外遥控器的红外线发射出来。
本课题旨在通过智能手机的软件支持,配合一个外接硬件红外发射模块,通过将手机耳机接口输出的高低电压信息在外接模块内转化为红外线输出,达到各种电器遥控器合为一体的目的,力求为使用者带来方便。
研究(yánjiū)背景微软的Windows Mobile、谷歌的Android和苹果的iOS等手机操作系统都有成熟的软件开发平台,个人和第三方组织(zǔzhī)为智能手机开发专门的应用软件是一门成熟的技术。
手机变成万能红外遥控器,自己动手制作教程
![手机变成万能红外遥控器,自己动手制作教程](https://img.taocdn.com/s3/m/93de3b17a9114431b90d6c85ec3a87c240288ab1.png)
⼿机变成万能红外遥控器,⾃⼰动⼿制作教程 声明:⼿机型号与系统版本不同,有些⼿机不能⽤,如⼩⽶⼿机,红⽶,不能⽤。
⽶3移动版可以⽤,但是需要设置才能使⽤。
亲测:iPhone4、4s、5、7.1.2版本控制空调,机顶盒、电视机没压⼒,也不是很⿇烦,感兴趣的朋友可以试试看。
准备材料:1、940nm红外发射管【⼀个报废的遥控器上拆】 2、3极⼿机⽿机插头【不⽤的⽿机上拆,三级的容易焊接】 3、焊锡⼯具【电烙铁、锡丝】 制作前我先来说说为什么有的教程上要说准备两个红外发射管和X宝上所谓的双红外发射管: ⽤两个红外发射管并不是去补38千赫兹的频率,同等电压下,发射距离的远近取决于⼆极管发光晶⽚的横切⾯积,红外灯的发光晶⽚置于与两根管脚相连的灯杯中,⼀般发光芯⽚的⼤⼩为10、12、14mil(mil为发光芯⽚的单位,1mil=0.0254mm),使⽤两个发射管只是增加了发射管的横截⾯积,从⽽有更好的遥控效果,并不是⾮⽤两个发射管。
遥控精灵软件输出信号给发射管时,同⼀组编码,是正反⽅向各输出⼀次,时间间隔300ms,有⽰波器的朋友可以看看。
双红外发光⼆极管,其实是等于两个发光⼆极管反极性并联,是⼚家⽅便后期安装设计的(⽆极性),⼯作时只有⼀个⼆极管发光,并不能提⾼发射距离,横切⾯积相同,既然遥控精灵给发射管的编码是正反⽅向各输出⼀次,所以不存在正负极的问题,双红外管是在不同时间内发射了同⼀组编码,所以说双红外管完全是噱头,没必要。
上个图来说明⼀下双红外发射管: 很多⼈可能不知道3极⽿机插头是什么样⼦的,我来上张图⽚(就是3段接触点,在做遥控器时地线⽤不到的) 开始焊接【如下图焊接,遥控精灵是正反⽅向各发⼀次,不⽤分正负极焊接】 焊接完成开始使⽤: 可遥控电视品牌:创维、海信、康佳、TCL、长虹、 海尔、索尼、LG、夏普、三星、 松下、飞利浦、东芝、⽇⽴ 可遥控空调品牌:格⼒、美的、海尔、TCL、长虹、 志⾼、科龙、奥克斯、海信、 康佳、春兰、澳柯玛、伊莱克斯、 新科、惠⽽浦、⼤⾦、三菱、 松下、格兰仕、⽇⽴、LG 可遥控机顶盒:创维、华为、同洲、天柏、中兴、 长虹、九州康佳、摩托罗拉、思科 海尔、⼤华、⼤亚、九联、全景 UT斯达康、海信、飞越、烽⽕、 杭州裕隆、⾦亚科技、海潮、新浪、 可遥控单⽅品牌:索尼、宾得、佳能、尼康 ⼿机遥控软件下载 APP⽀持,能遥控电视、机顶盒、DVD、空调、IPTV、功放、单反、开关、风扇、窗帘、遥控飞机,有等常规红外家电产品。
android手机红外遥控器实现
![android手机红外遥控器实现](https://img.taocdn.com/s3/m/6ff03b30dc36a32d7375a417866fb84ae45cc330.png)
android⼿机红外遥控器实现经过连续⼏天的编制,安卓⼿机代码终于完成了,⽬前已经将我宿舍,家⾥,集控室的红外遥控电⽓设备完好的遥控了,另外还遥控了我的D7000相机,不错终于完⼯了。
代码分为⼆类:各种电视、相机、等等遥控编码最简单,只要将按键的编码复制下来,直接变成⼿机发射码就可以了。
(这种编码单个按键只发射单个信息)最难的是空调编码,由于空调编码是将单个按键要发射所有控制信息,如增加⼀度温度,同时要将控制模式、温度、风量等等所有信息⼀同发射出去,还有检验码,通过长时间实验,如果像⼀般模仿遥控器的设备(例如万能遥控器)编码是将各种组合分别保存起来,这要就很长,也很⿇烦,但⽤第⼀种⽅法实现起来就很容易。
第⼆种⽅法主要是找规律⽐较⿇烦,⽽且要再程序中变成组合再变成安卓发射码,⽐较⿇烦。
经过摸索格⼒遥控器编码规则如下(前⾯的资料是⽹上搜集来的,这⾥是⾃⼰总结的):**⽂件格式:开关名称 / 按键位置 / 图标名称 / 命令代码**空调格式:格⼒空调YB0FB** 0 1 2 3⽅式 4开5风6睡 7温度 8 10强照⼲++++/24,65,22/38000,358,179/ 100/ 0 /00/00 /0101 /0000 /0000/ 0/0/0/0 /0000 /1010 /010/ ,24,795 /0000 /0000 /1000 /0100 /0000 /0000 /0000 /++**名称/位置/图标/位置/初始值/变化++/空调开关/20/power/4/2++/模式/21/mode/3/5/p1/auto/coldm/dryingm/windm/warmm++/风量/22/velocity/5/4/t2/wind0/wind1/wind2/wind3++/温度+/23/up/7/14/t1/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30++/温度-/28/down/7/14/t1/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30++/灯光/25/light/11/2/p3/nu/lightm++/睡眠/26/sleep/6/2/p4/nu/sleepm这上⾯是格⼒空调编码⽅案下⾯是直接编码:电视开关/0/power/38000,358,179,21,21,22,21,23,20,21,21,22,21,23,20,21,67,23,20,21,21,22,21,23,20,21,21,22,21,23,20,21,67,23,20,21,21,22,67,21,21,22,67,21,21,22,21,23,20,21,21,22,67,21,21,22,67,21,21静⾳/6/mute/38000,361,176,22,21,21,21,22,21,21,22,21,21,22,21,21,67,22,21,21,22,21,21,22,21,21,22,22,20,23,20,21,67,23,20,21,67,23,65,22,65,21,67,23,20,21,22,23,19,24,19,21,22,23,19,24,19,21,22,显⽰模式/5/screen/38000,359,178,22,21,25,18,21,21,22,21,25,18,21,21,22,67,21,21,22,21,25,18,21,21,22,21,25,18,21,21,22,67,21,21,22,67,21,21,22,21,25,63,22,67,21,21,22,21,25,18,21,21,22,67,21,67,25,1信号源/1/tvav/38000,362,175,24,20,21,21,22,21,24,20,21,21,22,21,24,64,22,21,24,20,21,21,22,21,24,20,21,21,22,21,24,64,22,21,24,64,22,21,24,20,21,21,22,21,24,20,21,67,24,20,21,21,22,67,21,67,24,64,2下⾯是安卓语⾔源代码:不喜好编程的⼈就不⽤看了:(感兴趣的朋友可以联系我,图⽚上有QQ号)package com.example.sumxingir;import java.io.FileInputStream;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import org.apache.http.util.EncodingUtils;import android.app.Activity;import android.content.Intent;import android.content.res.Resources;import android.graphics.Color;import android.os.Bundle;import android.os.Environment;import youtInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.TextView;public class room extends Activity {String Temp;String[] STR=new String[2];String[] rv=new String[2];private MyAdapter adapter = null;private ArrayList<Map<String, Object>> array;GridView layout;String[] Kt=new String[20]; //Kt1 整体代码int Ktonof=0; // /Kt1 开关;String[] base=new String[]{"","",""}; // /0电平宽度1电平宽度;⾼电平宽度;int check=0 ;String[] Ktmode=new String[10]; //空调模式String[] Ktwendu=new String[30]; //温度变化量String[] Ktwind=new String[10]; //风变化量String[] Ktp3=new String[]{"","","","","",""}; //空调其它按键String[] Ktp4=new String[]{"","","","","",""}; //空调其它按键String[] Ktt2=new String[]{"","","","","",""}; //空调其它按键int Count;String[] name=new String[40] ;int[] image=new int[40];String[] code=new String[40];String[] mode=new String[5];// youtParams lp ; //声明控件参数获取对象 LayoutParams lp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.room);GridView layout = (GridView) findViewById(R.id.gridview);RelativeLayout view = (RelativeLayout) findViewById(R.id.view);youtParams lp ; //声明控件参数获取对象 LayoutParams lp;lp = view.getLayoutParams(); //2、获取控件参数: lp = 控件id.getLayoutParams();lp.height=0; view.setLayoutParams(lp);// setContentView(layout);Intent intent=getIntent();Temp=intent.getStringExtra("strcode") ;setTitle(Temp);setTitleColor(Color.GREEN);Temp= readFileSdcard(Temp.trim());STR=Temp.split("\r\n"); //=============⽂件处理Count=0;for (int i=0 ;i<STR.length;i++){if (STR[i].trim().length()<10 ){continue;}if(STR[i].substring(0, 2).equals("**")){continue;}if (STR[i].substring(0, 2).equals("++")){if (STR[i].substring(0, 4).equals("++++")){ Kt=STR[i].trim().split("/");lp.height=150; view.setLayoutParams(lp);base=Kt[1].trim().split(",");// if(Kt[Kt.length-1].trim().equals("++") ){Kt[Kt.length-1]="1111";check=1;}} //=========空调处理else{ // ++/空调开关/20/power/251/+1rv=STR[i].split("/");int s=(Integer.parseInt(rv[2])); //按键位置号name[s]=(rv[1]).trim();code[s]=(rv[4]+","+rv[5]); //指向代码位// int k=Integer.parseInt(rv[4]);if (rv[1].equals("模式")){for(int j=4;j<rv.length;j++){ Ktmode[j-4]=rv[j].trim();}}else if (rv[1].equals("温度+")){ for(int j=4;j<rv.length;j++){Ktwendu[j-4]=rv[j].trim();}}else if (rv[1].equals("风量")){ for(int j=4;j<rv.length;j++){Ktwind[j-4]=rv[j].trim();}} else if (rv[1].equals("空调开关")){ Ktonof=Integer.parseInt(rv[4].trim()); }else if (rv[6].equals("p3")){ for(int j=4;j<rv.length;j++){Ktp3[j-4]=rv[j].trim();}}else if (rv[6].equals("p4")){ for(int j=4;j<rv.length;j++){Ktp4[j-4]=rv[j].trim();}}else if (rv[6].equals("t2")){ for(int j=4;j<rv.length;j++){Ktt2[j-4]=rv[j].trim();}} String m=rv[3];if (s>Count){Count=s;}Resources res=getResources();image[s]= res.getIdentifier(m, "drawable", getPackageName());}}else{ //==================⼀般按键处理rv=STR[i].split("/");int s=(Integer.parseInt(rv[1]));name[s]=(rv[0]);code[s]=(rv[3]);String m=rv[2];if (s>Count){Count=s;}Resources res=getResources();image[s]= res.getIdentifier(m, "drawable", getPackageName());}}array = getData();adapter = new MyAdapter();layout.setAdapter(adapter);layout.setOnItemClickListener(new ItemClickEvent());if(Ktonof!=0){ show(); } //显⽰空调状态}public String readFileSdcard(String fileName) { //读取txt⽂件// Temp=Environment.getExternalStorageDirectory()+"/SUMIR/code.txt";String res = "";try {FileInputStream fin = new FileInputStream(Environment.getExternalStorageDirectory()+"/SUMIR/"+fileName+".txt"); int length = fin.available();byte[] buffer = new byte[length];fin.read(buffer);res = EncodingUtils.getString(buffer, "UNICODE");fin.close();}catch (Exception e) { e.printStackTrace(); }return res;}class MyAdapter extends ArrayAdapter<Map<String, Object>> {MyAdapter() {super(room.this, yout.mygrid, array);}public ArrayList<Map<String, Object>> getList() {return array;}public View getView(int position, View convertView, ViewGroup parent) {View row = convertView;// String[] name1=new String[Count+1];name1=name;if (row == null) {LayoutInflater inflater = getLayoutInflater();row = inflater.inflate(yout.mygrid, parent, false);}ImageView imageView = (ImageView) row.findViewById(R.id.img);imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); imageView.setImageResource(Integer.valueOf(array.get(position).get("img").toString()));TextView tv1 = (TextView) row.findViewById(R.id.txt);tv1.setText(name[position]);return (row); } }private ArrayList<Map<String, Object>> getData() {ArrayList<Map<String, Object>> list = new ArrayList<Map<String, Object>>();for (int i = 0; i < Count+1; i++) {Map<String, Object> map = new HashMap<String, Object>();map.put("img", image[i]);list.add(map);} return list; }//点击处理============================================================class ItemClickEvent implements AdapterView.OnItemClickListener {String ircode;RelativeLayout view = (RelativeLayout) findViewById(R.id.view);@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {// Toast.makeText(room.this, name[arg2], Toast.LENGTH_SHORT).show();arg1.setPressed(false);arg1.setSelected(false);if (code[arg2]!=null) {if (code[arg2].length()>20 ) { ircode=code[arg2];}else{rv=code[arg2].split(",");int k1= Integer.parseInt(rv[0]);int LimUP=Integer.parseInt(rv[1]);if(name[arg2].substring(name[arg2].length()-1).equals("-")){opj(k1,0,LimUP); }else{opj(k1,1,LimUP); } //Kt 位置,±,上限ircode=readcode();if(Kt[Kt.length-1].trim().equals("++") ){ircode+=check(ircode);}show();}try {Object localObject = getSystemService("irda");localObject.getClass();localObject.getClass().getMethod("write_irsend", new Class[] { String.class }).invoke(localObject, new Object[] {ircode }); return; }catch (Exception localException) { localException.printStackTrace(); }}}}private void opj ( int ktsit, int bb,int Lm){ //===========+-操作代码Kt[ktsit]=Kt[ktsit].trim();int L=Kt[ktsit].length();int m=readKt(ktsit);if (bb==0){m--;}else{m++;}if ( m>=Lm){ if (Lm>10){m=Lm;}else{m=0;}}if (m<0){m=0;}Temp="0000000000"+Integer.toBinaryString(m);Temp=Temp.substring(Temp.length()-L);Kt[ktsit]="";for(int i=0;i<L;i++){Kt[ktsit]+=Temp.substring(L-i-1, L-i);}}private String check (String SS ){ //==========================检查校验码String T1="";int lim=Integer.parseInt(base[0])/2+Integer.parseInt(base[1])/2;int sum =0; int x=0; int Y=0;rv=SS.split(",");for (int i=4;i<rv.length;i+=2){if(x==8){x=0;sum+=Y;Y=0; }if(Integer.parseInt(rv[i])>lim){Y+=1<<x;}x++;}sum=sum%16; // T1=String.valueOf( sum);T1=","+base[2]+"," +base[sum%2]+","+base[2]+"," +base[(sum%4)/2]+","+base[2]+","+base[(sum%8)/4]+","+base[2]+"," +base[sum%16/8]+","+base[2] ;return T1;}private void show (){ //====================================设置显⽰ImageView Pv1=(ImageView) findViewById(R.id.p1);ImageView Pv2=(ImageView) findViewById(R.id.p2);ImageView Pv3=(ImageView) findViewById(R.id.p3);ImageView Pv4=(ImageView) findViewById(R.id.p4);TextView Tv1=(TextView) findViewById(R.id.t1);TextView Tv2=(TextView) findViewById(R.id.t2);Resources res=getResources();if(Kt[Ktonof].trim().equals("0")){Pv1.setVisibility(View.INVISIBLE);Pv2.setVisibility(View.INVISIBLE);Pv3.setVisibility(View.INVISIBLE);Pv4.setVisibility(View.INVISIBLE);Tv1.setVisibility(View.INVISIBLE);Tv2.setVisibility(View.INVISIBLE);} else{Pv1.setVisibility(View.VISIBLE);Pv2.setVisibility(View.VISIBLE);Pv3.setVisibility(View.VISIBLE);Pv4.setVisibility(View.VISIBLE);Tv1.setVisibility(View.VISIBLE);Tv2.setVisibility(View.VISIBLE);int m=readKt(Integer.parseInt(Ktmode[0])); //模式显⽰int Pv= res.getIdentifier(Ktmode[m+3] , "drawable", getPackageName());Pv1.setImageResource(Pv);m=readKt(Integer.parseInt(Ktwendu[0])); //温度显⽰Tv1.setText(Ktwendu[m+3]);if(Ktt2[0]!=""){m=readKt(Integer.parseInt(Ktt2[0])); //温度显⽰Tv2.setText(Ktwendu[m+3]);}if(Ktwind[0]!=""){m=readKt(Integer.parseInt(Ktwind[0])); //风量显⽰Pv= res.getIdentifier(Ktwind[m+3] , "drawable", getPackageName());Pv2.setImageResource(Pv); }if(Ktp3[0]!=""){m=readKt(Integer.parseInt(Ktp3[0])); //p3显⽰Pv= res.getIdentifier(Ktp3[m+3] , "drawable", getPackageName());Pv3.setImageResource(Pv); }if(Ktp4[0]!=""){m=readKt(Integer.parseInt(Ktp4[0])); //p4显⽰Pv= res.getIdentifier(Ktp4[m+3] , "drawable", getPackageName());Pv4.setImageResource(Pv);}}}private int readKt ( int ktsit){ //============读取 KT 指定位置数值byte[] b = (Kt[ktsit].trim()).getBytes();int sum=0;for(int i=0; i<b.length;i++){sum =sum+((b[i]-48)<<i); } return sum;}private String readcode (){ //===================转换成发射码String T1=Kt[2].trim();for (int i=3;i<Kt.length;i++){Kt[i]=Kt[i].trim();if (Kt[i].substring(0,1).equals(",")){ T1=T1+Kt[i]; } //直接代码else if(Kt[i].substring(0,1).equals("-")){ //执⾏反码rv=Kt[i].split("-"); Temp="";for(int j=1;j< rv.length;j++){ Temp+=Kt[Integer.parseInt(rv[j])]; }Temp=Temp.replace(" ", "");for(int j=0;j< Temp.length();j++){ T1+=","+base[2]+","+base[ (Integer.parseInt(Temp.substring(j,j+1))+1)%2 ] ; } }else if(Kt[i].substring(0,1).equals("+")){continue;}else{byte[] b = (Kt[i]).getBytes();for(int j=0;j<b.length;j++){T1+=","+base[2]+","+base[b[j]-48] ; }} }return T1;}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用安卓智能手机做红外万能遥控器
摘要:
本课题旨在利用现已成熟的且功能十分强大的安卓智能手机操作系统为软件基础,配合一种合适各种手机的外接硬件模块,通过将手机耳机接口输出的高低电压信息在外接模块内转化为红外线输出,达到能遥控各种以红外遥控器控制的家用电器。
本课题的创新点有如下两点。
其一是将各个红外遥控器的功能集合在一部智能手机上的集合性。
其二是利用了耳机接口输出的音频电压信号进行信息的传输,保证软硬件的高度适应性。
关键词:
智能手机万能遥控器红外遥控器耳机接口
绪论
课题由来
遥控控制的家用电器越来越多,家里各种各样的遥控器也越来越多,日常存放、寻找和使用都很不方便。
要是一个老型号的家电的遥控器丢了,配都配不到。
手机是现在人们最常使用的一种手持式的通讯设备,大家都已经习惯随身携带手机和把手机经常放在身边。
所以,很多人都希望手机也可以当家用电器的遥控器使用。
现在,智能手机的软硬件已经十分强大,大尺寸的触摸屏可以设计成各种键盘布局的控制器。
只要有合适的软件,配合小的附件,智能手机都可以当作家用电器的万能遥控器来使用。
众所周知,任何红外线的信号都是可以由一串二进制编码翻译表达出来的,而任何一段由手机耳机接口输出的音频电压信号都可以传递出一串含有二进制编码信息,只要根据一定的规则,配合合适的硬件模块,就可以将手机耳机插口输出的音频电压信号转化为红外遥控器的红外线发射出来。
本课题旨在通过智能手机的软件支持,配合一个外接硬件红外发射模块,通过将手机耳机接口输出的高低电压信息在外接模块内转化为红外线输出,达到各种电器遥控器合为一体的目的,力求为使用者带来方便。
研究背景
微软的Windows Mobile 、谷歌的Android 和苹果的iOS 等手机操作系统都有成熟的软件开发平台,个人和第三方组织为智能手机开发专门的应用软件是一门成熟的技术。
目前市面上已经存在的能达到类似功能的万能遥控器主要有以下几类,下面对主要几种类型进行分析,并与本课题进行优劣比较。
1) 学习试的万能电视遥控器。
图1.2(1)
这种遥控器能够达到学习已有遥控器发出的红外编码,储存在自身内部并映射在固定实体面板的每个按键上。
它最大的不足之处是,只能有一种固定的面板,操控一个电视或家电。
如果要更换操纵对象,就必须对每个按键所对应的红外编码再一次进行学习与记录。
与本课题相比,此类学习试的万能电视遥控器没有高度集合性。
2) 安卓手机平台上的遥控类应用。
图1.2(2)
这类应用大多是利用wifi 无线网络传输出控制信息,对一些能被接入互联网或局域网的高级电子设备达到遥控目的。
这里所说的遥控与本课题所涉及的红外遥控有明显不同。
红外遥控的对象设备更加低端,普遍。
课题创新点
现代生活中,家用电器越来越多,所对应的遥控器也越来越多。
数量众多遥控器的存放和维修给用户带来巨大不便。
这些普通遥控器遥控对象单一,是它们最大的缺点。
本课题创新点之一就是将遥控各种家用电器的遥控器们集合起来,利用它们都是利用发射红外线进行遥控的共同特点,将功能集合在一部智能手机上。
这种高度集合、统一的特征是本项目的优势。
本课题的创新点之二是它利用的是智能手机的耳机接口输出的音频电压信号传出控制外接模块发射红外线遥控信号的电压信息。
利用耳机接口的巨大优势是,相比于各种手机不同型号的USB 接口,耳机接口可以使外接模块适合各种安卓系统智能手机,并且巧妙利用了音频电压信号这种信息载体,通过耳机口输出的音频电压信号,
对外接模块发射红外遥控信图 1.2(1):学习试的万能电
视遥控器
图 1.2(2):基于互联网的其他安卓平台遥控应用
号进行控制。
研究成果
硬件部分
为了实现用红外线遥控家用电器的目的,需要在现有的智能手机以外加入一个硬件模块,以实现发射红外控制电器的目的。
一下所述的就是一种将手机耳机接口输出的含有高低电压信息的信号转化为红外线信号发射出来的硬件模块。
通常来说,一部智能手机有两种接口可以进行信息的输出:USB接口,耳机接口。
考虑到由于品牌与信号不通,各种手机的USB接口型号都不尽相同,比如苹果手机的USB接口就是很扁的长条形的30-pin接口,而三星手机的则要更短。
如果采用USB接口作为控制本课题硬件部分的输出接口,那么要适应各种各样的接口难度极大。
按照同样的思路,耳机音频接口是绝大部分,甚至可以说是全部智能手机都有的接口。
如果采用耳机接口输出控制信号,那么就可以有极好的适应性。
因此,本课题选择采用耳机音频接口输出信息控制红外发射硬件部分。
本课题硬件部分的输入端直接连在智能手机或任何手持智能设备的音频输出插座上,一般情况下就是简单地插在智能手机或任何手持智能设备的耳机插座上。
它的输出就是符合一定编码规则和标准的红外遥控信号。
本课题中的一种耳机接口输出的电压信号驱动的红外遥控发射器是主要由1个整流电路、1个RC积分电路和1个比较器组成信号转换器。
在输入的电压信号的幅值超过参考电压Vb一定程度的情况下,该信号转换器先通过整流和RC积分把得到的高音频电压信号转换整形成一个电压为Va大于Vb的方波信号,再经过比较器的放大作用,比较器输出一个可以驱动红外发光二极管的方波信号。
在输入的音频电压信号很低,幅值远低于参考电压Vb的情况下,该信号转换器通过整流和RC积分无法得到一个电压Va比Vb大的方波信号,比较器输出的是一个无法驱动红外发光二极管低电平信号。
这样,当输入的是符合一定编码规则的时高时低的电压信号时,输出的就是符合该编码规则的红外遥控方波信号。
下面结合附图对本实用新型作进一步的详细说明。
图2.1(1)是音频电压信号处理的流程,说明符合一定编码规则的时高时低的电压信号转换成符合该编码规则的红外遥控方波信号的过程。
图2.1(2)是音频电压信号驱动的红外遥控信号发射器的原理图,图中选择全桥整流电路来具体实现权利要求中提到的整流电路的功能,使整个信号转换器的灵敏度和稳定性更好。
Vb是比较器的反相输入点上的参考电压,Va是输入的音频电压信号经过全桥整流和RC积分后的信号的电压。
当Va 大于Vb时,比较器的输出是高电平,红外发光二极管发出红外线信号。
当Va 小于Vb时,比较器的输出是低电平,红外发光二极管没有红外线输出。
图2.1(3) 是用低电压双路比较器LM393的一路的音频电压信号驱动的红外遥控信号发射器的实施例。
整个发射器的供电电压Vcc是3V。
R23是千欧数量级的电阻,R22的数量级是几十千欧的,Vb大约为100 毫伏。
C21是几百到几千pf数量级的陶瓷电容,R21是兆欧数量级的电阻,两者组成的RC积分电路把输入的强音频电压信号转换成电压Va大于150 毫
伏的电压信号。
在Va 大于Vb时,LM393的输出成高阻状态,供电电压Vcc经过限流电阻R24和R25使红外发光二极管D2发出红外线。
输入:
来自数字智能设备耳机
接口的一组按规律时断
时续的音频电压信号。
全桥整流和RC积分滤波:
一组按规律时断时续的
近似方波信号。
输出:
一组按规律时断时续的
符合编码规则的红外遥
控信号。
图2.1(1):音频电压信号处理的流程
图2.1(2):音频电压信号驱动的红外遥控信号发射器的原理图
图2.1(3):用低电压双路比较器LM393的一路的音频电压信号驱动
的红外遥控信号发射器的实施例
软件部分
软件部分使用智能手机安卓操作系统作为平台,在其基础上编写相应软件,来操纵红外发射模块。
安卓平台的应用,由eclipse编译器,java语言,配合附加在eclipse中的android sdk进行编写。
本软件部分所实现的功能是:
1)遥控器面板的选择以及绘制。
2)遥控器面板上的按键与对应要发出的红外遥控信号所对应的控制音频信号之间的
触发关系对应。
3)音频电压信号从耳机接口的输出。
软、硬件的配合
在初始化阶段,程序在绘制触屏界面的同时,要把手机的输出音量调大到最大输出音量的4/5以上,然后发出一个出现几百毫秒的连续音频电压信号,给红外遥控信号发射器预热和电容充电。
在触屏上的一个按钮被按下以后,要再次检查和调整手机的输出音量到最大输出音量的4/5以上,然后播放按对应规律时断时续的音频电压信号。
这个有规律的音频电压信号可以是标准的,频率在音频范围内的正弦信号。
在程序退出之前,还要把要把手机的输出音量调小到最大输出音量的2/5附近。
图2.3是该手机遥控程序的框图。
启动程序
软件硬件初始化:
在触屏上绘制触控界面;
调整输出音量;
给输入整形电容C11预充电
响应触控按钮:
检查和调整输出音量;
消除触控动作的抖动影响,确认触控意图;
按记忆的编码,通过耳机接口发出对应的音
频电压信号。
准备结束程序:
调整输出音量;
退出运行程序
结束程序
图2.3:运行总流程图
理想运营模式
本课题提供了一种用智能手机作为红外遥控器,对各种家用电器进行遥控的可行实施方案。
设想中的理想的模式如下:各智能手机用户购买本课题所研究的硬件模块,并且上网搜索下载软件模块,自行安装于智能手机。
而各种加点的红外遥控信号编码信息,有家用电器的各个生产公司发布在网上,供用户免费下载,并应用于本软件。