You are on page 1of 8

Serial port controlled infrared transmitter with PIC

Peter's electronic projects Serial port controlled infrared transmitter with PIC
2002/06/16 designed by Peter JAKAB NOTE for beginners: PICs are general purpose microcontrollers which have to be programmed before you can use them in the actual circuit! Check out this link to learn more.

This is a programmable infrared (remote control) transmitter, which can be controlled from a PC serial port. It is capable of sending many remote control formats, including the Philips RC-5 standard. Exact formats with the timing parameter names are shown on the pictures: (1 of 8)4/13/2005 6:45:25 PM

Serial port controlled infrared transmitter with PIC

The controller will accept commands on the serial port. Settings are: 19200 bps, 8 bits, no parity, 1 stopbit, no flow control (XON/XOFF or RTS/CTS). Commands consist of hex coded bytes and must be written on the port as ASCII characters separated by space, terminated by ENTER (ASCII char 0d) The list of commands is here: SETSTATE 54 set IR mod output state Setting the mod output HIGH for a long time can result in blowing the IR transmitter LED out! <state>

SETPARAMS set coding parameters 55 55 SENDPDM <ir_T> <head_h> <head_l> <bit0_h> <bit0_l> <bit1_h> <bit1_l> <tail_h> <tail_l> <ir_T> <skipbits> <togglebits> <firstbyte> <rc5tail> send ir command header pulse high for T*head_h, low for T*head_l data bytes transmitted as: bit#0 bit#1 bit#2 bit#3 bit#4 bit#5 bit#6 bit#7 tail bit is high for T*tail_h, bit0 is high for T*bit0_h, low for T*bit0_1,bit1 is high for T*bit1_h, low for T*bit1_l <byte> [byte] [byte] ...

56 (2 of 8)4/13/2005 6:45:25 PM

Serial port controlled infrared transmitter with PIC


send ir command transmit 2 bytes per ir command: <firstbyte> 8-skipbits bits then <secondbyte>, all 8 bits data bytes are transmitted as: bit#7 bit#6 bit#5 bit#4 bit#3 bit#2 bit#1 bit#0 bit0 is high for T, low for T, bit1 is low for T, high for T This command can be used to repeat a given ir command, but not to transmit more commands one by one, because the toggle bit is only set after sending out all the ir commands. To send more than one ir commands, repeat the SENDRC5 command with the appropriate second byte(s).


<second byte> [second byte] ...

ir_T is given in 10 usecs, other timing values are given in ir_T steps You can use a terminal emulator program to test out the circuit (for example minicom on linux, NC terminal on DOS, or hyperterminal on windows), but the settings usually won't work at first, so it is recommended that you write a small program to set the parameters and send commands by pressing keys on the keyboard. Download source code here.

To program the controller to send a "channel +" command to an ITT 3520 video recorder, you need to send: 55 38 10 8 1 1 1 3 1 1 This command will set these parameters: T=560 usec, header pulse=16T, header gap=8T. bit0 pulse=1T, bit0 gap=1T, bit1 pulse=1T, bit1 gap=3T, tail pulse=1T 56 31 ce 01 fe This command will send the required command bytes to the video recorder. You can see that this format contains some type of ID and a command code. Each byte is transmitted normally then with all bits reversed. You can repeat this second command more times to ensure reception.

obtaining the protocol for your remote

The easiest is if you find the specification of your remote. Good pages to start are: the SIRCS page and the HP48 remote control program page. If you have no success, you need to measure the signal timings yourself. If you don't have a storage oscilloscope, here is a cheap trick: connect an IR receiver module to your soundcard line input and digitize the modulation waveform of all the buttons on your remote with a sound recorder and editor program. Here is a waveform example for the ITT 3520 video recorder remote. (3 of 8)4/13/2005 6:45:25 PM

Serial port controlled infrared transmitter with PIC

You can actually measure all the signal times of header, bit0, bit1 and the tail pulse in a sound editor and decode the bits by hand. The yellow bars on the picture show the decoded bits. The last 16 bits contain the button code. The actual code calculated from the bits is "31 ce 01 fe", and will control the video to step one channel up. Another example for the Panasonic remotes POWER button digitized is here:

The encoding scheme is quite similar, with the difference being only in the header/bit pulse/gap times. You can decrypt the command shown yourself. It shows the sequence 02 20 90 00 3d ad, where the first 4 (!) bytes are the device identifier and the last two (3d ad) are the actual command. These remotes employ some strange checksum/code integrity mechanism, where the codes are in byte pairs and the second byte is actually calculated (?) from the preceding one or they contain more than 8 bits and mirror some of the bits.

schematic diagram
The first picture shows the controller and the IR transmitter parts. The second shows the (nonstandard) serial interface level translator, which converts the TTL voltages to/from RS232 levels of the serial port. (4 of 8)4/13/2005 6:45:25 PM

Serial port controlled infrared transmitter with PIC (5 of 8)4/13/2005 6:45:25 PM

Serial port controlled infrared transmitter with PIC

read old comments on this page

FAQ Search Memberlist Usergroups Register Profile Log in to check your private messages Log in

Serial port controlled infrared transmitter with PIC

Moderator: jap Users browsing this forum: None Forum Index -> Serial port controlled infrared transmitter with PIC Topics Replies Author ajim_s@rediffmail. com XERODOC asamaid1 Views

Mark all topics read

Last Post
Wed Apr 13, 2005 12:20 am mohamed Mon Apr 11, 2005 12:25 pm XERODOC Tue Apr 05, 2005 6:48 pm asamaid1

project of communication SERIAL PORT TO CONTROL EXTERNAL A.C OPERATED DEVICE USART and transmitter & riecever

1 0 0

1918 13 52 (6 of 8)4/13/2005 6:45:25 PM

Serial port controlled infrared transmitter with PIC

UNIVERSAL REMOTE CONTROL READER infrared links infra red circuit idea of project INTERFACING REMOTE CONTROLL CIRCUIT DIAGRAM infrared motion direction sensor and counter infrared motion direction sensor and counter IR transceiver modules. infrared transmitter serial port Purchase premade PC infrared transmitter need project on IR counter school project IR communication using PIC16F876/7 info about ir remote controller. timer circuit for drag racing rc cars Can you help me? remote control What to do with the 3 (source) files Display topics from previous: All Topics Forum Index -> Serial port controlled infrared transmitter with PIC Page 1 of 1

6 0 3 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0

MARWANEKT MARWANEKT ally raghunathkp JEEVAN RIZWAN ahmed ahmed anita david18000 djshorts Sridhar D paddymccaff nkymark raj joen007 Ilija Popadic angzhel@yahoo. com Mr. Sancho

732 174 2529 319 389 7618 745 704 797 886 813 683 1159 2142 1527 1530 1301 2413 2821

Sat Mar 19, 2005 10:26 am MARWANEKT Sat Mar 19, 2005 10:20 am MARWANEKT Mon Feb 28, 2005 10:36 am saim Mon Feb 21, 2005 8:17 pm raghunathkp Tue Feb 08, 2005 6:00 pm JEEVAN Sun Jan 23, 2005 7:31 am kamala Tue Dec 21, 2004 8:35 pm ahmed Tue Dec 21, 2004 8:33 pm ahmed Fri Dec 17, 2004 5:11 am anita Fri Dec 10, 2004 4:39 pm david18000 Fri Oct 29, 2004 4:31 pm djshorts Thu Oct 21, 2004 2:01 pm Sridhar D Mon Sep 13, 2004 8:28 pm paddymccaff Fri Sep 10, 2004 4:09 pm nkymark Thu Sep 02, 2004 7:44 am raj Wed Jul 14, 2004 4:06 am joen007 Tue Jul 13, 2004 1:45 am Ilija Popadic Mon Apr 19, 2004 2:06 pm Mon Sep 01, 2003 3:10 pm Mr. Sancho

All times are GMT + 1 Hour

Jump to: Select a forum (7 of 8)4/13/2005 6:45:25 PM


Serial port controlled infrared transmitter with PIC

New posts New posts [ Popular ] New posts [ Locked ]

No new posts No new posts [ Popular ] No new posts [ Locked ]

Announcement Sticky

You can post new topics You can reply to topics You cannot edit your posts You cannot delete your posts You cannot vote in polls

in in in in in

this this this this this

forum forum forum forum forum

Powered by phpBB 2001,2002 phpBB Group (8 of 8)4/13/2005 6:45:25 PM