Unable to read IR code with irremote library

I have been trying to create a universal remote using an arduino. I used a IR receiver to try and decode the IR values for my various remotes.

I used the IRrecvdump example from the IRremote library to try and decode IR values.

With the TV remote, RC5 values are shown which alternates between values like 0 and 2048, 12 and 2060. When I transmitted these codes, it worked.

When I tried decoding my Air conditioner's remote, only FFFFFFFF was shown and it displayed that 0 bits were transmitted.'

FFFFFFFF
FFFFFFFF (0 bits)
Raw (100): -7350 500 -1650 550 -1650 500 -1650 550 -1650 500 -1600 550 -1650 550 -1600 550 -1650 550 -550 550 -550 550 -600 500 -550 550 -600 550 -500 550 -550 550 -600 500 -1700 450 -1650 550 -1650 550 -1650 500 -1650 500 -1650 550 -1600 550 -1650 550 -550 550 -550 550 -600 500 -600 450 -650 500 -600 450 -650 550 -500 550 -1650 550 -1600 500 -1700 500 -1650 500 -1700 450 -1700 500 -1650 500 -1700 500 -650 500 -600 500 -650 500 -550 500 -600 500 -600 500 -650 450 -650 500 -1650 500

I tried sending the raw values with the following code.

#include <IRremote.h>

IRsend irsend;

unsigned int rawCodes[] = {7250, 650, 1500, 650, 1550, 650, 1550, 600, 1550, 600, 1550, 650, 1500, 650, 1550, 650, 1500, 650, 450, 650, 500, 650, 400, 650, 500, 600, 500, 650, 450, 600, 450, 650, 500, 600, 1550, 650, 1500, 600, 1600, 600, 500, 650, 1500, 650, 1550, 650, 1500, 700, 1500, 600, 500, 650, 500, 650, 400, 650, 1500, 700, 400, 650, 450, 650, 450, 650, 450, 650, 450, 600, 500, 650, 1500, 650, 1500, 650, 1500, 650, 1500, 650, 1550, 650, 1500, 600, 1550, 650, 1550, 600, 550, 600, 500, 650, 400, 650, 450, 650, 450, 600, 450, 650, 1550, 650};             

void setup()
{
      for (int i = 0; i < 3; i++) {
    irsend.sendRaw(rawCodes, 100, 38);
      delay(100);
    }
}

void loop() {
}

But it doesn't work.

Also, I noted that the raw values differ each time I press the same button. Even if I press the button to increase the temperature by 1. (Like from 16C to 17C and then from 17C to 18C).

The AC's remote is labelled as ZH/JT-03.
I would appreciate any help.
Thank you.

Dont worry about the FFFFFFs, it just didn't manage to decode the signal because it is not supported.

Your main issue is (most likely ~99%) that you have hit the max of 100 for RAWBUF. So your signal is truncated because of this.

You can increase this to say 230 within the library.

You could also try the sketch provided on our blog post:
Air Conditioners: Recording long Infrared Remote control signals with Arduino

Also, please post the model # of your IR reciever, AC unit & remote control for reference.

AnalysIR:
Dont worry about the FFFFFFs, it just didn't manage to decode the signal because it is not supported.

Your main issue is (most likely ~99%) that you have hit the max of 100 for RAWBUF. So your signal is truncated because of this.

You can increase this to say 230 within the library.

You could also try the sketch provided on our blog post:
Air Conditioners: Recording long Infrared Remote control signals with Arduino
Air Conditioner Record long Infrared Remote control signals - Arduino

Also, please post the model # of your IR reciever, AC unit & remote control for reference.

Good News: Changing the RAWBUF to 230 yielded a 194 long raw values instead of a 100 long rawbuf. So that's good.

Bad News: It STILL doesn't work. I tried it with a Sony projector. It doesn't work as smoothly as may be desired. It works some times and most of the time, it doesn't. I reckon that if it worked at least once then the value read by the receiver must be correct. Problem with the transmitter maybe?

I do not know the model no. of my receiver. It just says DZEAL on the back and LEN on the top.
AC is a videocon (Model no: VS5C3.WM1
As I said, the remote is ZH/JT - 03

How do you know the modulation frequency is 38.

Try 33, 30, 36, 40, 56 for modulation frequency instead of 38 in that order.

How is your IR LED wired....using a transistor?

If you upload your new singal timings, I will have a look at it for you.

Finally, if you use the sketch I linked, you will get more accurate timings than from IRremote. (+/- 4 uSecs vs +/-50uSecs)

.....OH I just noticed one other thing from your first post
Raw (100): -7350 500 -1650 550 -1650

when using sendRAW you muststart with a mark, so drop the first timing that starts with a - (ie -7350 in the above)

So your code would look like unsigned int rawCodes[] = { 500, 1650, 550,.......etc for the above