I'm currently messing around with "capacitive sensors" by trying to light an LED using an Arduino. My capacitive sensor that I am using is just made up of an Arduino, three wires and a resistor. My setup is simply two wires hooked to an Arduino and both ends of a resistor, with the third wire connected to the resistor on one side, and nothing on the other.
When I am using a 1 megohm resistor, I am getting values in the range of 2700 ~ 2800 when I grasp the exposed end of the wire with my fingers. However, when I try switching the resistor to one with lower resistance (10,000 ohm), I am only getting values of 60 when I grasp the exposed wire, and I get values of 0 when I use a 220 ohm wire.
An illustrative example:
.............
| |--------- <-- wire
| ARDUINO | |
| | Resistor
| | |
| |--------- +++++++++++ <---- Exposed wire which I grab
.............
Should I not be getting a greater value by using a resistor with less resistance as that would allow more current to flow through? Yet, the inverse is happening where the values outputted from my Arduino decrease as I lower the resistance and increase as I increase the resistance.
Why is this so?
Best Answer
Capacitive sensing works by using the RC network created by the resistor (R) and the human body (C) as a timing circuit and measuring how long it takes the analog signal to reach a digital threshold (\$\tau = {k RC}\$) when the capacitance is charged or discharged. When the resistance decreases the timing speeds up, and lower values are measured.