FSR Linearization


i am using an FSR sensor as input to the "Arduino Uno" and i am trying as output to control with PWM the speed of a motor.

The more i press the FSR the higher the speed is.

The problem is that the output of the FSR is not totally linearized.

Anybody there, coming with an idea how can i linearize with code my output?

https://www.sparkfun.com/datasheets/Sensors/Pressure/fsrguide.pdf where Figure 2 indicates that for forces between about 30g and 10kg the relationship between force and resistance is close to being linear on a log-log graph.

I suggest you measure your force sensitive resistor (FSR) and derive an equation that fits the measurements so it can be used in your Arduino code. It will be something like:
F = a Rc where ‘a’ and ‘c’ are constants and ‘c’ will be fairly close to -1.

If your FSR is connected to a resistor forming a potential divider, not fed by a constant current source, you will need to take the resistor into account.

Alternatively, especially if you wish to measure lighter forces, measure your FSR with a number of forces applied. Store the readings in your Arduino code and get your code to interpolate between the readings.

you can use a non linear interpolation table - http://playground.arduino.cc/Main/MultiMap