基于Dragonboard 410c android系统红外遥控功能的实现方法

处理器/DSP

891人已加入

描述

阅读本文之前,相信大家对Dragonboard410c有了一个大致的了解了,包括对Dragonboard410c的介绍与系统烧写步骤以及系统定制(Android系统定制和linux系统定制)。随着智能城市概念的普及与推广,智能家居也日渐引起大家的关注与重视,尤其是手机平板等移动设备渐渐也开始在智能家居生活中直接或间接地担负起终端控制角色。本设计基于智能家居普及的背景下基于高通的DragonBoard 410c android系统实现红外遥控功能。

一、硬件原理图:

红外遥控

图1 DragonBoard 410c外部GPIO口引出接口J8的连接原理图

红外遥控

图2 IR demon板的原理图

二、软件控制原理:

由图2可看到IR demon板除供电的VDD与GND外,主要通过SCL与SDA对外通讯,而BUSY 主要反映IR的工作状态,BUSY高电平代表IR处于忙碌状态,低电平代表IR处于空闲状态(主要用于红外的学习功能)。

1.I2C通讯:

本设计采用DragonBoard 410c开发板与一块小小的IR demon实现红外遥控功能,其中DragonBoard 410c 主要通过I2C协议与IR进行通讯与控制。

由于本设计的IR比较特殊(只支持20k以下的I2C clock,同时与硬件通用的I2C协议有所差异),本设计采用DragonBoard 410c的普通GPIO口进行模拟I2C通讯。此设计的优缺点如下:

(1)优点:

a.易于各平台代码移植(毕竟相对主控芯片来说只需申请普通GPIO);

(2)缺点:

a.自己手动编码实现I2C的模拟通讯;

b.模拟I2C支持的clock较低,不过相对这片IR的I2C clock(max=20k)完全够用。

红外遥控

图3 模拟I2C调试波形图

2.IR功能测试:

本设计的IR主要有两个功能:

(1)对外发射红外控制信号;

(2)复制接收的红外信号并记录(学习功能,主要用于DIY按键);

目前市面上的红外解码库基本都是使用第三方的解码库,大家可以上网下载万能遥控精灵这款app进行红外测试,本例暂时只介绍功能(1)的测试方法,(另外的功能大家可以自己通过万能遥控精灵玩下)如下:

(1)准备工作:一台手机,一台PC机(安装Total Control),一套连IR的Dragonboard410c开发板,一根USB线;

(2)PC机上通过USB与Dragonboard410c连接,打开手机摄像头对准IR发射头,此时通过 PC机上的Total Control软件打开测试apk,连续点击apk上的虚拟按键,此时可看到在手机摄像头图像上的IR发射头上闪现的红光,即表明IR能对外发射信号,具体请看图5:

图4 PC控制界面

红外遥控

图5.1 IR信号发射前

红外遥控

图5.2 IR信号发射中

三、硬件实物连接图

红外遥控

图5.3 硬件实物连接图

图5.4 实物遥控电视图

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分