Hello everyone,
I am new to Arduino and ESP32. Recently, I have been tinkering with an ESP32 to make a smart AC remote that can be controlled over the internet. It also features automation, such as turning the AC on or off in the presence of humans and controlling the temperature based on a sensor's readings.
I used the IRrecvDumpV3 to get IR signals from my original AC remote, and I faced no problems in doing that. I was able to capture the IR codes and use them to control the AC. However, the main problem I am facing is the size of the data. Each IR signal contains all the information, such as temperature, fan speed, and the state of the swings. Each IR signal thus consists of a lot of information, which takes up a significant portion of the ESP32's memory. To address this, I am storing the IR signals in the flash memory to conserve the more limited SRAM for other uses.
My question is: is there any way I can decode the raw IR signal to identify which part controls which parameter?
The IR signal to turn on the AC looks like this:
const uint16_t temp16ON[419] = {
9038, 4442, 700, 1618, 688, 520, 684, 520, 684, 1610, 700, 1608, 698, 1622, 686, 522, 680, 524, 684, 520,
684, 520, 686, 520, 688, 518, 686, 520, 684, 522, 684, 518, 686, 520, 684, 520, 688, 520, 686, 520, 684,
522, 684, 1618, 690, 1616, 688, 520, 684, 520, 684, 522, 684, 520, 684, 524, 684, 518, 686, 1620, 688,
520, 686, 1622, 684, 520, 688, 520, 686, 1606, 698, 520, 686, 19936, 702, 522, 686, 520, 684, 518, 686,
520, 686, 522, 684, 520, 684, 520, 686, 520, 684, 518, 686, 522, 684, 520, 684, 520, 686, 518, 688, 520,
684, 1622, 686, 1620, 684, 524, 684, 520, 684, 520, 686, 522, 684, 520, 684, 524, 682, 522, 684, 520, 684,
522, 686, 518, 686, 520, 686, 520, 688, 1620, 686, 1620, 686, 1620, 684, 1630, 680, 39962, 9024, 4454,
688, 1622, 684, 520, 686, 520, 684, 1628, 680, 1622, 684, 1622, 684, 522, 684, 520, 684, 522, 682, 522,
686, 520, 682, 524, 680, 524, 682, 522, 684, 524, 682, 524, 682, 522, 684, 520, 682, 524, 684, 524, 684,
1622, 684, 1622, 684, 520, 684, 524, 684, 518, 684, 520, 684, 520, 684, 524, 682, 1624, 686, 1622, 680,
1626, 682, 524, 688, 520, 682, 1622, 684, 522, 684, 19932, 706, 520, 684, 520, 686, 520, 682, 522, 684,
520, 684, 520, 686, 524, 682, 520, 686, 520, 684, 524, 682, 522, 682, 522, 684, 524, 684, 522, 680, 522,
684, 520, 684, 522, 682, 522, 682, 524, 684, 520, 682, 522, 684, 524, 682, 1628, 682, 520, 684, 524, 682,
524, 682, 524, 682, 522, 682, 1624, 682, 1626, 682, 1620, 688, 520, 684, 39960, 9024, 4454, 686, 520, 686,
520, 684, 1622, 684, 524, 682, 1626, 684, 520, 682, 1624, 682, 522, 684, 1624, 684, 524, 682, 522, 682,
526, 682, 520, 686, 520, 682, 522, 686, 522, 682, 522, 684, 520, 682, 524, 680, 524, 684, 522, 682, 522,
684, 520, 684, 520, 684, 520, 684, 524, 680, 526, 680, 520, 686, 524, 680, 1626, 684, 522, 682, 1628, 680,
522, 682, 1622, 684, 524, 682, 19936, 704, 526, 678, 524, 682, 524, 682, 522, 686, 522, 682, 520, 682,
524, 682, 524, 682, 526, 680, 522, 682, 526, 680, 520, 686, 520, 684, 524, 684, 522, 682, 524, 682, 524,
682, 524, 680, 524, 682, 524, 680, 524, 680, 528, 680, 524, 682, 522, 682, 526, 680, 520, 686, 522, 684,
524, 680, 1626, 682, 1624, 684, 1622, 684, 1622, 682
};
Each set of IR signals for turning on/off, changing the temperature, or controlling the swings looks similar to this. How should I decode this IR code to identify which segment controls which parameter?
Thank you for your help!
