This cool device can be used in many areas. You can connect up to 8 different devices to 8 relays and control them remotely with IR transmitter. The whole system consist of two parts: IR transmitter and receiver with controlled relays. Transmitter sends RC5 format IR signals modulated to 38 kHz carrier. Code is generated by microcontroller depending on which key is pressed. Receiver also has same PIC16F630 on board which decodes received signal and activates related relay. If you like this project you can build it by yourself as all necessary files are available for download.
PIC16F630 is the heart of the transmitter used to send IR command to receiver.It also generate 38 KHz carrier frequency. The CR2016 is 3 V battery which is supply for the circuit.
When any key not pressed the CPU work in SLEEP mode to reduce baterry power consumption and wake-up only when any key pressed. To wake-up the CPU from SLEEP mode the CPU use interrupt on change feature which interrupted when the state on PORTA change then the program execution after an interrupt is at the interrupt vector, if the global interrupt is not enabled, the program starts executing the first line of code right after the SLEEP instruction.In the interrupt service routine the software will scan the key that pressed and send IR command appropriate with key pressed.
Click for enlarge
The receiver also use PIC16F630 to control all function then.When power is applied to circuit the CPU will polling the IR input signal which is the output from IR decoder module (TSOP4838).After IR received the CPU decoding the IR command and turn on the buzzer about 60mS to generate beep sound. If you want to know how to decode the RC5 format read from sixca.com.
The output (relay) work as a toggle output thus when the right IR command decode complete the output will turn on and if the same IR command sent again the output will turn off.
Click for enlarge
Download Firmware (Hex) V1.0
Hex file to program into CPU both for TX and RX