Infrared remote appears to send the same signal for every button

I am trying to capture infrared signals sent from a remote control used to control my motorized blinds.

Parts

Software

  • Arduino IDE 1.6.8
  • IRrecvDumpV2 example from IRremote library

My circuit and sketch work well to capture IR signals from other devices such my TV remote (SONY protocol). However, with the blinds remote, pressing any button yields the same code.

For example, here is the output after pressing the DOWN, STOP and UP multiple times. The code is always C37D2430.

Encoding  : UNKNOWN
Code      : C37D2430 (32 bits)
Timing[21]: 
     + 600, - 400     + 550, - 450     + 500, - 450     + 550, - 450
     + 550, - 450     + 550, - 450     + 500, - 500     + 500, - 450
     + 550, - 450     + 550, - 450     + 500
unsigned int  rawData[21] = {600,400, 550,450, 500,450, 550,450, 550,450, 550,450, 500,500, 500,450, 550,450, 550,450, 500};  // UNKNOWN C37D2430

Encoding  : UNKNOWN
Code      : C37D2430 (32 bits)
Timing[21]: 
     + 600, - 400     + 550, - 400     + 550, - 450     + 550, - 450
     + 500, - 500     + 500, - 450     + 550, - 450     + 550, - 450
     + 550, - 450     + 500, - 450     + 550
unsigned int  rawData[21] = {600,400, 550,400, 550,450, 550,450, 500,500, 500,450, 550,450, 550,450, 550,450, 500,450, 550};  // UNKNOWN C37D2430

Encoding  : UNKNOWN
Code      : C37D2430 (32 bits)
Timing[21]: 
     + 600, - 400     + 550, - 400     + 550, - 450     + 550, - 450
     + 500, - 500     + 500, - 450     + 550, - 450     + 550, - 450
     + 500, - 450     + 550, - 450     + 550
unsigned int  rawData[21] = {600,400, 550,400, 550,450, 550,450, 500,500, 500,450, 550,450, 550,450, 500,450, 550,450, 550};  // UNKNOWN C37D2430

Encoding  : UNKNOWN
Code      : C37D2430 (32 bits)
Timing[21]: 
     + 600, - 400     + 550, - 400     + 550, - 450     + 550, - 450
     + 500, - 500     + 500, - 450     + 550, - 450     + 550, - 450
     + 500, - 450     + 550, - 450     + 550
unsigned int  rawData[21] = {600,400, 550,400, 550,450, 550,450, 500,500, 500,450, 550,450, 550,450, 500,450, 550,450, 550};  // UNKNOWN C37D2430

Encoding  : UNKNOWN
Code      : C37D2430 (32 bits)
Timing[21]: 
     + 550, - 400     + 550, - 450     + 550, - 450     + 500, - 450
     + 550, - 450     + 550, - 450     + 550, - 450     + 500, - 450
     + 550, - 450     + 550, - 450     + 550
unsigned int  rawData[21] = {550,400, 550,450, 550,450, 500,450, 550,450, 550,450, 550,450, 500,450, 550,450, 550,450, 550};  // UNKNOWN C37D2430

Encoding  : UNKNOWN
Code      : C37D2430 (32 bits)
Timing[21]: 
     + 600, - 400     + 500, - 450     + 550, - 450     + 550, - 450
     + 550, - 450     + 500, - 450     + 550, - 450     + 550, - 450
     + 500, - 500     + 500, - 450     + 550
unsigned int  rawData[21] = {600,400, 500,450, 550,450, 550,450, 550,450, 500,450, 550,450, 550,450, 500,500, 500,450, 550};  // UNKNOWN C37D2430

Encoding  : UNKNOWN
Code      : C37D2430 (32 bits)
Timing[21]: 
     + 600, - 400     + 500, - 450     + 550, - 450     + 550, - 450
     + 550, - 450     + 500, - 450     + 550, - 450     + 550, - 450
     + 550, - 450     + 500, - 450     + 550
unsigned int  rawData[21] = {600,400, 500,450, 550,450, 550,450, 550,450, 500,450, 550,450, 550,450, 550,450, 500,450, 550};  // UNKNOWN C37D2430

What could I be overlooking?

Thoughts

  • I've read that the remote could be using a frequency that isn't 38 kHz. But shouldn't an incompatible frequency only result in a loss of range?
  • I could clean up the signal by adding a capacitor and resistor (as indicated on the Vishay datasheet) but is this necessary as I'm getting consistent results from other remotes?

I was able to find more information regarding the IR protocol that the Somfy remote uses from their patent. Apparently a 1 KHz preamble signal is required to wake receiver circuit into a higher powered "receive mode". I don't believe my 38 KHz infrared receiver would have picked this up.

A second problem encountered is that the frame transmitted by this type of transmitter with long preamble and 1 KHz simple pulses cannot be learnt and correctly resent by a so-called “universal” infrared remote control. Specifically, these remote controls comprise an IR reception stage and an IR transmission stage which usually consist of standard amplifying elements for demodulating signals of given frequency, in general 38 KHz. A preamble signal consisting of simple pulses at 1 KHz therefore cannot be learnt or resent by such a remote control.

I will likely need another circuit and sketch to somehow capture this 1 KHz preamble signal.