Difference between revisions of "SparkFun: SoftPot Variable Potentiometer"

From eLinux.org
Jump to: navigation, search
(Bone Usage)
(Bone Usage: removed picture)
Line 24: Line 24:
  
 
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.
 
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.
[[File:SparkFunSoftPotBreadboard.jpg|200px|thumb|right|SoftPot on breadboard hooked to power and signal line]]
 
  
 
== Sample C Code ==
 
== Sample C Code ==

Revision as of 16:18, 16 October 2012


Overview:  1, show a picture
Wiring:   1, give specific example.  Suggest which pin to connect to AIN.  Which header are you using?  P8, P9?
Code:     1, make the code loop and continually display the value.
git/Compiles with make: 0, put in git
Demo:     0
Total:    3
Comments:  More details are needed.  Please supply and I'll regrade.

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
*/

#include <stdio.h>
#include <stdlib.h>

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;
}