Go Down

Topic: Pressure Sensitive Resistors (Read 3382 times) previous topic - next topic


I plan on trying to use this SFR with a relay so after looking at the FSR Integration Guide I believe i should follow Figure 14 - "FSR Variable Force Threshold Relay Switch" 

Here is a link to the SFR i plan to use...http://www.sparkfun.com/datasheets/Sensors/Pressure/fsrguide.pdf

I will be using the FSR and an arduino to determine if my dog is in his house and if so to kick on a small heating pad with the use of the relay...  When following the schematic of Figure 14 where does my arduino fit into this and do i have to set it up this way...???  It seems like a lot of stuff to make it work...  I am very new to electronics so my understanding of schematics is limited...


When following the schematic of Figure 14 where does my arduino fit into this

It doesn't it is a stand alone circuit.

Why do you want to use and arduino? Is there anything else you want to do apart from firing the relay?

If so your arduino replaces U1, with the + input being an analogue input and the output (connect to R3) an arduino output.

Jack Christensen

Figure 14 is an operational-amplifier-based circuit that will close a relay when force is applied to the FSR. It uses the op-amp as a comparator where the comparison voltage is controlled by a potentiometer. This allows adjustment of the trip point for more or less force applied to the FSR. No microcontroller is needed, the circuit is complete in itself.

I've used an FSR just once, this one from SparkFun. I only wanted to sense a binary condition, i.e. on or off, force applied or not. I was prepared to design some sort of interface circuitry for the FSR, but then was amazed when I discovered that I was able to treat it exactly like a tactile button switch. I used the exact same code, and a digital input on the Arduino with the pullup resistor enabled. So no additional hardware, and for me this works very well indeed. Maybe I got lucky, YMMV, but it's certainly worth a try!


Why do you want to use and arduino? Is there anything else you want to do apart from firing the relay?

Yea, i am going to use it to to also turn a small fan on/off depending if my dog is present but i dont want the fans to run the entire time...

I kind of figured the arduino replaced the U1 but wasn't sure...  Thansk and hopefully i can work it out...  I'll let ya knwo when it arrives...


I've used an FSR just once, this one from SparkFun

That is the exact one i plan to use...!!!  Is it a good one to use???  Do you tink if i put it under a piece of linoleum flooring it will be able to determine if my dog is in his house???  How long do you think it will last? Finally I probably have to run a pretty long wire from the arduino to the sensor...  Anywhere from 2 - 5 feet.  Are there any special considerations i need to make to account for this long of a wire? 

Thanks for the reply too...  Its good to hear from someone who has actually used this to have some insight on it's performance...!!!


Anywhere from 2 - 5 feet.

Should be alright, I would put a 0.1uF capacitor from the arduino analogue input to ground just to get rid of any noise pickup.

will be able to determine if my dog is in his house?

Depends on how heavy the dog is.

How long do you think it will last?

No idea.

I did a project with home made pressure sensors:-


Depends on how heavy the dog is.

This brings up another question...  How exactly do these work...?  If it says it will sense pressure from 1 lbs to 25 lbs and the dog is 5 lbs and i have 2 lbs of bedding always over the sensor will I be able to set the sensor to kick on the heating pad if it senses pressure over 5 lbs or does it just measure pressure or no pressure...???


It's analog so it will give a different reading when the weight on it changes.


Perfect...  Well i hope it works and I'll check back if i have any issues... 

Thanks for the help like always...!!!


Sorry it took me a while to have time to mess with my FSR but I am working on it today and have a question...  IF i want to simply hook it up to my arduino to see what reading it will output how can i do this...??? 

It has two pins so does one go to analog input and the other to ground...???  Do i need any caps or resistors or anything...???


It has two pins so does one go to analog input and the other to ground...???  Do i need any caps or resistors or anything...???

Yes you need a resistor from the input to the +5V to pull up the signal.
Experiment with the value, as a start measure the resistance of the sensor and then make the pull up resistor close to that.  Note you won't get the full 0 to 1023 range out of a sensor wired like this but it is the simplest way to do it.
The larger value the resistor the more range you get but the less stable will be the reading.


Okay  so I'm a little confused...

The only way i can get it to work is when I connected one side on the FSR to analog in on the arduino and to ground via a 10K resistor and the other side of the FSR to +5... ???  I have changed the value of the resistor and it produces different readings, but it si all over the place so I wanted to ask if it is set up right...???  From what you said it sounds like I have it wrong... 


Well you sound to have it upside down to what I said, that is you should swap the ground and +5V connection, but there is no reason why wiring it up your way would cause the reading to be:-
all over the place

so there must be something else wrong as well.
I assume you mean that the reading fluctuates over a very wide range without any change in input pressure.
This is what happens if you have not got the ground connected, or indeed you are reading the wrong analogue input.
A photo of your wiring setup might help.


Those FSR's are pretty expensive.

You might want to spend some time playing with capacitive sensing, but it doesn't have to be this kind:

The human and the foil make a capacitor there. Change the distance between them and the capacitance between them changes. But you can take two pieces of sheet steel and do the same. Put a piece of insulating springy foam between and you have a pressure sensor that can also work as a proximity sensor.

Of course you could go about 1000x simpler and just put the dog bed on springs. When the dog lies down on it the springs compress and two contacts meet... viola, an on switch. Just keep the volts and current low, don't use aluminum, and you won't be cleaning corrosion often at all. Throw in a thermostat and a logic gate or two and you can have it warm the bed when it's cold, run the fan when it's hot or do nothing when it's nice out all without needing a processor of any kind.

Aluminum in contact with other metals and current flow in the presence of oxygen results in corroded aluminum. Conductive paint, or sheet steel, better for long-term. You can paint steel to seal it with ordinary oil-based paint.

Nick Gammon on multitasking Arduinos:
1) http://gammon.com.au/blink
2) http://gammon.com.au/serial
3) http://gammon.com.au/interrupts


Okay i switched the wiring around like Grumpy mike said to and it is working but the analog read is starting with 1023 and then goes down with pressure applied...  How do i get it to start around 0 and then go up when pressure is applied...????

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131