SparkFun: SoftPot Variable Potentiometer

Overview
The softpot is a thin potentiometer that can be used by just touching along the strip. The following is an excerpt from the SparkFun web site: ''These are very thin variable potentiometers. By pressing on various positions along the strip, you vary the resistance.''

Inputs and Outputs
The potentiometer has a variable resistance between 100 and 10,000 Ohms that changes linearly with location pressed. When either pin 1 or 3 is connected to ground and the other is connected to VCC the location of the touch can be calculated by reading the voltage on pin 2.

Bone Usage
Hook up pin 1 on the SoftPot to GNDA_ADC (pin 34) and pin 3 on the SoftPot to VDD_ADC(1.8V) (pin 32). Pin 2 on the SoftPot can be connected to any remaining AIN channels. This voltage can then be read as any normal analog in reading.

Sample C Code
This code will give a simple readout of the current position the SoftPot is being touched. AIN3, pin 37, is being used as the input.

/** Demonstrates simple usage of the SoftPot variable potentiometer


 * 1) include 
 * 2) include 

int main(int argc, char **argv, char **envp) {	FILE *fp; char buf[64]; //open file fp = fopen("/sys/devices/platform/omap/tsc/ain3", "r"); if(fp == NULL){ printf("error with opening analog in file\n"); fflush(stdout); exit(1); }	rewind(fp); //read value fgets(buf, 64, fp); //format for printing printf("The SoftPot was touched at %d%\n", 101*atoi(buf)/4095); //101 for 0-100 //close file pointer fclose(fp); return 0; }