如何使用Android和Arduino控制IR空调

电子说

1.3w人已加入

描述

第1步:要求

先决条件:

-空调(您不要说!)

-交流红外控制遥控器(它必须处于良好的工作状态,因为我们需要对红外代码进行解码)

硬件:

-Arduino MEGA 2560

-Arduino兼容以太网屏蔽

-小面包板

-跳线

-(1)红外接收二极管

-(1)红外LED

软件:

-Arduino SDK

-Android SDK

-红外远程Arduino库-(图书馆官方网站)

-WebDuino库-(图书馆官方网站)

第2步:设置一切

Android

我们已经准备好!

首先,我们需要解压缩我们刚刚创建的IR Remote和Webduino库。下载到Arduino SDK库文件夹。

X: 。.. arduino-1.0.4 libraries

现在,我们必须告诉Arduino SDK我们是哪种类型的Arduino。使用。因此,我们转到:

工具》板》 Arduino Mega 2560或Mega ADK并选择Arduino Mega。

然后选择检测到您的Arduino的端口:工具》串行端口》“ YourPort”

第3步:准备IR接收器

现在,我们必须将IR接收器连接到Arduino。引脚的连接方式如下:

引脚1从Arduino转到引脚19。

Pin 2从地面连接到引脚。

Pin 3从5V变为引脚。

现在,我们将此草图复制到Arduino SDK。 (此草图从您的遥控器中解码了IR)**小心复制粘贴,可能会给您带来编译错误。

编译并上传到Arduino。

步骤4:从遥控器中破解IR代码

Android

现在,我们必须进入菜单》工具以打开“串行监视器”窗口。打开后,将AC遥控器指向连接到Arduino的IR接收器,然后逐个按下每个按钮。您将获得如上图所示的图像。

注意:IR库可以解码大多数品牌的遥控器,但是有很小的机会可能不支持您的遥控器。去图书馆网站检查是否增加了支持。在我的情况下,我的遥控器最终由NEC制造。

我的代码是:

解码后的NEC:80FF48B7(32位)-AC ON

解码后的NEC:80FFC837( 32位)-TEMP UP

解码的NEC:80FF58A7(32位)-TEMP DOWN

解码的NEC:80FFD827(32位)-计时器

将它们放在安全的地方!我们将需要它们!

步骤5:设置Web服务器

我们已经解码了控件的代码。现在,我们必须创建另一个草图,这次要实现一个Web服务器,该服务器将帮助我们通过Internet与arduino进行通信。为此,我修改了Webduino库中的Web_Demo示例。

要使其正常运行,您必须确保以下几点:

-您必须在Arduino中安装以太网屏蔽。

-您必须在草图中定义您的Arduino的MAC地址和IP。

-您必须定义Web服务器将在其中运行的端口。

-IR Led应该安装在Arduino上,其GRD的阳极(最短的支脚) (接地)和9号针的阴极(大腿,正极)。

-将草图上的IR代码替换为您的(我们刚刚找到的代码!)

保存并上传您的草图。

步骤6:瞧!随时随地控制AC!

这时,您实际上可以从连接到网络的任何PC上控制空调。您所要做的就是将地址栏http://YourIP/acon放到您的AC上。确保IR指向您的AC。

现在,这是可选的,由于安全问题,所有风险均由您自担。为了能够从可以访问Internet的任何地方控制AC,必须在路由器中创建端口转发规则。该规则应包含您分配给Arduino的IP和端口。我建议使用不是80端口的端口。创建该端口转发规则后,您应该可以在可以访问Internet的任何地方控制AC。 (您必须知道您的家庭IP地址)

并不是真正需要android应用程序,因为您实际上可以从手机的浏览器控制AC,但是拥有一个android系统更有趣(而且看起来很酷!)。的应用程序。我是Android的初学者,因此很可能有一种更好的方法可以完成我在应用程序中所做的大多数事情,但是,它可以正常工作!

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

全部0条评论

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

×
20
完善资料,
赚取积分