How can I send IR to communiacate devices like AC?

Hi ,

I want to be able to communicate with devices like Television or Air Conditioner to do things like turning them on or off or adjust the tempereture (AC) or the volume (TV) by sending IR to them . I wonder whether there is any IR sender module to cover such requeirments ? and if there is no such device , then how can I acheive these ?

This is also on my todo list.

As it is unlikely that the AC or TV remote will follow a standard such as RC5, so you will have to use some form of data bit capture noting the time between the pulses. Once you have this, you will need a 38Khz carrier and you pulse this on and off to match the timing you recorded earlier and this is then used to drive an IR LED.

I’ve done this before on the Atmel AVR and used the AVR timer to generate the 38Khz carrier and then I simply toggled the port on and off with the timing.

I am still looking at how to do this on the NETMF moduels I have. I am looking at using the Cerbuino with Xbee as the remote interface.

I’ve seen some on Codeshare for doing some of this. This one looks interesting and probably a good starting point.


@ Dave McLaughlin -

I just found this link :

could It be used for what I need ?

That will work but remember to generate the 38Khz carrier otherwise your receiving device won’t see the data.

1 Like

This is what I use:

Works great.

Nice idea but it needs an Ethernet cable at each location. I need to use Wireless as my apartment is all solid walls so all cable runs would be along the floor and doors and SWMBO is never going to go with that idea.


@ Dave McLaughlin - I use the wired version but they have a wireless one and a serial one as well.

@ andre.m - I don’t have a Cerberus. I have a spider and a hydra.

@ karamafrooz - There’s also this, by yours truly:

Currently only supports FEZ Spider and FEZ Hydra (the latter with Taylorza’s custom firmware that adds support for SignalGenerator). But even without my driver code, you can just use it with plain netmf, and use either SignalGenerator or bitbang the carrier frequency.

The Seeed module you found may work fine, depending on the range you need. I built my module because for my specific use (flying an IR helicopter) I needed greater power and range than I was able to find with any available IR emitter component/module.

This is probably a really dumb question. but why cant I use pwm and an op-amp to generate the carrier signal?

I’ve got to build an ir system for communicating between a g120 and g30. Actually just the g120 receives and the g30 sends. Just a packet with some location data??

What range do you need to achieve?

10ft bright light conditions.

That’s a bit of a push a I was thinking you could us an IRDA transceiver but the ones I could find are around 1M or slightly over this.

Maybe I need to rethink my design then.

Why not use a radio link? The prices are so low these days and getting it working in most cases is nothing more than working with a UART.

IR is fine as long as you are not going to have anything come between the beam.

IRDA is ideal if you want to transfer data from a device to a handheld without any electrical connection but you do have to keep them aligned. Wireless would work from a distance and no need for any alignment.

The alignment is actually why I need it. the g120’s move around the circuit with the production line. as they slowly pass certain points in the line they need to pick up data about the position. I think I will just have too shrink the design down to about a meter. Or could I just use like a powerful green light for one position, and a powerful red light for another?

Thanks for the advice, no doubt I’ll be back for more.

Can you guarantee the alignment? IRDA is picky about this. I recall trying to use this many years ago with my old PDA and you had to keep it within a certain window or it lost the connection. You’d need to check the datasheets to see what the alignment requirements are. It also depends on how fast your device is going to move past each other and how you initiate the process in the first place.

… but this has morphed dramatically away from this old thread, and while it’s a great discussion I think we should stop polluting the old AC related thread :slight_smile:


1 Like