Learnable IR remote control for home appliances.
Everyone has experienced the inconvenience of having to use their own remote control for each electronic device.
Remote controls take up space, and rarely used remote control models in the household often “roll under the sofa”, and at the most inopportune moment they require battery replacement, in a word, they create all sorts of inconveniences.
In addition, each manufacturer, as a rule, has its own understanding of the “Correct Design”, so the same button (for example, the banal “VOL +” and “VOL-“) on each remote control is located in its tricky place, the position of which can only be learned.
Methods of dealing with multi-gun control have long been known: this is the use of one universal or learning remote control.
The universal remote, as the name implies, is designed to control multiple devices in turn.
What is the essence of this universal “Set”, in the internal memory of the universal remote control, the control commands of many devices of various manufacturers are “sewn in” – the number of supported models can be in the thousands. … And what will happen if your device model is not in the memory of this particular universal remote control? And this is the main drawback of conventional universal remotes: nothing will happen. You will not be able to use it with your device. This shortcoming is corrected by trained universal remotes.
The difference from the universal one is that it can be very easily “taught” to control the desired device.
This is done using the original remote, very simple.
The original and learning remotes are placed opposite each other, the learner is put into learning mode, after that the button that we want to “teach” is pressed on the original, the button of the same value is pressed on the learning remote, the learning remote intercepts the signal from the original, remembers it, and now when you press the “trained” button, it will send a memorized signal to the device. And so on, until we learn all the buttons we need.
Learning control panel in the basic version of the program, able to copy control commands in learning mode, the circuit design is implemented in the form of eight channels, with six programmable buttons for each channel.
For this basic version of the circuit, in total, these are 48 programmable keys for controlling various devices (60 programmable buttons, see Program option, 4 channels – 15 R_C_328_4x15 buttons).
Assembly parts: Atmega328P microcontroller, almost any TSOP receiver with a modulation frequency of 36 kHz, the main thing you need to pay attention to here is the possibility of its operation at minimum voltages (this information can be found in the TSOP characteristics documentation in the description from the manufacturer).
Instead of a TSOP receiver, a simple photodiode can be used in this circuit.
A type of kit that is used as a sensor for arduino.
The photodiode there, of course, is not quite “simple”, but it is very close in properties to a simple one, then that it is a “special” IR photodiode is for sure.
Work description.
1. When the power is turned on, the remote control is in the minimum power consumption mode, the current consumption is less than 1 microampere (sleep mode).
2. Pressing the remote control buttons issues a command from a pre-selected channel. After finishing pressing the key and sending the command, the remote control goes back to sleep mode.
3. A short press on the channel selection buttons of the learning remote control SET + or SET – brings the remote control out of sleep mode. The LED corresponding to the channel number turns on.
4. Repeated short pressing (less than 1 second) on the SET + or SET – buttons allows you to select the channel number of the learning remote control.
5. If you do not press the SET + or SET – buttons or remote control buttons in this mode, then after 10 seconds the remote control will automatically go into sleep mode.
6. Pressing the programmed button on the remote control will send a command to the corresponding channel and the pressed button. Pressing the button is duplicated by the indication of the on LED of one of the channels. After that, the remote control will go back to sleep mode.
Learning mode.
1. Select the programmable channel by short pressing the SET + or SET – buttons .
2. Pressing and holding down the SET + or SET – buttons for more than 1 second switches the remote control to the programming mode. The LED of the selected channel starts blinking at a frequency of 1Hz. (if you do not take any further actions and do not press the SET + or SET – buttons , then after 60 seconds the remote control will automatically go into sleep mode ).
3. On the original remote, press the desired button. If the signal is received, the channel LED will flash at 5Hz. (if no further action is taken, the received signal is in the temporary memory of the MK for 5 seconds, otherwise after 5 seconds it will be reset to standby mode.)
4. Press the button on the learning remote control corresponding to the received command. The command will be written to memory, the remote control will go into sleep mode.
5. To program other remotes and commands, repeat steps 1-4.
6. In the basic version of the program, the 8th channel of the learning remote control has a feature. It is designed to record commands from air conditioners (tested with Chinese-made air conditioners such as Midea , Dekker ), so you need to keep in mind that this channel has the feature of recording commands for the air conditioner. And if you use this channel for ordinary household appliances, then you need to check whether the control of other devices from this channel is comfortable enough.
In sleep mode (standby mode), the program can track the pressing of all the buttons of this circuit, from a single press of any button, the MK instantly “wakes up” sends a programmed command, and again enters sleep mode, while almost without consuming current from the batteries.
Because, in the ATMega328P microcontroller there is a PicoPower function (and this applies to the entire line of this MK series with the letter P).
The standby current consumption of this circuit is less than a microamp. Theoretically, if you use a common small CR2032 battery here, which has a capacity of about 225 mAh, it will last more than 25 years of waiting.
Fusebits. The program works with an external 8MHz crystal connected.
It is not excluded the option to use this program to configure the fuses for the internal 8MHz generator .
One of the variants of this scheme, brought to life, using a case from a donor remote control.
The printed circuit board is one of the examples of the implementation of this circuit in hardware, the board is made specifically for the SAT Globo donor console.
I don’t know if this board option is suitable for anyone or not, but I’ll make a small comment on the board.
Since this board was the first test to check the operation of the program of the learning console, the wiring of some tracks was done in reserve, and in particular, extra AVCC and AREF connections were made.
I could not establish that these connections have any effect on power consumption, since in standby mode my tester can no longer measure, less than 1 μA.
Therefore, with further repetition, you can take into account this remark.
File archive: firmware R_C_328_bv, printed circuit board .
PS Tests of the program were carried out on household appliances made in China, Japan, Europe. Which was physically available for testing is:
TV brands Digital, Schneider, Universum, Samsung, Phillips , LG, satellite receivers O penbox , Globo DVD players LG , Odeon Media players Samsung, Alfacore , Panasonic , Hitachi, air conditioners Dekker, Midea, Sensei. The results of controlling this technique from the trained remote control are positive.
The control protocols for this technique cannot be identified exactly, we can only say unequivocally that they and their varieties are from the RC5, Sony (SIRC), NEC, JVC, Samsung protocol family.
Therefore, there is a proposal for those who assemble and test this circuit themselves, write what works and what does not. Perhaps then it will be possible to compile a list of models that this remote control supports.
For those who can independently determine the protocol, take data with an analyzer or make an oscillogram of pulses, and will encounter a negative result of control from a learning remote control, write to the forum , attach information to the messages, then you can already consider whether it will work or not and, possibly, correct the firmware .
The developer of the program is comrade Soir , thank you very much for creating this interesting and useful program.