0

I am IR library from Ken Shirrif at https://github.com/z3t0/Arduino-IRremote/releases/download/MAJOR/IRremote.zip

It is good and I have used the examples to receive and send and to playback IR signals from the library. And they are working good.

To send Unknown signals we should use sendRaw() method with a list of integers got from the receiver.

My question is when I use the receive program, I get the decoded hexadecimal value for even the Unknown signals. And can I use this small decoded signal to send signals apart from the long list of integers.

I am trying to send these codes from android. It would be quite easy to send and store the small hexadecimal decoded value.

Is there a way to use the decoded value to send for raw signals with some encodings at arduino?

3
  • You'd have to find out the proper protocol used. Most often used is NEC. Apart from that, you question has to little information. As it sound like you are controlling both the sending and receiving side, which makes it pointless to use an unknown protocol.
    – Gerben
    Commented Dec 19, 2015 at 13:29
  • The library recognises NEC, Sony and some other protocols if you could look at the IRrecorder file in the library. And it gives Decoded signals for recognised protocols and for unknown protocols(protocols it don't know) it just gives a list of integers. It can duplicate the signal I give from my remote and to the IR transmitter I have connected to my arduino. I want to know how to converted the integers into decoded format like the Protocols recognised by the library. @Gerben Commented Dec 19, 2015 at 14:04
  • You'll have to figure out the protocol, and extend the IRremote library to include this protocol, like Jefferson said. You could try adding some of the raw codes to your question and see if anyone is willing to decode if for you. I'd also be helpful to know what the remote you used is for.
    – Gerben
    Commented Dec 20, 2015 at 16:11

1 Answer 1

2

If the signal is reported as "unknown" the library couldn't identify the protocol (RC5, RC6, NEC, SONY, etc). If the library doesn't know the protocol, the decoded number is meaningless. Simply put, an IR remote transmission has a frequency; a header; some data (the actual remote command); and a footer. Without knowing the protocol the library doesn't know the length and shape of each section, so the purpose of the decoded number is only to show quickly if the decoding is receiving the same code at each keypress. You can verify this yourself. Every time something makes an already known remote code be reported as "unknown", the code received is different from a real code, so simply guessing (or knowing beforehand) the protocol is not going to help anyway.

9
  • The library recognises NEC, Sony and some other protocols if you could look at the IRrecorder file in the library. And it gives Decoded signals for recognised protocols and for unknown protocols(protocols it don't know) it just gives a list of integers. It can duplicate the signal I give from my remote and to the IR transmitter I have connected to my arduino. I want to know how to converted the integers into decoded format like the Protocols recognised by the library. @Jefferson Ryan Commented Dec 19, 2015 at 14:06
  • @abdul rahuman, that is the role of recognizing the protocol. In order to achieve what you want, you need to analyze the list of integers to learn how the protocol works, write your own protocol functions for the library and output your commands using these functions. Commented Dec 20, 2015 at 14:14
  • The list of integers the library shows to you is just a representation of the ON-OFF duration of the remote pulses so with patience or a suitable software you can draw graphics of the received streams and by comparing the graphics of a good number of commands you can usually understand how the protocol works. This is not easy, but if it would, the library could automatically "learn" unknown protocols for you. Sorry for any mistake, but English is not my first language. Commented Dec 20, 2015 at 14:25
  • Thank you for your comment Jefferson. I would try to do it. Commented Dec 20, 2015 at 14:29
  • As a side note, I learnt the bad way that sometimes the library is unable to understand the protocol because you are using an unsuitable receiver. For example, the library is unable to recognize 40bit commands (XBOX and some sattelite TV remotes) with some old receivers. Commented Dec 20, 2015 at 14:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.