Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Universal IR question

Status
Not open for further replies.

zhaniko93

New Member
Hello all.
I am planing to make a device which will copy IR code of a single button in EEPROM and then send it back, when used. I have determined that most IR controlled devices use 36-40khz carrier frequency. My question is, will TSOP1238 be able to receive all carrier frequency signals from 36 to 40 khz successfully? It works on 38 khz. And 1 more question: Is it as simple as I think, or will I encounter serious problems? I plan just to use pic Capture module to record TMR1 Values when IR Receiver module changes level and then save it in EEPROM???
 
Figure 1 of the datasheet indicates that in fact 36 and 40 KHz can be received it a loss of sensitivity, of course.

John
 
Last edited:
Thanks, but I have one more question: here is written that ". Some manufacturers use unusual formats that are simply not supported". I don't understand why won't it work with any device?
 
I think that it shouldn't make sense which protocol is used, as it records code received
 
IR data transmission involves more than just the data. Each transmission involves coding. Look up Manchester code for one example. Nigel Goodwin (super moderator here) has an excellent tutorial on IR transmission. Also, although it may be rare for appliance control, IR that uses a rolling code like garage door openers would not be amenable to capturing a single code for operation.

John
 
Thanks, but I have one more question: here is written that ". Some manufacturers use unusual formats that are simply not supported". I don't understand why won't it work with any device?

Any scheme you use to record and store IR signals obviously has to be able to cope with whatever you present it - but at the same time has limitations on the amount of data that can be stored. Some protocols may exceed the design of the capture system.

Another problem is that some systems (B&O was a prime offender) used an entirely different carrier frequemcy (100KHz) so couldn't be captured.
 
I have a remote from 35 years ago which doesn't like to learn properly. Some buttons have trouble. I know the EXACT coding, which is unusual. The remote is overclocked at about 70 kHz for one.

The problem is for the learning remote determining, what is a "single code" and what is a "repeated code". The remote changes its transmission slightly for buttons that you hold down.

On some remotes, ON and OFF toggle. It's the same code for ON as well as OFF.
 
Last edited:
Thanks, As far as I understood, controller sends difficult IR code, large and difficult and the problem is memory, which it will take. (I Understood that some use other frequency too). what if I use memory stick? I make a transmitter, where I will copy codes from PC and it will just use codes to transmit data? I found some kind of "Hex Code": https://www.remotecentral.com/cgi-bin/codes/fujitsu/pds-2173-b/ Can you please tell me how to use it? I mean, what does those numbers mean? duration of times between triggers of IR LED?
 
Those codes are specific to the Phillips PRONTO system. The format is documented. It would not be a "learned code". There are other formats as well.

As I understand it, you typically have 38 kHz at some duty cycle < 50% to save power. One of the encoding scheems is pulse code modulation.

You may have a start bit min time, a 1 and a 0 which have different on times and a stop bit which is also variable. The data is variable too.

Data is sent by varying the amount of time the carrier is on. You could have say a 20% duty cycle carrier.

Anything is possible especially when you add addressing and error checking.

One method sends the data complemented as an error check.

My remote is pretty simple. It has a start bit followed by fixed data anf followed by stop 1 or stop 2. The short stop is a repeat, the long stop, a single push.

When your learning, a repeat repeats forever. When you push once, your learning a single press.

Its hardfor software to draw the line.

Some buttons will not repeat.
 
When designing an universal IR receiver you need to simply forget on protocols.If you think on protocol side you will never can build that.

I'll simply store the timings of each high & low pulses in the incoming data stream.Surely you need lots of registers to store this data (times) & need to fine tune the timings by adding or subtracting a factor for every stored number.

You also need to bypass the 1st or 2 or 3 timings because some protocols used a toggle bit in the front end of the packet & some protocols this bit is in the end.namely universal but in real life its not for all remotes but for many it works.

http://www.ivica-novakovic.from.hr/IrOn-Off-eng.htm
 
Last edited:
No no, you didn't understand what I wanted. I want to make universal remote control, which will learn IR codes with receiver and remember them. My questions are:
1)Can I make such a IR Receiver, which will be able to receive all carrier frequency IR codes?
2)If most (95%) remote controlled devices use 36-40Khz frequency, then I will be able do detect them, and store the whole code in memory (with data and repeat ones). just Record the times when signal changes (0-1 or 1-0) and store times. Won't it work? without any decoding, just store and playback
 
Thanks gayan. which freqyency receiver should I buy? 36 or 38 khz? and also, will 64K EEPROM be enough to remember about 10 codes?
 
No no, you didn't understand what I wanted. I want to make universal remote control, which will learn IR codes with receiver and remember them. My questions are:
1)Can I make such a IR Receiver, which will be able to receive all carrier frequency IR codes?
2)If most (95%) remote controlled devices use 36-40Khz frequency, then I will be able do detect them, and store the whole code in memory (with data and repeat ones). just Record the times when signal changes (0-1 or 1-0) and store times. Won't it work? without any decoding, just store and playback

Yes, it will, but you've got to invent a method of detecting, storing, and re-transmitting the codes.

The problems are how much data you might, or might not, need for different remote types.
 
Which will go, TSOP34838 or TSOP34836????? to cover most devices
 
To add emphasis to what Nigel just said, please review his tutorial on the subject. You can't simply record highs and lows as 1's and 0's and consider you have captured the code. To over simplify, how will you distinguish a series of 1's and 0's containing no data from a series that contains data? How will you tell "1,1,1" from "1"? Hint: pulse width may have no meaning.

Here is another description. The real meat begins on page 3 of part 1:
**broken link removed**
**broken link removed**

**broken link removed**

John
 
Hi Maximus I'll use a TSOP17378 Vishay Receiver.

@Transmitter
In 1738 you have a 26uS time period (1/38KHz).Out of this we are dealing with a 50% active High time.In other terms 13uS ON time.Most remotes used 10-50% High times to send IR pulses more distance.If you use the same High time to a TSOP1756 receiver it will work but cannot guarantee the distance that is working.

Challenge is to record the timings rather than transmitting.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top