本帖最后由 绿色的meng 于 2015-3-11 23:21 编辑
最近开始迷上arduino,通过大家的教程,研究了几天终于可以通过红外控制空调了,在此感谢大家!因为之前学51单片机,C语言学起来很难上手,所以没坚持下来,最近看了arduino的代码,发现想通之处挺多,代码也简单了许多,但因为刚开始接触,很多代码命令还是看得不太懂,在此想向大家讨教,如何实现通过电脑串口发送相应的键码命令来控制空调?例如直接在串口发送相应的红外码,或者把每个键位写入代码中,然后通过if语句或者什么的来调用,以达到相应的效果?
例如:1、电脑串口发送原始码或者16进制码——arduino执行——红外发射管发射代码控制空调
2、代码中把所有的原始码写进去然后给每个原始码命名(例如开机定义为"1")——串口助手发送"1"——arduino进行判断,如果收到的值为"1"则执行所定义的开机代码。
因为刚开始接触,所以代码方面还很陌生,下面的代码是教程里复制过来的,应该如何修改来实现上面的功能呢?在此谢过各位!
下面为美的空调RN1K开机码,已测试通过:- #include <IRremote.h>
- IRsend irsend;
- unsigned int buf[199]=
- {4350,4300,550,1550,600,450,600,1500,600,1550,600,450,600,500,600,1500,600,500,600,400,650,1500,600,450,600,500,550,1550,600,1500,650,400,600,1550,600,1500,600,500,550,500,550,1600,550,1550,600,1500,600,1550,550,1550,600,500,550,1550,550,1550,650,400,600,500,550,500,600,500,550,500,600,1500,600,1550,550,1550,600,450,600,500,550,1550,600,450,600,450,600,500,550,500,600,450,600,1550,550,1550,650,400,600,1550,600,1500,600,5050,4450,4200,550,1550,600,450,600,1500,600,1550,600,450,600,500,550,1550,550,500,600,450,600,1550,600,450,600,500,600,1500,550,1550,600,500,550,1550,600,1550,600,450,600,450,600,1500,600,1550,600,1500,600,1550,550,1550,600,450,650,1500,600,1500,600,500,600,450,600,450,600,500,550,500,550,1550,600,1550,550,1550,600,450,600,500,550,1550,600,450,600,450,600,500,600,450,600,450,600,1550,550,1550,600,450,600,1550,550,1600,550
- };
-
- void setup()
- {
- }
-
- void loop() {
- irsend.sendRaw(buf,199,38);
- delay(3000);
- }
复制代码 |