IRremote

Hi,

I'm using IRremote for copy my remote control.
The data are recognize as NEC 0xC1602006

Encoding  : NEC
Code      : C1602006 (32 bits)
Timing[99]: 
     +8850, -4400     + 600, -1650     + 550, -1650     + 600, - 500
     + 650, - 600     + 550, - 550     + 600, - 550     + 600, - 600
     + 600, -1600     + 650, - 500     + 600, -1650     + 600, -1650
     + 550, - 550     + 650, - 500     + 650, - 550     + 650, - 450
     + 600, - 550     + 650, - 500     + 650, - 550     + 600, -1600
     + 650, - 550     + 600, - 500     + 650, - 500     + 650, - 500
     + 700, - 500     + 600, - 500     + 650, - 500     + 650, - 500
     + 650, - 550     + 600, - 550     + 600, -1550     + 700, -1550
     + 650, - 550     + 600, - 550     + 600, - 550     + 600, - 550
     + 600, - 550     + 650, - 500     + 600, - 550     + 600, - 550
     + 600, - 550     + 600, - 550     + 600, - 550     + 600, - 550
     + 600, - 550     + 650, - 500     + 600, - 550     + 600, - 550
     + 600, - 500     + 650
unsigned int  rawData[99] = {8850,4400, 600,1650, 550,1650, 600,500, 650,600, 550,550, 600,550, 600,600, 600,1600, 650,500, 600,1650, 600,1650, 550,550, 650,500, 650,550, 650,450, 600,550, 650,500, 650,550, 600,1600, 650,550, 600,500, 650,500, 650,500, 700,500, 600,500, 650,500, 650,500, 650,550, 600,550, 600,1550, 700,1550, 650,550, 600,550, 600,550, 600,550, 600,550, 650,500, 600,550, 600,550, 600,550, 600,550, 600,550, 600,550, 600,550, 650,500, 600,550, 600,550, 600,500, 650};  // NEC C1602006
unsigned int  data = 0xC1602006;

When I try to use "senddemo" in the IR librairy using the data 0xC1602006 nothing happend on my A/C.
See my sketch.

/*
 * IRremote: IRsendDemo - demonstrates sending IR codes with IRsend
 * An IR LED must be connected to Arduino PWM pin 3.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 */


#include <IRremote.h>

IRsend irsend;

void setup()
{
}

void loop() {
	for (int i = 0; i < 3; i++) {
		irsend.sendNEC(0xC1602006, 32);
		delay(40);
	}
	delay(5000); //5 second delay between each signal burst
}

but using data raw my A/C switch off.

/*
 * IRremote: IRsendRawDemo - demonstrates sending IR codes with sendRaw
 * An IR LED must be connected to Arduino PWM pin 3.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 *
 * IRsendRawDemo - added by AnalysIR (via www.AnalysIR.com), 24 August 2015
 *
 * This example shows how to send a RAW signal using the IRremote library.
 * The example signal is actually a 32 bit NEC signal.
 * Remote Control button: LGTV Power On/Off. 
 * Hex Value: 0x20DF10EF, 32 bits
 * 
 * It is more efficient to use the sendNEC function to send NEC signals. 
 * Use of sendRaw here, serves only as an example of using the function.
 * 
 */


#include <IRremote.h>

IRsend irsend;

void setup()
{

}

void loop() {
  int khz = 38; // 38kHz carrier frequency for the NEC protocol
  unsigned int irSignal[] = {8900,4450, 600,1650, 600,1650, 600,500, 650,550, 600,550, 600,550, 600,550, 600,1650, 650,500, 600,1650, 600,1650, 600,550, 650,500, 650,500, 650,500, 600,550, 650,500, 650,500, 650,1600, 650,550, 600,500, 650,500, 650,500, 650,550, 600,500, 650,500, 650,500, 650,550, 600,550, 600,1600, 650,1600, 650,550, 600,550, 600,550, 600,550, 600,550, 600,550, 600,550, 600,550, 600,550, 600,550, 600,550, 600,550, 600,550, 650,500, 600,550, 600,550, 600,500, 650};  // NEC C1602006
  
  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.
}

If someone have an idea???

Many AC units use a very long IR code that the IRremote library isn't designed to handle. This topic has come up before so a search for Air Conditioner should turn up some code that works.

Yes I know. I have 2 A/C units (Mitsubishi,Totaline). Mitsu have a long IR code but not the Totaline AC unit(NEC).

Looks like your raw code contains about 49 bits but the binary form can only store 32 bits. Maybe that is why the raw code works but the encoded form doesn't.

John is right, just use SendRAW.

change the timings to
9000
4500
560
1680

and it will work much better.

We have a lot of examples on our blog for AC.