In RC method, sensors are used in pairs. But if the number of sensors happen to be odd, what should I do?
On TouchSense with the LaunchPad, the R part is built into teh MSP itself. The sensor is just a capacitor (that changes its capacitance by the touch). The resulting oscillation changes its frequency (lower with increasing capacitance) and teh software is responsible for interpreting the result.So no pairs are needed with this approach. Each sensor pin is for one independent touch button.
_____________________________________Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.
You probably are not aware of the Pin-Oscillator function of some of the MSP430 chips. This is much simpler and more sensitive as compared with RC method or RO method for sensing capacitive touchpad that TI talked about a few years ago.
old_cow_yellowThis is much simpler and more sensitive as compared with RC method or RO method for sensing capacitive touchpad that TI talked about a few years ago.
I don't like the PinOsc because it can only handle one pin at a time, requires acxtive switching between pins, and occupies the timer.
SOme tiem ago, I implemented a capacitive sensor that worked on timer capture/compare, using oen CCR unit per sensor and CCR0 for all. Unused CCR units could be used for normal timing jobs, as the timer was running on SMCLK. It worked quite well and required one schottky diode per sensor.
The approach was simple: CCR0 was charging the sensor pads with a PWM signal through the diodes. When CCR0 output switches to low, the charge ont eh sensor pads is depleted by the leakage current of the CCRx inptu pins, eventually triggering an edge interrupt. The vaoue in the attached CCR register is the time needed to deplete the charge and proportional to the capacitance.All sensors are measured in hardware simultaneously, no software overhead required at all. Just poll a value from the CCR when needed. Of course, the CCR0 interrupt may implement some supervising and calibrating funcitons, or even trigger 'press' events after analyzing the current results.
Well, I never finished this into a usable library, since I was then moved to software development and had to stop my hardware experiments.