
I made a touch remote using Arduino.
Things used in this project:
Hardware components
- Arduino UNO & Genuino UNO × 1
- IR receiver (generic) × 1
- LED (generic) × 1
- Resistor 100 ohm × 6
- Jumper wires (generic) × 1
Story
Touch Remote using Arduino
In this video, I'll show you the working of touch remote. This is a fun project. I wished I could control television using a touch remote. So I decoded my TV remote and used aluminum foil as touchpads.
Since many suggested to add the explanation, I had added a voice over. Hope you like this video. Thank you all!
the project: https://youtu.be/G3Vxt2pfE3Y
More projects
Chakra Healing Harmonizer using Arduino: https://www.youtube.com/watch?v=fa5KX7VIZOs
Arduino Tutorial: J.A.R.V.I.S v1 | How to make a Home Automation: https://www.youtube.com/watch?v=QZbFyd1MMxo
Arduino Tutorial: Mini Piano: https://www.youtube.com/watch?v=niiFx9eiCZk
Tamil Library for 16x2 LCD - தமிழ் எழுத்துக்கள்: https://www.youtube.com/watch?v=ph81PUIQe7w
Subscribe to YouTube
Never miss a video: https://www.youtube.com/channel/UCks-9JSnVb22dlqtMgPjrlg?view_as=subscriber
Any suggestions/ideas for new projects, do comment them below.
Thank you all! Like & subscribe for more 👍

Circuit diagram

Block Diagram
#define analogPin 0 // analog pin for measuring capacitor voltage
#define chargePin 13 // pin to charge the capacitor - connected to one end of the charging resistor
#define dischargePin 11 // pin to discharge the capacitor
#define resistorValue 10000.0F // change this to whatever resistor value you are using
// F formatter tells compliler it's a floating point value
unsigned long startTime;
unsigned long elapsedTime;
float microFarads; // floating point variable to preserve precision, make calculations
float nanoFarads;
void setup(){
pinMode(chargePin, OUTPUT); // set chargePin to output
digitalWrite(chargePin, LOW);
Serial.begin(9600); // initialize serial transmission for debugging
}
void loop(){
digitalWrite(chargePin, HIGH); // set chargePin HIGH and capacitor charging
startTime = millis();
while(analogRead(analogPin) < 648){ // 647 is 63.2% of 1023, which corresponds to full-scale voltage
}
elapsedTime= millis() - startTime;
// convert milliseconds to seconds ( 10^-3 ) and Farads to microFarads ( 10^6 ), net 10^3 (1000)
microFarads = ((float)elapsedTime / resistorValue) * 1000;
Serial.print(elapsedTime); // print the value to serial port
Serial.print(" mS "); // print units and carriage return
if (microFarads > 1){
Serial.print((long)microFarads); // print the value to serial port
Serial.println(" microFarads"); // print units and carriage return
}
else
{
// if value is smaller than one microFarad, convert to nanoFarads (10^-9 Farad).
// This is a workaround because Serial.print will not print floats
nanoFarads = microFarads * 1000.0; // multiply by 1000 to convert to nanoFarads (10^-9 Farads)
Serial.print((long)nanoFarads); // print the value to serial port
Serial.println(" nanoFarads"); // print units and carriage return
}
/* dicharge the capacitor */
digitalWrite(chargePin, LOW); // set charge pin to LOW
pinMode(dischargePin, OUTPUT); // set discharge pin to output
digitalWrite(dischargePin, LOW); // set discharge pin LOW
while(analogRead(analogPin) > 0){ // wait until capacitor is completely discharged
}
pinMode(dischargePin, INPUT); // set discharge pin back to input
}