Dane.Kouttron
Capacitive.Touch.Sensors
Problem:Buttons are simple and configuring a port for hi/lo is easy. capacitive touch sensors have no moving parts, and only require a human (or any other reasonably conductive thing) touch for input.
How it works:
Picture
the microcontroller as constantly measuring the rc time constant for a
fixed capacitor and resistor. the time between the hi and low state can
be correlated as the number of microseconds (from simple timer useage).
The number of microseconds , lets assume 500, would stay fairly
constant. Now, what if you touched a pin of the cap? would the time
constant change. you bet. the differential rc time constant input is a
quick and simple way to make a capacitive touch sensor. ![]()
Making it work [simple]
Using Bascom, there allready is a library called getrc() where A= Getrc(pind,4) returns the rc time constant in numerical format (in micro seconds).
To designate a button bing pushed, simply poll, or check all the touch pads to determine if their rc time value is greater or less than a predetermined value. this means that a port is being 'touched' or in this case something is being pushed.
Dane.Kouttron
Rensselaer Polytechnic Institute
Electrical & Electrical Power
631.978.1650
