FSR

Dependents:   FSR_hello_world FINAL_PROJECT Pousse_seringue_Ulg 0__Pousse_seringue ... more

Committer:
cshao06
Date:
Wed Oct 21 21:14:06 2015 +0000
Revision:
0:d24a38523990
Child:
1:6b702226a5d3
FSR

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cshao06 0:d24a38523990 1 #include "FSR.h"
cshao06 0:d24a38523990 2 #include "mbed.h"
cshao06 0:d24a38523990 3
cshao06 0:d24a38523990 4 FSR::FSR(PinName pin, float resistance) : _ain(pin), _r(resistance)
cshao06 0:d24a38523990 5 {
cshao06 0:d24a38523990 6 }
cshao06 0:d24a38523990 7
cshao06 0:d24a38523990 8 float FSR::readRaw()
cshao06 0:d24a38523990 9 {
cshao06 0:d24a38523990 10 float read = _ain;
cshao06 0:d24a38523990 11 return read;
cshao06 0:d24a38523990 12 }
cshao06 0:d24a38523990 13
cshao06 0:d24a38523990 14 float FSR::readFSRResistance()
cshao06 0:d24a38523990 15 {
cshao06 0:d24a38523990 16 float read = _ain;
cshao06 0:d24a38523990 17 return _r * 3.3 / read - _r;
cshao06 0:d24a38523990 18 }
cshao06 0:d24a38523990 19
cshao06 0:d24a38523990 20 float FSR::readWeight()
cshao06 0:d24a38523990 21 {
cshao06 0:d24a38523990 22 float read = _ain;
cshao06 0:d24a38523990 23 float rfsr = _r * 3.3 / read - _r;
cshao06 0:d24a38523990 24 float slope = (4 - 2) / (log10(6.2) - log10(0.25));
cshao06 0:d24a38523990 25 float a = log10(rfsr);
cshao06 0:d24a38523990 26 if (a < log10(6.2))
cshao06 0:d24a38523990 27 {
cshao06 0:d24a38523990 28 return pow(10, ((log10(6.2) - a) * slope + 2));
cshao06 0:d24a38523990 29 }
cshao06 0:d24a38523990 30 else
cshao06 0:d24a38523990 31 {
cshao06 0:d24a38523990 32 return 0;
cshao06 0:d24a38523990 33 }
cshao06 0:d24a38523990 34 }