Arduino遥控大金(daikin)冷气 (1)

Arduino 遥控大金冷气

今年夏天实在太热了,刚好正在试Arduino,心想到是不是可以用Arduino + 红外线来遥控家中的大金冷气,如果成功后,再配上网路模组就能实现远端控制,这也能算是个IoT吧?

准备工作

  • Arduino 目前只试过UNO、Leonardo这两款
  • Arduino UNO/Leonardo、ESP8266、Ameba、STM32Duino F1
  • IR LED 需要的是发射端
  • Arduino_IRremote_Daikin 这是适用于Arduino的Library,整合修改后的IRremote与自制的IRdaikin
  • Arduino_DY_IRDaikin 这是适用于Arduino的Library,整合IRremote宣告PWM内容与自制的DYIRDaikin
  • 具备Arduino程式修改与上传动作的能力

连接红外线

将红外线发射LED接至Arduino,如下面的示意图:

红外线LED的接地接至GND,另一端接至接脚3,如果您是Leonardo请接接脚2,这样就完成电路连接非常简单,但建议你可以将红外线LED线延长,之后完成红外线LED要与冷气红外线接收做个对准的动作会比较方便。

依照上图的电路连接红外线LED与NPN电晶体,NPN电路具有电流放大的功能,让红外线LED亮度可以达到最亮的程度让摇控的范围较大一点。

下载 Arduino_DY_IRDaikin

请到Github下载Arduino_DY_IRDaikin,这是将许多资讯整合后的版本给大金冷气使用:

下载并解开后,将目录名称修成Arduino_DY_IRDaikin之后开启Arduino程式,并且:

选择加入.ZIP程式库(Add Library...)来加入新的Library,选择刚下载好的`Arduino_DY_Daikin-master.zip如下图:

加入成功后就能看到~以目录~名称为Arduino_DY_IRDaikin的Library已经加入:

开启范例程式

Library已经有一个范例可以测试,所以开启Arduino程式并且开启范例PowerOnOff

接下来就会开启一个视窗并且会看到范例程式的内容:

按下上传(Upload)键上传就完成基本动作。 首先解说一下范例程式,程式载入至Arduino开发版时,你开启Arduino内建的Serial Monitor后,传送New line(\nEnter)就能传送开、关的遥控讯息至大金冷气,此时你要确认一下大金冷气是不是会有这样的动作(发射正确、接收也正确时,大金冷气会哔哔2声),并且Serial Monitor也会看到讯息:

Arduino_DY_IRDaikin Library

最基本的遥控函数如下:

 on();
 setSwing_off();
 setMode(1);
 setFan(4);//FAN speed to MAX
 setTemp(25);
 //----everything is ok and to execute send command-----
 sendCommand();

函数设计成当你所有的参数都设定完成时,再执行sendCommand()才会将资料转成红外线讯号出去,使用时必需要先在setup()中自行设定一组预设值,像上面的范例一样,之后就能在loop()根据你的方式去变更,但一定要记住一点,你都变更完成时,一定要执行sendCommand(),否则红外线讯号是不会发送的。

结语

Arduino 与红外线在使上非常容易,也有现成的IRremote的Library能使用,但较难的是你要如何去解出遥控器的编码这才是重点,这次的大金冷气使用的方式较特别,当你每按一个遥控器按键时,它是将整个遥控机按键的控制资料全都送至红外线,与一般的电视遥控器不同,电视遥控器每按一个键只送出那个按键的编码,对观察遥控器编码比较单纯,但大金遥控器使用的方式却不同。

有了上面基本的基础后,可以试着自行增加网路模组来完成网路控制的项目,现接段Danny已经有完成并测试约二个月左右,当你人不在家时,在回家前就能用手机先将冷气开启,回到家后就能享受凉快感,这也是不错的DIY成就感。

参考资料

更新日志

日期 内容
2017/04/26 更新内容以符合新版的Library
2014/08/27 初版

关键字

  • 大金 Arduino 摇控
  • 大金冷气 摇控
  • 大金 红外线