comment [95]
- From emiliano on 21-01-2019 at 19:19:48
Hey! Yes i got it. Thanks so much i will show you the results later and I will ask you
something's for sure 😁
IP: 190.189.29.191
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...). In case you are having a hard time finding obsolete components, you might want to try the Win-Source.net.
[I'm on HackedGadgets and also on Hack-A-Day :-)]
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)
Author (sent by): Trax
Download counter: 29,769
Rating: (2.97, votes 6402)
Date: 26-04-2010
Lokalna verzija ove stranice: Dvokanalni IR prekidač v1
Tags: infra-red, ir, pic12f629, pic12f675, solid-state, ssr. +add your tag
very good article,thank you for sharing it, I learned a lot, in addition to winsource, we also
can find obsolete components in Jotrin Electronics Limited and veswin,censtry and so on
IP: n/a
Hey! Yes i got it. Thanks so much i will show you the results later and I will ask you
something's for sure 😁
IP: 190.189.29.191
I have sent you the source code to your gmail account. Did you get it?
IP: 89.146.169.66
Hi! Thanks for your answer! I know how work with assembly language. In fact I made a infrared
on/off switch 10 years ago in assembly language but with pic 16f84a. But is much more basic
that yours. My code doesn't learn incoming ir signals like yours. And now I need to make one
like yours and if can you give me the source code (with some comments better jajaja) of course
i will be happy to make some donation to you.
IP: 190.189.29.191
Sorry, the inrush current OR the counter EMS as you suggested is what damages it.
IP: n/a
Emiliano, yes, the inrush current damages the triac. You need some sort of overcurrent
protection. See this document for various protections for SSRs: https://bit.ly/2RARivX
IP: n/a
HI! first of all awesome work! I write to asq you 2 questions:
1) I maked the project using moc3043 and BTA16 700. I used 1 single channel and use 220v 50hz.
The problem i have is after a few uses of the device with 1 standar home fan, the device
brokes, i think when i turn off and the fan continues spinning this generates a tension that
returns to the device and damages it, or something like that. can you help me?
2) Can you sell me the source code or make another to control devices with on/off but using a
relay? thanks so much!!!
IP: 152.171.204.67
@pahore, the device does not support that mode, but I can implement a special firmware for you.
let me know if you are still interested so I can send you the modified HEX file.
IP: n/a
Hello, this project is so good, I like to make this with relays for dc switch, how I can to
make the switch may momentary, is for a computer project. Thanks
IP: 138.201.205.167
hello..
Dear trax I need a program (can be just HEX) that works with five channels on the same way from
"dual channel" using another kind of Pic...could you help me..please tell me about
cost if there is one..
thank you and
best regards..
IP: 201.42.45.43
You can log-in on forum link: Login page. After logging-in, return to this page and click refresh in your browser.