乐鑫技术交流
直播中

莫联雪

9年用户 1200经验值
私信 关注
[问答]

如何使用esp8266通过IR控制我的A/c ?

嗨,有人可以帮助我吗?我正在尝试使用 esp8266 通过 IR 控制我的 A/c 我一直在尝试多种方法来使其工作,但不幸的是无济于事。我设法让我的电视和其他 IR 系统工作,但 A/C 不工作。所有其他设备都使用 NEC 协议,而空调显示它具有 Panasonic 协议。
这就是说,当我使用 sendPanasonic 指定 Panasonic 地址和 IR 的十六进制时,它也不起作用。所以我求助于使用来自 Ir Rec 的原始数据 (sendRaw)。
当我关闭 A/C(关闭命令)时,我得到的数据读取转储如下:
代码:全选Encoding  : PANASONIC
Code      : C4D3:64800004 (48 bits)
timing[99]:
     +3850, -1450     + 600, -1250     + 600, -1250     + 600, - 500
     + 550, - 550     + 600, - 500     + 600, -1250     + 600, - 500
     + 550, - 550     + 600, -1250     + 600, -1250     + 600, - 500
     + 550, -1300     + 600, - 500     + 550, - 500     + 650, -1250
     + 550, -1300     + 600, - 500     + 600, -1250     + 600, -1250
     + 600, - 500     + 550, - 550     + 600, -1250     + 550, - 550
     + 550, - 550     + 600, -1250     + 550, - 550     + 550, - 550
     + 600, - 500     + 550, - 550     + 550, - 550     + 600, - 500
     + 600, - 500     + 600, - 500     + 600, - 500     + 550, - 550
     + 550, - 550     + 600, - 500     + 600, - 500     + 600, - 500
     + 600, - 500     + 550, - 550     + 600, - 500     + 600, - 500
     + 550, - 550     + 550, - 550     + 600, -1250     + 600, - 500
     + 600, - 500     + 600
unsigned int  rawData[99] = {3850,1450, 600,1250, 600,1250, 600,500, 550,550, 600,500, 600,1250, 600,500, 550,550, 600,1250, 600,1250, 600,500, 550,1300, 600,500, 550,500, 650,1250, 550,1300, 600,500, 600,1250, 600,1250, 600,500, 550,550, 600,1250, 550,550, 550,550, 600,1250, 550,550, 550,550, 600,500, 550,550, 550,550, 600,500, 600,500, 600,500, 600,500, 550,550, 550,550, 600,500, 600,500, 600,500, 600,500, 550,550, 600,500, 600,500, 550,550, 550,550, 600,1250, 600,500, 600,500, 600};  // PANASONIC C4D3:64800004
unsigned int  addr = 0xC4D3;
unsigned int  data = 0x64800004;

我正在使用这段代码:
代码:全选#include

IRsend irsend(0); //an IR led is connected to GPIO pin 0
unsigned int  rawData[99] = {3850,1450, 550,1300, 550,1300, 550,550, 550,550, 550,550, 550,1300, 550,550, 550,550, 550,1300, 550,1300, 550,550, 550,1300, 550,550, 550,550, 550,1300, 550,1300, 550,550, 550,1300, 550,1300, 550,550, 550,550, 550,1300, 550,550, 550,550, 550,1300, 550,550, 550,550, 550,550, 550,550, 550,550, 550,550, 550,550, 550,550, 550,550, 550,550, 550,550, 550,550, 550,550, 550,550, 550,550, 600,500, 600,500, 600,500, 600,500, 550,550, 550,1300, 550,550, 550,550, 550};  // PANASONIC C4D3:64800004


void setup()
{
  irsend.begin();
  Serial.begin(9600);
}
t
void loop() {
  Serial.println("Raw");
  irsend.sendRaw(rawData, 99,38);
  delay(2000);
}

有人能指出我正确的方向吗,如果我能指出如何完成这项工作,那就太好了!

更多回帖

发帖
×
20
完善资料,
赚取积分