基于android开发手机控制空调的程序(硬件+软件)

本文适用于在没有红外发射器的手机上,利用音频接口连接相关发射器进行信号发射。效果展示:http://t.cn/RLhOuCf

2016年2月28日更新:

使用音频还是要给手机插音频线,所以具有相当大的局限性。而且在开发过程中还不容易采样,容易受各种因素干扰。用声波模拟脉冲信号也具有一定难度。最近在玩Arduino,发现这个开发板很适合用来做采样和发射。

通过Arduino录制红外与播放红外信号的相关信息写在了这篇博文中:

http://blog.csdn.net/luhanglei/article/details/50762325

2016年06月07日更新

关于“正弦波”的作用:

通过在Arduino上实验就能知道,传感器接收红外信号的时候,并不是只要红外发光二极管亮起就是1,灭掉就是0。

红外接收器其实只接收频率为38KHz的信号(不是光的频率,就是通断电而闪烁的频率),因此当需要输出为1的信号的时候,发出的实际是一个20KHz(因为其实20KHz也可以被接收到)的信号,而不是常亮。



硬件:

作者的手机型号是nexus4,使用直接连接红外发射管(直接无反应)和DIY使用三极管,进行信号放大的方式(光太暗),均告失败。。。

在制作硬件的过程中,可以使用①用手机摄像头观察和②暂时用可见光发光二极管替代的方法查看效果。

最终解决方法:jd买了一个usb小音响(19RMB左右),把喇叭全都拆掉,将红外二极管串联相应大小的电阻(电阻大小多少合适,有公式请百度),焊接到原来喇叭的位置上。

效果图:

基于android开发手机控制空调的程序(硬件+软件)

根据我空调的文档,前面9000μs高电平+4500μs低电平是起始码,后面的01都是高低电平组合,一高一低为一位,低电平短的是0,长的是1。放大以后可以看到,生成的是很漂亮的正弦波。

③自己根据需要生成带有高低电平的声波。

根据网上搜索到的正弦波生成算法,作者仿造了上面的正弦波,但发现再次用电脑声卡捕获以后,高电平全体在低电平一侧,而且低电平的坐标出现很大的偏移。 基于android开发手机控制空调的程序(硬件+软件)

生成0,1的代码如下:

将生成好的数据按照编码格式拼接起来,连接到发射器播放,即可控制空调等设备。

作者将以上功能放到了一个service中来控制,实现了安卓手表(android wear)控制空调的功能,效果:http://t.cn/RLhOuCf

建议在开发过程中遇到问题的时候多抓取音频分析,发现问题所在。

如果出现开头丢失的问题,可以在数据之前加入一定的中低电平和低电平信号,来当炮灰。


感谢

http://blog.csdn.net/kangear/article/details/39376105

http://m.blog.csdn.net/blog/caoshichao520326/8646913

来源:西红柿炖番茄

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年6月1日
下一篇 2015年6月1日

相关推荐