Need help to work with Panasonic AC

Everything related to protocols and IR codes
Post Reply
cpebrian
Posts: 1
Joined: Wed May 29, 2019 12:53 am

Need help to work with Panasonic AC

Post by cpebrian »

Hai All.

Today I am working with Infrared Transmitter and Receiver to turn ON and OFF my Panasonic AC. I using IRremote library by Ken Shirriff. Here is the link https://github.com/z3t0/Arduino-IRremote
I success get the raw data using both of program below. First I using example program by the library, it is IRrecvDumpV2. And this is the data show in my serial monitor.

Code: Select all

Encoding  : PANASONIC
Code      : 4004:7200000 (48 bits)
Timing[131]: 
     +3450, -1700     + 450, - 400     + 450, -1300     + 450, - 400
     + 450, - 400     + 450, - 400     + 500, - 350     + 500, - 400
     + 450, - 400     + 450, - 400     + 450, - 400     + 500, - 400
     + 450, - 400     + 450, - 400     + 450, -1300     + 450, - 400
     + 450, - 400     + 450, - 400     + 450, - 400     + 500, - 400
     + 450, - 400     + 450, - 400     + 450, -1300     + 450, -1250
     + 450, -1300     + 450, - 400     + 450, - 400     + 450, -1300
     + 450, - 400     + 450, - 400     + 450, - 400     + 450, - 400
     + 450, - 400     + 500, - 400     + 450, - 400     + 450, - 400
     + 450, - 400     + 500, - 400     + 450, - 400     + 450, - 400
     + 450, - 400     + 450, - 400     + 500, - 400     + 450, - 400
     + 450, - 400     + 450, - 400     + 500, - 400     + 450, - 400
     + 450, - 400     + 450, - 400     + 500, - 350     + 500, - 400
     + 450, - 400     + 450, - 400     + 450, - 400     + 500, - 400
     + 450, - 400     + 450, - 400     + 450, -1300     + 450, -1250
     + 450, - 400     + 450, - 400     + 500, - 400     + 450, - 400
     + 450, - 400     + 450
unsigned int  rawData[131] = {3450,1700, 450,400, 450,1300, 450,400, 450,400, 450,400, 500,350, 500,400, 450,400, 450,400, 450,400, 500,400, 450,400, 450,400, 450,1300, 450,400, 450,400, 450,400, 450,400, 500,400, 450,400, 450,400, 450,1300, 450,1250, 450,1300, 450,400, 450,400, 450,1300, 450,400, 450,400, 450,400, 450,400, 450,400, 500,400, 450,400, 450,400, 450,400, 500,400, 450,400, 450,400, 450,400, 450,400, 500,400, 450,400, 450,400, 450,400, 500,400, 450,400, 450,400, 450,400, 500,350, 500,400, 450,400, 450,400, 450,400, 500,400, 450,400, 450,400, 450,1300, 450,1250, 450,400, 450,400, 500,400, 450,400, 450,400, 450};  // PANASONIC 4004:7200000
unsigned int  addr = 0x4004;
unsigned int  data = 0x7200000;
sometimes I also got below data with the same program.

Code: Select all

Encoding  : UNKNOWN
Code      : E53352E7 (32 bits)
Timing[131]: 
     +3450, -1700     + 450, - 250     + 600, -1300     + 450, - 400
     + 450, - 300     + 550, - 300     + 550, - 400     + 500, - 250
     + 600, - 300     + 500, - 450     + 500, - 250     + 550, - 400
     + 500, - 400     + 450, - 400     + 450, -1300     + 450, - 200
     + 650, - 400     + 450, - 300     + 550, - 350     + 500, - 300
     + 600, - 400     + 400, - 450     + 450, -1300     + 450, -1250
     + 450, -1300     + 400, - 400     + 500, - 400     + 450, -1300
     + 400, - 300     + 600, - 250     + 600, - 300     + 550, - 250
     + 600, - 400     + 450, - 300     + 600, - 250     + 600, - 300
     + 550, - 300     + 550, - 300     + 550, - 400     + 500, - 300
     + 550, - 300     + 550, - 400     + 500, - 250     + 600, - 300
     + 550, - 300     + 550, - 300     + 550, - 400     + 450, - 350
     + 550, - 300     + 550, - 300     + 550, - 350     + 500, - 300
     + 600, - 300     + 500, - 350     + 550, - 300     + 550, - 300
     + 600, - 300     + 550, - 300     + 550, -1300     + 450, -1250
     + 450, - 400     + 450, - 300     + 550, - 350     + 550, - 300
     + 550, - 300     + 550
unsigned int  rawData[131] = {3450,1700, 450,250, 600,1300, 450,400, 450,300, 550,300, 550,400, 500,250, 600,300, 500,450, 500,250, 550,400, 500,400, 450,400, 450,1300, 450,200, 650,400, 450,300, 550,350, 500,300, 600,400, 400,450, 450,1300, 450,1250, 450,1300, 400,400, 500,400, 450,1300, 400,300, 600,250, 600,300, 550,250, 600,400, 450,300, 600,250, 600,300, 550,300, 550,300, 550,400, 500,300, 550,300, 550,400, 500,250, 600,300, 550,300, 550,300, 550,400, 450,350, 550,300, 550,300, 550,350, 500,300, 600,300, 500,350, 550,300, 550,300, 600,300, 550,300, 550,1300, 450,1250, 450,400, 450,300, 550,350, 550,300, 550,300, 550};  // UNKNOWN E53352E7
I also using other program to make sure the data is valid. I using code from analysIR blog https://www.analysir.com/blog/wp-conten ... als_10.txt
And got this result.

Code: Select all

Press the button on the remote now - once only

Raw: (439) 3468, -1724, 448, -404, 464, -1296, 444, -408, 464, -404, 464, -404, 468, -404, 464, -404, 468, -404, 464, -404, 468, -404, 464, -404, 464, -408, 464, -404, 464, -1296, 440, -408, 464, -408, 464, -404, 464, -408, 460, -408, 464, -408, 460, -408, 464, -1296, 444, -1296, 444, -1296, 444, -404, 464, -408, 460, -1300, 440, -408, 464, -408, 460, -408, 464, -404, 464, -408, 464, -404, 464, -408, 464, -404, 464, -408, 464, -404, 464, -408, 460, -408, 464, -408, 464, -404, 464, -404, 464, -408, 464, -404, 464, -408, 464, -404, 464, -408, 464, -404, 464, -408, 464, -404, 464, -408, 464, -404, 464, -408, 460, -408, 464, -408, 464, -404, 464, -404, 464, -1296, 444, -1296, 444, -408, 464, -404, 464, -408, 464, -404, 464, -408, 460, -10672, 3488, -1732, 444, -404, 464, -1296, 444, -408, 460, -408, 460, -412, 460, -408, 464, -404, 464, -408, 460, -408, 464, -408, 460, -408, 464, -428, 440, -408, 464, -1296, 444, -408, 460, -408, 464, -404, 464, -408, 460, -408, 464, -408, 464, -404, 464, -1296, 444, -1296, 444, -1296, 444, -404, 464, -408, 464, -1296, 444, -404, 464, -408, 460, -412, 460, -408, 460, -408, 464, -408, 460, -408, 464, -404, 464, -408, 464, -408, 460, -408, 464, -404, 464, -408, 460, -408, 464, -408, 464, -404, 464, -1296, 444, -1296, 444, -1296, 440, -412, 460, -408, 464, -404, 464, -1296, 444, -1296, 444, -404, 464, -1296, 444, -1296, 444, -408, 464, -404, 464, -408, 464, -404, 464, -408, 464, -404, 464, -404, 468, -404, 468, -404, 464, -1292, 444, -1296, 444, -1296, 444, -1296, 444, -1296, 444, -404, 464, -1296, 444, -408, 464, -1296, 440, -408, 460, -412, 460, -408, 464, -408, 464, -404, 468, -400, 468, -404, 464, -404, 468, -404, 464, -404, 464, -408, 468, -400, 468, -404, 464, -404, 492, -376, 468, -404, 468, -404, 464, -1292, 444, -1296, 444, -1296, 444, -408, 460, -412, 460, -404, 468, -404, 468, -400, 468, -404, 464, -404, 468, -404, 464, -404, 464, -1296, 444, -1296, 444, -1296, 444, -404, 468, -404, 464, -404, 468, -424, 444, -408, 464, -404, 468, -400, 464, -408, 464, -428, 444, -400, 468, -404, 492, -376, 468, -404, 468, -400, 468, -404, 464, -404, 468, -1292, 444, -408, 492, -376, 464, -408, 464, -404, 468, -400, 468, -428, 444, -1292, 448, -424, 444, -424, 448, -400, 468, -424, 444, -404, 492, -244, 600, -400, 472, -424, 448, -400, 464, -404, 464, -304, 572, -348, 520, -296, 572, -292, 580, -296, 572, -300, 572, -236, 632, -1296, 444, -344, 528, -284, 584, -1296, 448, -424, 444, -336, 532, -288, 584, 

Press the button on the remote now - once only

Raw: (439) 3464, -1728, 444, -404, 468, -1292, 448, -404, 464, -404, 468, -404, 464, -404, 468, -404, 464, -404, 468, -404, 464, -404, 468, -404, 464, -404, 464, -404, 468, -1292, 448, -404, 464, -404, 468, -404, 468, -400, 464, -408, 464, -404, 468, -400, 468, -1292, 444, -1296, 444, -1296, 444, -404, 468, -404, 468, -1292, 444, -408, 464, -404, 468, -400, 468, -404, 464, -404, 468, -404, 468, -400, 468, -404, 468, -400, 468, -404, 468, -400, 468, -400, 468, -404, 468, -400, 468, -404, 468, -400, 468, -404, 464, -404, 472, -400, 468, -400, 468, -404, 468, -400, 468, -400, 468, -404, 468, -404, 468, -400, 468, -404, 464, -404, 468, -400, 468, -404, 464, -1296, 444, -1296, 444, -404, 464, -408, 464, -404, 468, -404, 464, -404, 468, -10664, 3492, -1728, 444, -408, 460, -1296, 444, -408, 464, -408, 460, -408, 464, -408, 464, -404, 464, -404, 468, -404, 464, -404, 468, -404, 468, -400, 468, -400, 468, -1292, 444, -408, 464, -404, 468, -404, 464, -404, 464, -408, 464, -404, 468, -404, 464, -1296, 440, -1296, 444, -1296, 444, -408, 464, -404, 468, -1292, 444, -408, 464, -404, 464, -408, 464, -404, 468, -400, 468, -404, 468, -400, 468, -404, 464, -404, 472, -400, 464, -404, 468, -404, 464, -404, 468, -1292, 444, -408, 464, -404, 468, -1292, 444, -1296, 444, -1296, 440, -408, 464, -408, 464, -404, 464, -1296, 444, -1296, 444, -404, 464, -1296, 444, -1296, 444, -408, 464, -404, 464, -408, 464, -404, 464, -404, 468, -404, 468, -404, 464, -404, 464, -404, 468, -1292, 444, -1296, 444, -1296, 440, -1300, 444, -1296, 440, -408, 464, -1296, 444, -408, 464, -1292, 444, -408, 464, -404, 468, -404, 464, -408, 464, -400, 468, -404, 468, -404, 464, -404, 468, -404, 464, -404, 468, -404, 464, -404, 464, -404, 468, -404, 464, -408, 464, -404, 464, -404, 468, -1292, 444, -1296, 444, -1296, 444, -404, 464, -408, 464, -408, 464, -404, 464, -404, 472, -400, 468, -400, 468, -404, 468, -400, 468, -1292, 444, -1296, 444, -1296, 444, -404, 464, -408, 464, -404, 468, -404, 464, -404, 468, -404, 464, -404, 468, -404, 468, -400, 464, -428, 444, -404, 468, -424, 444, -404, 468, -400, 468, -404, 464, -404, 464, -1296, 444, -408, 464, -404, 464, -408, 464, -404, 464, -408, 464, -404, 468, -1292, 448, -300, 568, -404, 464, -428, 444, -400, 468, -404, 464, -408, 464, -428, 444, -424, 468, -248, 596, -404, 468, -300, 568, -296, 576, -296, 572, -296, 576, -404, 464, -300, 572, -1292, 452, -1288, 448, -340, 528, -292, 580, -1292, 448, -292, 580, -332, 536, -344, 524, 

Press the button on the remote now - once only
Then I try send the raw data but nothing happen to my AC, even bip sound when I using original remote. This is My code to send raw data.

Code: Select all

#include <IRremote.h>

IRsend irsend;

void setup()
{

}

void loop() {
  int khz = 38; // 38kHz carrier frequency for the NEC protocol
  //unsigned int irSignal[] = {3450,1700,450,400,450,1300,450,400,450,400,450,400,500,350,500,400,450,400,450,400,450,400,500,400,450,400,450,400,450,1300,450,400,450,400,450,400,450,400,500,400,450,400,450,400,450,1300,450,1250,450,1300,450,400,450,400,450,1300,450,400,450,400,450,400,450,400,450,400,500,400,450,400,450,400,450,400,500,400,450,400,450,400,450,400,450,400,500,400,450,400,450,400,450,400,500,400,450,400,450,400,450,400,500,350,500,400,450,400,450,400,450,400,500,400,450,400,450,400,450,1300,450,1250,450,400,450,400,500,400,450,400,450,400,450};  // PANASONIC 4004:7200000
  //unsigned int irSignal[] = {3450,1700,450,250,600,1300,450,400,450,300,550,300,550,400,500,250,600,300,500,450,500,250,550,400,500,400,450,400,450,1300,450,200,650,400,450,300,550,350,500,300,600,400,400,450,450,1300,450,1250,450,1300,400,400,500,400,450,1300,400,300,600,250,600,300,550,250,600,400,450,300,600,250,600,300,550,300,550,300,550,400,500,300,550,300,550,400,500,250,600,300,550,300,550,300,550,400,450,350,550,300,550,300,550,350,500,300,600,300,500,350,550,300,550,300,600,300,550,300,550,1300,450,1250,450,400,450,300,550,350,550,300,550,300,550};  // UNKNOWN E53352E7
  //unsigned int irSignal[] = {3468,1724,448,404,464,1296,444,408,464,404,464,404,468,404,464,404,468,404,464,404,468,404,464,404,464,408,464,404,464,1296,440,408,464,408,464,404,464,408,460,408,464,408,460,408,464,1296,444,1296,444,1296,444,404,464,408,460,1300,440,408,464,408,460,408,464,404,464,408,464,404,464,408,464,404,464,408,464,404,464,408,460,408,464,408,464,404,464,404,464,408,464,404,464,408,464,404,464,408,464,404,464,408,464,404,464,408,464,404,464,408,460,408,464,408,464,404,464,404,464,1296,444,1296,444,408,464,404,464,408,464,404,464,408,460,10672,3488,1732,444,404,464,1296,444,408,460,408,460,412,460,408,464,404,464,408,460,408,464,408,460,408,464,428,440,408,464,1296,444,408,460,408,464,404,464,408,460,408,464,408,464,404,464,1296,444,1296,444,1296,444,404,464,408,464,1296,444,404,464,408,460,412,460,408,460,408,464,408,460,408,464,404,464,408,464,408,460,408,464,404,464,408,460,408,464,408,464,404,464,1296,444,1296,444,1296,440,412,460,408,464,404,464,1296,444,1296,444,404,464,1296,444,1296,444,408,464,404,464,408,464,404,464,408,464,404,464,404,468,404,468,404,464,1292,444,1296,444,1296,444,1296,444,1296,444,404,464,1296,444,408,464,1296,440,408,460,412,460,408,464,408,464,404,468,400,468,404,464,404,468,404,464,404,464,408,468,400,468,404,464,404,492,376,468,404,468,404,464,1292,444,1296,444,1296,444,408,460,412,460,404,468,404,468,400,468,404,464,404,468,404,464,404,464,1296,444,1296,444,1296,444,404,468,404,464,404,468,424,444,408,464,404,468,400,464,408,464,428,444,400,468,404,492,376,468,404,468,400,468,404,464,404,468,1292,444,408,492,376,464,408,464,404,468,400,468,428,444,1292,448,424,444,424,448,400,468,424,444,404,492,244,600,400,472,424,448,400,464,404,464,304,572,348,520,296,572,292,580,296,572,300,572,236,632,1296,444,344,528,284,584,1296,448,424,444,336,532,288,584}; //Code From analysIR
  unsigned int irSignal[] = {3464,1728,444,404,468,1292,448,404,464,404,468,404,464,404,468,404,464,404,468,404,464,404,468,404,464,404,464,404,468,1292,448,404,464,404,468,404,468,400,464,408,464,404,468,400,468,1292,444,1296,444,1296,444,404,468,404,468,1292,444,408,464,404,468,400,468,404,464,404,468,404,468,400,468,404,468,400,468,404,468,400,468,400,468,404,468,400,468,404,468,400,468,404,464,404,472,400,468,400,468,404,468,400,468,400,468,404,468,404,468,400,468,404,464,404,468,400,468,404,464,1296,444,1296,444,404,464,408,464,404,468,404,464,404,468,10664,3492,1728,444,408,460,1296,444,408,464,408,460,408,464,408,464,404,464,404,468,404,464,404,468,404,468,400,468,400,468,1292,444,408,464,404,468,404,464,404,464,408,464,404,468,404,464,1296,440,1296,444,1296,444,408,464,404,468,1292,444,408,464,404,464,408,464,404,468,400,468,404,468,400,468,404,464,404,472,400,464,404,468,404,464,404,468,1292,444,408,464,404,468,1292,444,1296,444,1296,440,408,464,408,464,404,464,1296,444,1296,444,404,464,1296,444,1296,444,408,464,404,464,408,464,404,464,404,468,404,468,404,464,404,464,404,468,1292,444,1296,444,1296,440,1300,444,1296,440,408,464,1296,444,408,464,1292,444,408,464,404,468,404,464,408,464,400,468,404,468,404,464,404,468,404,464,404,468,404,464,404,464,404,468,404,464,408,464,404,464,404,468,1292,444,1296,444,1296,444,404,464,408,464,408,464,404,464,404,472,400,468,400,468,404,468,400,468,1292,444,1296,444,1296,444,404,464,408,464,404,468,404,464,404,468,404,464,404,468,404,468,400,464,428,444,404,468,424,444,404,468,400,468,404,464,404,464,1296,444,408,464,404,464,408,464,404,464,408,464,404,468,1292,448,300,568,404,464,428,444,400,468,404,464,408,464,428,444,424,468,248,596,404,468,300,568,296,576,296,572,296,576,404,464,300,572,1292,452,1288,448,340,528,292,580,1292,448,292,580,332,536,344,524}; //Code From analysIR
  
  irsend.sendRaw(irSignal, sizeof(irSignal) / sizeof(irSignal[0]), khz); //Note the approach used to automatically calculate the size of the array.
  delay(5000); //In this example, the signal will be repeated every 5 seconds, approximately.
}
I also used code above to my other AC with NEC protocol. I read the remote data and trasmit the raw data to my AC and it worked very well. But nothing happen when I used to my panasonic AC.

Here is my original Panasonic AC remote
remote control AC.png
I use KY-022 IR Receiver And KY-005 IR Transmitter. I connected the +5v transmitter to external power supply (5V/5A) to avoid power issue. And connect all Gnd together (Power Suppy, Arduino, and IR Transmitter).

Please help me regarding this Problem.
Sorry For My Bad English.
You do not have the required permissions to view the files attached to this post.
User avatar
AnalysIR
Site Admin
Posts: 776
Joined: Sat Aug 31, 2013 3:51 pm
Location: Dublin, Ireland
Contact:

Re: Need help to work with Panasonic AC

Post by AnalysIR »

I checked the signal used in the last piece of the code you posted and it decodes OK with AnalysIR to a 216 bit Panasonic AC signal.


try the following:

Code: Select all

/*
Automatically Generated by AnalysIR - Batch Export Utility
Registered to: xxxxxxxx
Session History
Type : Key : Value : Bits : Carrier Frequency (kHz)
0 : PANASONIC128_216_280AC :  : 400407200000006040040720009C6C01F5000070070000810000C8 : 216 : 0
Note: Be sure to use the correct Carrier frequency, for each individual signal, as(or if) indicated above
*/

// NB: Not all protocols are supported by IRremote or IRLib. You may need to edit the code below manually
// Automatically Generated by AnalysIR for xxxxxxxx, visit https://www.AnalysIR.com/ or email info@....... for further details
int khz=38; //NB Change this default value as necessary to the correct carrier frequency


uint16_t Signal_0_0[] = {3500,1750,435,435,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,1300,435,1300,435,435,435,435,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,1300,435,435,435,435,435,435,435,435,435,435,435,10664,3500,1750,435,435,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,1300,435,1300,435,435,435,435,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,435,435,435,435,1300,435,1300,435,1300,435,435,435,435,435,435,435,1300,435,1300,435,435,435,1300,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,1300,435,1300,435,1300,435,1300,435,435,435,1300,435,435,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,1300,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,1300,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,1300,435,1300,435,435,435,435,435,1300,435,435,435,435,435,435,435}; //AnalysIR Batch Export (IRremote) - RAW

irsend.sendRaw(Signal_0_0, sizeof(Signal_0_0)/sizeof(int), khz); //AnalysIR Batch Export (IRremote) - RAW
 // AnalysIR IR Protocol: PANASONIC128_216_280AC, Key:  
If this does not work, then it is likely your IR emitter circuit, that is the problem.

There are examples of good IR circuits on our blog.
Post Reply