Using a Membrane Potentiometer (SoftPot)
What is a ForceMembrane Sensor?Potentiometer?
TheA ForceMembrane SensorPotentiometer sensesis a type of position sensor that measures displacement or angle by detecting changes in electrical resistance. It consists of a flexible membrane with resistive and conductive layers that slide against each other when pressure is applied. This alters the resistance valueand dependingprovides onan howoutput muchvoltage itproportional has pressed. It can sense evento the slightestposition.
-
use it as a touch sensor as well. The difference between thisThin andCapacitiveFlexible:SensorMadeisfromthatpolymer films, they are compact and adaptable. -
Contact-Based Operation: A wiper or finger presses the
object you touched doesn't needmembrane toberegisterconductiveposition. -
itLinearisorsensingRotaryforce.Versions:It is cheap and easy to use. It provides accurate readingsAvailable forphysicallinearpressuredisplacementbutoritrotationalcannotmeasurement. -
usedDurability:forNomeasuringmechanicalweight.wearYoulikecantraditionalputpotentiometersitwithunderneathslidingmostcontacts. -
e.g.Application:painting,Touch-sensitiveshoescontrols
Wiring
Wiring up the sensor is simple, the sensor is unpolarized so it's doesn't matter which pin to 5V or GND.
PowerPin1 (the oneendon the side of the thinner strip) to5V)5VGroundPin2 (onemiddleendpin) to A0 & via 10k resistor to GND- Pin3 (the one with
10Karesistor)small Signal (GND sidearrow) toA0)GND
Getting started
This example turns on the built-in LED when touched lightly.
int sensorPinSOFT_POT_PIN = A0;
int sensorValue;
//sensor value range: 0-1023
//200 is light touch
//500 is medium touch
//800 is hard touch
int limit = 200;
void setup()
{
Serial.begin(9600);
pinMode(13,SOFT_POT_PIN, OUTPUT)INPUT);
}
void loop()
{
sensorValueint softPotPosition = analogRead(sensorPin)SOFT_POT_PIN);
Serial.print("Force Level: ")softPotPosition);
Serial.println(sensorValue);
if (sensorValue > limit) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
delay(100)500);
}