Library to read rawdata from an FSR

Dependents:   K64F-RTOS-MQTT-Example

Fork of FSR by Chenkai Shao

Revision:
0:d24a38523990
Child:
3:6fc368701789
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FSR.h	Wed Oct 21 21:14:06 2015 +0000
@@ -0,0 +1,57 @@
+#ifndef FSR_H
+#define FSR_H
+
+#include "mbed.h"
+
+/** Force sensitive resistor class using an AnalogIn pin
+ *
+ * Example:
+ * @code
+ * #include "mbed.h"
+ * #include "FSR.h"
+ * FSR fsr(p17, 10); // a 10k resistor is used
+ * int main(){
+ *     while (1)
+ *     {
+ *         printf("The raw data is %f\n", fsr.readRaw());
+ *         printf("The resistance of the FSR is %f\n", fsr.readFSRResistance());
+ *         printf("The weight on the FSR is %f\n\n", fsr.readWeight());
+ *         wait(0.3); //just here to slow down the output for easier reading
+ *     }
+ * }
+ * @endcode
+ */
+
+class FSR
+{
+public:
+    /** Create an FSR object
+     *
+     * @param AnalogIn pin number
+     * @param resistance of the voltage divider resistor in k
+     */
+    FSR(PinName Pin, float resistance);
+    
+    /** Read the raw data
+     *
+     * @return the raw float data ranging from 0 to 1
+     */
+    float readRaw();
+    
+    /** Read the resistance of the FSR
+     *
+     * @return the resistance of the FSR
+     */
+    float readFSRResistance();   
+    
+    /** Read the weight in N. 0 anyway if the weight is less than 100g
+     *
+     * @return the weight ranging from 100g to 10000g
+     */
+     float readWeight();
+protected:
+    AnalogIn _ain;
+    float _r;
+};
+
+#endif
\ No newline at end of file