本帖最后由 mep 于 2015-4-12 10:23 编辑
使用Arduino Uno和红外发射管遥控美的空调。
遥控器型号:RN51A/BGF
过程中,我参考了如下几个链接:
[1] http://www.geek-workshop.com/thread-5707-1-1.html
[2] http://geek-workshop.com/thread-5001-1-1.html
[3] http://veillard.com/embedded/midea.html
使用这几个链接上的代码,空调均没有响应。
自己在Arduino Uno上采用红外接受管解码得到的数据如下(空行是我加的):
- 4447 577
- 581 564 533 1571 626 1622 575 563 532 564 532 1618 579 563 532 563
- 532 1620 579 563 533 563 533 1615 581 1618 580 563 533 1619 578 563
- 533 1620 576 1616 581 1619 578 1623 574 563 533 1619 579 1572 625 1616
- 579 564 533 563 533 563 533 563 533 1619 578 563 534 563 532 1621
- 578 1618 578 1618 579 563 532 563 534 562 533 563 533 563 534 561
- 532 563 533 563 533 1621 576 1618 579 1574 623 1620 576 1622 575 5282
- 4517 4446
- 581 1616 580 563 533 1618 579 1618 579 563 534 563 533 1571
- 625 563 533 563 533 1618 579 564 534 563 533 1624 573 1618 579 563
- 533 1618 579 563 533 1623 574 1625 572 1619 578 1617 580 563 533 1619
- 578 1618 578 1622 575 564 533 563 533 563 533 563 533 1619 577 563
- 533 563 533 1617 580 1616 581 1613 583 563 533 562 533 563 533 563
- 533 563 532 563 533 563 534 563 533 1623 574 1614 583 1619 579 1618
- 578 1572 625
- 1011 0010
- 0100 1101
- 0111 1011
- 1000 0100
- 1110 0000
- 0001 1111
- B24D
- 7B84E01F
复制代码
从上面的解码数据得到的编码和我给出的链接[1]中的编码一致。
发送代码如下:
- #include <IRremote.h>
- #include <IRremoteInt.h>
- unsigned int rawCodes_ac_open[] = {4500,4500,560,1680,560,560,560,1680,560,1680,560,560,560,560,560,1680,560,560,560,560,560,1680,560,560,560,560,560,1680,560,1680,560,560,560,1680,560,560,560,560,560,1680,560,1680,560,1680,560,1680,560,1680,560,1680,560,1680,560,1680,560,560,560,560,560,560,560,560,560,560,560,560,560,1680,560,560,560,1680,560,560,560,1680,560,1680,560,560,560,560,560,560,560,1680,560,560,560,1680,560,560,560,560,560,1680,560,1680,560,4500,4500,4500,560,1680,560,560,560,1680,560,1680,560,560,560,560,560,1680,560,560,560,560,560,1680,560,560,560,560,560,1680,560,1680,560,560,560,1680,560,560,560,560,560,1680,560,1680,560,1680,560,1680,560,1680,560,1680,560,1680,560,1680,560,560,560,560,560,560,560,560,560,560,560,560,560,1680,560,560,560,1680,560,560,560,1680,560,1680,560,560,560,560,560,560,560,1680,560,560,560,1680,560,560,560,560,560,1680,560,1680,560};
- IRsend irsend;
- void setup() {
- Serial.begin(9600);
- }
- void loop() {
- irsend.sendRaw(rawCodes_ac_open,200, 38);
- delay(3000);
- }
复制代码
红外发射管接在Arduino Uno的Pin 3上。
很多办法都试过了,空调还是没有反应,可能会是什么问题?
另外,在Arduino Uno运行的时候,我用手机摄像头观察红外管,发现它是一直亮着的,
我也换过红外发射管,结果一样。
PS:空调的开机和关机状态都试过。 |