Clone!
Presenting ..............CLONE ! - A small TV remote that can clone any five
buttons of your IR TV remote.......and also can JAM the IR transmission of
any other Remote..........annoy others by jamming the TV signal,or when
someone else has taken the remote,this little friend can help you out.....
buttons of your IR TV remote.......and also can JAM the IR transmission of
any other Remote..........annoy others by jamming the TV signal,or when
someone else has taken the remote,this little friend can help you out.....
A few days back I was studying about the IR signals,and this idea came to my
mind.In this instructables,I am sharing the building process along-with the
code of this tiny gadget.
However,to build this a few basic skills are required-
1. Knowledge about soldering
2. knowledge about Arduino programming,Atmega 328p MCU
3. knowledge about how to build a circuit from schematics.
That would be sufficient,I think......
Well,here are the things we will need to build this..........
1. Atmega 328p micrcontroller
2. Prototype Circuit boards
3. Two LEDS....any colour....to be used as indicators
4. One IR LED
5. One TSOP 38Khz modulated IR decoder
6. Sevent momentary push to on switches (Five used as remote buttons,sixth
one as programming cancel button,seventh one as reset button)
7. one push to on-push to off switch (Used as jammer button)
8. two 22pF ceramic capacitors
9. two 0.1uF ceramic capacitors
10. 7805 Voltage regulator IC
11. 9V battery
12. One 16Mhz crystal
13. eight 10K resistances
15. two 1K resistances
14. 9V battery connector clip
Now,lets start............
mind.In this instructables,I am sharing the building process along-with the
code of this tiny gadget.
However,to build this a few basic skills are required-
1. Knowledge about soldering
2. knowledge about Arduino programming,Atmega 328p MCU
3. knowledge about how to build a circuit from schematics.
That would be sufficient,I think......
Well,here are the things we will need to build this..........
1. Atmega 328p micrcontroller
2. Prototype Circuit boards
3. Two LEDS....any colour....to be used as indicators
4. One IR LED
5. One TSOP 38Khz modulated IR decoder
6. Sevent momentary push to on switches (Five used as remote buttons,sixth
one as programming cancel button,seventh one as reset button)
7. one push to on-push to off switch (Used as jammer button)
8. two 22pF ceramic capacitors
9. two 0.1uF ceramic capacitors
10. 7805 Voltage regulator IC
11. 9V battery
12. One 16Mhz crystal
13. eight 10K resistances
15. two 1K resistances
14. 9V battery connector clip
Now,lets start............
Understanding IR Signals
Now,lets take a look at the IR transmission mechanism...
We can clearly see that the TSOP sensor filters out the 38Khz modulated IR
signal,and actually "Inverts" the incoming data.....so actually we have to
measure the time difference between the "chunks" of pulses and send a 38Khz
IR wave accordingly....
So,what this tiny gadget basically does is,it collects the RAW IR data via
the IR decoder,stores them in RAM,and when buttons are pressed,pulses the IR
LED accordingly.......and for that Jammer part,it sends out 38Khz Random
pulses,so the receiver goes confused and gets "Blind" at other IR signals.
Now,here's some information
When this device starts,I need to point the remote at it,and press any 5 keys. It takes the raw IR data and stores them in RAM.
IR signals are pretty fast and the digitalRead(),digitalWrite() functions are too slow,that's why I am using the direct pin access method.
digitalWrite(12,HIGH) can be replaced with PORTB |=_BV(PORTB4); which is a lot faster than digitalWrite()
digitalWrite(12,LOW) == PORTB &= ~_BV(PORTB4); PORTB4 is Arduino digital Pin 12.
if( PIND & _BV(PORTD2) ) == gives the same result as if( digitalRead(2));
We can clearly see that the TSOP sensor filters out the 38Khz modulated IR
signal,and actually "Inverts" the incoming data.....so actually we have to
measure the time difference between the "chunks" of pulses and send a 38Khz
IR wave accordingly....
So,what this tiny gadget basically does is,it collects the RAW IR data via
the IR decoder,stores them in RAM,and when buttons are pressed,pulses the IR
LED accordingly.......and for that Jammer part,it sends out 38Khz Random
pulses,so the receiver goes confused and gets "Blind" at other IR signals.
Now,here's some information
When this device starts,I need to point the remote at it,and press any 5 keys. It takes the raw IR data and stores them in RAM.
IR signals are pretty fast and the digitalRead(),digitalWrite() functions are too slow,that's why I am using the direct pin access method.
digitalWrite(12,HIGH) can be replaced with PORTB |=_BV(PORTB4); which is a lot faster than digitalWrite()
digitalWrite(12,LOW) == PORTB &= ~_BV(PORTB4); PORTB4 is Arduino digital Pin 12.
if( PIND & _BV(PORTD2) ) == gives the same result as if( digitalRead(2));
The Circuit
first take a look at the Schematics...
I have made the MCU board seperately,so that I can use it for other projects
too......it's nothing but a bare minimum mega328p,with external 16Mhz
Crystal,two 22pF capacitors,one 7805 Voltage regulator with two 0.1uF caps
across it's input and output,and one reset button,accompanied with a 10K
pull up resistor.
You can construct the complete circuit in one board,or you can build a
custom shield I have built for my version of Atmega328p bare
minimum........care should be taken so that the pins match exactly.
You just have to study and make the circuit.............I'm leaving the designing part upto you.
I am not familiar with circuit drawing softwares,so I drew it on MS paint......
The Pin config. of mega168 and 328p are the same.....I have attached the 168 one here.
I have made the MCU board seperately,so that I can use it for other projects
too......it's nothing but a bare minimum mega328p,with external 16Mhz
Crystal,two 22pF capacitors,one 7805 Voltage regulator with two 0.1uF caps
across it's input and output,and one reset button,accompanied with a 10K
pull up resistor.
You can construct the complete circuit in one board,or you can build a
custom shield I have built for my version of Atmega328p bare
minimum........care should be taken so that the pins match exactly.
You just have to study and make the circuit.............I'm leaving the designing part upto you.
I am not familiar with circuit drawing softwares,so I drew it on MS paint......
The Pin config. of mega168 and 328p are the same.....I have attached the 168 one here.
Circuit..........continued
Here are some pics of my build....
Software
After building the Board,you need to transfer the program I've written to the mega328p..There are several ways of doing this. I used my Arduino as ISP and uploaded the sketch to the MCU.....here is a good tutorial about this by Oddbot.
http://letsmakerobots.com/node/35649 ..
Alternatively,you can simply plug the MCU in an UNO,and upload the sketch to it. It would be better if you can add a reflector (like those found in battery torches) at the back of the IR LED,It will make the beam stronger,and thus will provide long range.
Just Use Arduino IDE to upload the sketches.....
http://letsmakerobots.com/node/35649 ..
Alternatively,you can simply plug the MCU in an UNO,and upload the sketch to it. It would be better if you can add a reflector (like those found in battery torches) at the back of the IR LED,It will make the beam stronger,and thus will provide long range.
Just Use Arduino IDE to upload the sketches.....
Downloads
You're Done!
Using instructions:
1.Plug the battery in and wait for the LEDS to settle down
2.Press the buttons connected to digital pins 3 and 7 to adjust the output frequency till the TV signal gets jammed
3.Then press button connected to digital pin 6 to confirm frequency.
4.Now point the TV remote at CLONE !,and press the keys one by one as in the video,remember to press the power key first and press it twice.
5.after recording all the buttons,the indicator LED stays on.....you can also cancel further programming by pressing the cancel programming button....
6.now use the RAW IR data to control the tv,else just JAM (Button connected to pin 14) it out..So that no one else can use it.....
More about this here - http://letsmakerobots.com/node/36905
#You can also skip 2 and 3 by pressing the button on digital pin 6.....It will activate default frequency,which is 38KHz.
And,here's a video too....It was very difficult to shoot it all by myself.
1.Plug the battery in and wait for the LEDS to settle down
2.Press the buttons connected to digital pins 3 and 7 to adjust the output frequency till the TV signal gets jammed
3.Then press button connected to digital pin 6 to confirm frequency.
4.Now point the TV remote at CLONE !,and press the keys one by one as in the video,remember to press the power key first and press it twice.
5.after recording all the buttons,the indicator LED stays on.....you can also cancel further programming by pressing the cancel programming button....
6.now use the RAW IR data to control the tv,else just JAM (Button connected to pin 14) it out..So that no one else can use it.....
More about this here - http://letsmakerobots.com/node/36905
#You can also skip 2 and 3 by pressing the button on digital pin 6.....It will activate default frequency,which is 38KHz.
And,here's a video too....It was very difficult to shoot it all by myself.
http://www.youtube.com/watch?v=Ge9JVI1a9J4&feature=youtu.be