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程式,并且:Arduino_DY_IRDaikin
之后
选择加入.ZIP程式库(Add Library...)
来加入新的Library,选择刚下载好的`Arduino_DY_Daikin-master.zip如下图:
加入成功后就能看到~以目录~名称为Arduino_DY_IRDaikin
的Library已经加入:
开启范例程式
Library已经有一个范例可以测试,所以开启Arduino程式并且开启范例PowerOnOff
:
接下来就会开启一个视窗并且会看到范例程式的内容:
按下上传(Upload)键上传就完成基本动作。
首先解说一下范例程式,程式载入至Arduino开发版时,你开启Arduino内建的Serial Monitor
后,传送New line
(\n
、Enter
)就能传送开、关的遥控讯息至大金冷气,此时你要确认一下大金冷气是不是会有这样的动作(发射正确、接收也正确时,大金冷气会哔哔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 摇控
- 大金冷气 摇控
- 大金 红外线