This project is very similar to previous one: IR light dimmer v1. The reason for building this device is primarily because incandescent light bulbs are being widely replaced with fluorescent power-saving ones. So the differences between dimmer and this device are that it has two channels, it can't be used for light dimming and it can control those power saving fluo-bulbs which have internal electronics/converters. The controlling element is solid state relay (SSR) which consists of opto-triac MOC3043 (MOC3042) and a triac (ie.: BTA16, BTA08, ...). This combination enables us to turn ON/OFF all kinds of appliances (motors, lights, heaters, boilers, PC...).
You can download the project files at the bottom of this page by clicking on red "download" button.
Features of current beta version of firmware:
- Controlling two independent appliances via remote controller and wall push-button - Double-click on the push-button controls second channel B - Learning IR codes from RC5 and NEC remotes - Two modes of operation: Toggle and ON/OFF - Sleep timer in duration of 2 minutes
If used for controlling the lights, this device is connected to existing home wiring installation inside a junction box which is usually located above the light switch. In order to properly connect the device to installation one should follow the schematics provided for that purpose. If connected differently there is a very big chance of some freaky side effects such as burned PIC microcontroller, serious fire and who knows what else.
Learning remote control IR codes (programming procedure) After connecting the device to installation you must program all 5 buttons of the remote control. Here is how to do that:
1. Hold the wall push-button for 11 sec so that the device can enter programming mode. After those 11 sec, LED will start to blink fast and both channels will turn off. Now you have 11 sec to complete the programming sequence: 2. Press the first button on your remote that will turn on first channel (ON - A) 3. Press the second button on your remote that will be used to turn off first channel (OFF - A) 4. Press the third button on your remote that will turn on second channel (ON - B) 5. Press the fourth button on your remote that will be used to turn off second channel (OFF - B) 6. Finally press the fifth button that will be used for activating/deactivating sleep mode (SLEEP)
During programming the LED and channel A will blink to confirm IR code reception. If your remote control does not have all 5 buttons that you can use, you can repeat previous button but that will cancel out some features. For example if your remote has only two buttons [X and Y], and if during programming you press: X X Y Y Y, that means that key X will be used for channel A ON function, and key Y will be used for channel B ON function. In that case you must configure jumper Jp1 for Toggle mode so that you can also turn the channels OFF with the same buttons. If you choose combination X X X X Y, it means that the key X will be used for ON and OFF function of channel A, and key Y will be used to activate/deactivate sleep mode (channel B not used). Programming notice: If during programming you notice that LED blinks even when you don't press any buttons on your remote control, it is probably because you used TSOP11xx instead of TSOP17xx receiver module. In that case you will probably not be able to program your device properly. If you are not satisfied with your choice of remote controller buttons you can repeat the learning procedure as many times as you wish. If you are planning to use your TV's remote controller you should probably choose those teletext buttons: red, green, yellow, blue and some fifth one, to avoid for example, switching channels when operating the device.
Appliance controlling Connected appliances (or just one) can be controlled via the remote controller or the wall push-button. - Remote controller can work in two modes: Toggle and ON/OFF mode (adjusted with jumper Jp1 in the schematics). Toggle mode is used to control the appliance with only one IR button in T flip-flop fashion: First press of a button turns the channel ON and second button press turns if OFF. ON/OFF mode requires at least two remote buttons, one to turn the channel ON and the other to turn if OFF. - Wall push-button can control both channels (appliances). Single-click turns OFF all channels and another single-click turns ON those channels that were ON before turning them OFF. Double-click will turn ON all channels if both channels were OFF and if at least one channels was ON it will toggle the second channel. This might seem complicated but I assure you it is not.
Sleep timer Sleep timer can be activated by a bit longer wall push-button press, more than 1.8 sec to be precise, or by pressing the appropriate button on the remote controller. Sleep timer cancellation is accomplished just like the activation. Please note that sleep timer will also be cancelled by turning any channel ON.
Important notice: This device is connected to mains power line, so it requires a lot of respect. If you are not sure in what you are doing, you better leave the installation part to the experienced electrician.
IR switch in operation: (single channel turn ON and turn OFF)
Hi ! I make the proyect and use moc3043 and BTA16 700. I use 1 single channel and use 220v
The problem i have is the bulb turns on with remote but don't turn off.
With the manual switch turns on and off ok.
Can you help me? Thanks a lot! IP: 184.108.40.206
Pozdrav Trax, uradio sam semu po Vasim instrukcijama. Malo eksperimentisao sa R2 i C3 (kao sto
ste pisali u predhodnim komentarima, jer nije htelo nikako da radi, upali kanal i nece da
ugasi). I sada radi ok, sem toga sto ne mogu oba kanala da upalim od jednom. Pitanje, da li je
uopste i moguce sa ovim souce code-om to uraditi ili ste tako ostavli da samo jedan kanal bude
aktivan? Upalim kanal A i kad hocu kanal B sve se ugasi, sve dok ne ugasim jedan od kanala.
Hvala na odgovoru. IP: 220.127.116.11
My device reads both RC5 and NEC protocols. It decides whether to read NEC or RC5 by measuring
the length of the first signal that appears on IR receiver. If the first impulse is larger then
RC5's start bit then my routine reads NEC protocol, else it continues reading RC5. It is quite
simple really! IP: n/a
Entire code for PIC is written in MPASM Assembler. I bet you don't write your code in ASM
because if you did you would probably be able to write your own routines. Anyway, I am sure you
can get these routines online by searching on google. If you need any help with writing your
own routines then I could help. IP: n/a