Build Your Paper Touch TV Reomte Control Using Arduino

by vigneshraja in Circuits > Arduino

2478 Views, 15 Favorites, 0 Comments

Build Your Paper Touch TV Reomte Control Using Arduino

vlcsnap-2014-10-21-09h32m48s109.png
Paper touch TV remote control using Arduino

Hello every one,

i am vigneshraja. i did this project for fun. i thought if my tv remote become touch remote.so i made this project by combining the IR remote library and capacitive touch library of arduino.for touch buttons i use paper pieces that is sketch by pencil.watch my project video here to see the project in action.

this is so simple project. lets start the project built.

Read the Remote Button Code to Control TV

FOM4S5KI09E1QVS.MEDIUM.jpg

At first we are going to read the remote buttons code using IRremote library file of arduino. So we can help arduino to control our TV automatically in main program which available in next step. use the IRremote library file in arduino software. if you don't have IRremote library download from the attachment below.

After downloading it extract it and add it in the libraries folder of arduino software
Now take the IR receiver shown in above image (THIS IR RECEIVER IS FOR ONLY THIS STEP ALONE NOT FOR PROJECT)

  • CONNECT THE IR RECEIVER GND TO ARDUINO PIN 10
  • CONNECT THE IR RECEIVER Vs TO ARDUINO PIN 9
  • CONNECT THE IR RECEIVER OUT TO ARDUINO DIGITAL PIN 11

Then copy the code bellow and paste it arduino software and compile and upload it.then open serial monitor.

and press your TV remote buttons one another one pointing towards the IR receiver connected in the arduino Then the hex code for that button will be show in the serial monitor (example:40BFFA05).

Note down the which code is for which button in your remote for main program use in next step.
once you all done you are ready to move next step.

#include<IRremote.h>

int power_pin = 9;

int ground_pin = 10;

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()

{

pinMode(power_pin,OUTPUT);

pinMode(ground_pin,OUTPUT);

Serial.begin(9600);

irrecv.enableIRIn();

digitalWrite(power_pin,HIGH);

digitalWrite(ground_pin,LOW);

}

void loop() {

if (irrecv.decode(&results)) {

Serial.println(results.value, HEX);

irrecv.resume();

}

}

then down load the capacitor sensor library file too and extract it and add with arduino software.

Circuit Diagram

Capture.JPG
vlcsnap-2014-10-20-20h26m20s151.png
vlcsnap-2014-10-20-20h26m44s118.png

In circuit diagram(image 1) connect

LED 1 is IR LED.

Resistor R1 is 100 ohm.

Resistor R2,R3,R4,R5,R6,R7,R8,R9 is 100K ohm.

Before using the touch papers sketch the paper pieces with pencil (very darkly).

then connect the paper pieces to the circuit as shown in second diagram.

in circuit diagram

PAD 1 is channel decrease paper piece

PAD 2 is channel increase paper piece

PAD 3 is TV menu control paper piece

PAD 4 is ok button paper piece

PAD 5 is TV power (ON/OFF)control paper piece

PAD 6 is volume increase paper piece

PAD 7 is TV input source selection paper piece

PAD 8 is volume decrease paper piece

Project Coding:

Once you read the remote button hex codes then now this is time to put main program code into arduino.
The bellow program is arduino program for this project paper touch TV remote control . upload the bellow code to arduino. before uploading the code put the your tv remote buttons hex code in corresponding position showed in the program using command line.and one more change is needed in program for adopt your remote for that follow the step given in between the code in multicommand line

#include<IRremote.h>

#include<CapacitiveSensor.h>

CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2);

CapacitiveSensor cs_4_5 = CapacitiveSensor(4,5);

CapacitiveSensor cs_4_6 = CapacitiveSensor(4,6);

CapacitiveSensor cs_4_7 = CapacitiveSensor(4,7);

CapacitiveSensor cs_4_8 = CapacitiveSensor(4,8);

CapacitiveSensor cs_4_9 = CapacitiveSensor(4,9);

CapacitiveSensor cs_4_10 = CapacitiveSensor(4,10);

CapacitiveSensor cs_4_11 = CapacitiveSensor(4,11);

IRsend irsend;

int statusled = 13;

void setup()

{

cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);

pinMode(statusled,OUTPUT);

Serial.begin(9600);

digitalWrite(statusled,LOW);

}

void loop() {

long start = millis();

long chd = cs_4_2.capacitiveSensor(30);

long chi = cs_4_5.capacitiveSensor(30);

long menu = cs_4_6.capacitiveSensor(30);

long enter = cs_4_7.capacitiveSensor(30);

long power = cs_4_8.capacitiveSensor(30);

long voli = cs_4_9.capacitiveSensor(30);

long source = cs_4_10.capacitiveSensor(30);

long vold = cs_4_11.capacitiveSensor(30);

if (power >= 60) {

irsend.sendNEC(0x40BF48B7,67); // put power button hex code of your TV remote in under line area

/*Another important thing in this project is to find the length of the
hex code that is present in underlined number in the code:irsend.sendNEC(0x40BF28D7,67); The 67 is length of my tv remote hex code.This value differ based on the remote. To find this length value in your remote.simply connect the ir receiver as shown in the previous step to arduino. Then add the IR remote library to the arduino software. open the arduino software and goto file->examlpes->IRremote-> IRrecvDump . a code will be open upload the code to arduino and open serial monitor.Then press any one button of your TV remote pointing towards the IR receiver connected with arduino. then a length of values showed in the serial monitor. In that you can see that the RAW(value) .in that bracket near the RAW has value. That is the length of the hex code of your TV remote. example:RAW(67). note down the value and replace your TV remote length value instead of 67 in this code all place.Then you all done in code. you are ready to design circuit*/

digitalWrite(statusled,HIGH);

Serial.println("Sent power code ");

}else if(voli >= 60){

irsend.sendNEC(0x40BF58A7,67); // put volume increase button hex code of your TV remote in under line area

digitalWrite(statusled,HIGH);

Serial.println("Sent volume increase code ");

}else if(vold >= 60){

irsend.sendNEC(0x40BF7887,67);// put volume decrease button hex code of your TV remote in under line area

digitalWrite(statusled,HIGH);

Serial.println("Sent volume decrease code ");

}else if(source >= 60){

irsend.sendNEC(0x40BF28D7,67); // put input source select button hex code of your TV remote in under line area

digitalWrite(statusled,HIGH);

Serial.println("Sent input source code ");

}else if(enter >= 60){

irsend.sendNEC(0x40BFD22D,67);// put OK button hex code of your TV remote in under line area

digitalWrite(statusled,HIGH);

Serial.println("Sent ENTER code ");

}else if(chi >= 60){

irsend.sendNEC(0x40BFD827,67);// put channel increase button hex code of your TV remote in under line area

digitalWrite(statusled,HIGH);

Serial.println("Sent channel increase code ");

}else if(chd >= 60){

irsend.sendNEC(0x40BFF807,67); // put channel decrease button hex code of your TV remote in under line area

digitalWrite(statusled,HIGH);

Serial.println("Sent channel decrease code ");

}else if(menu >= 60){

irsend.sendNEC(0x40BF30CF,67);

digitalWrite(statusled,HIGH);

Serial.println("Sent MENU code "); // put MENU button hex code of your TV remote in under line area

}else{

digitalWrite(statusled,LOW);

}

}