Jauge de contraintes en parallèles

Dependencies:   mbed

Revision:
0:aa9794dcf489
Child:
1:5a1ec06c8cc9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HX711.cpp	Tue Jun 02 15:38:54 2015 +0000
@@ -0,0 +1,67 @@
+#include "HX711.h"
+
+HX711::HX711(PinName pin_dout, PinName pin_slk) :_pin_dout(pin_dout), _pin_slk(pin_slk)
+{
+    _pin_slk = 1;
+    wait_ms(100);
+    _pin_slk = 0;
+
+    averageValue();
+    this->setOffset(averageValue());
+    this->setScale(1);
+}
+
+HX711::~HX711() 
+{
+
+}
+
+long HX711::averageValue(unsigned char times)
+{
+    long sum = 0;
+    for (unsigned char i = 0; i < times; i++)
+    {
+        sum += getValue();
+    }
+
+    return sum / times;
+}
+
+long HX711::getValue()
+{
+    long valeur = 0;
+
+    while (_pin_dout)
+        ;
+
+    for (int i=0;i<24;i++)
+    { 
+        _pin_slk = 1;
+        valeur=valeur<<1; 
+        _pin_slk = 0;
+        if(_pin_dout) valeur++; 
+    } 
+
+    _pin_slk = 1;
+    _pin_slk = 0;
+
+    valeur=valeur^0x800000;
+
+    return valeur;
+}
+
+void HX711::setOffset(long offset)
+{
+    _offset = offset;
+}
+
+void HX711::setScale(float scale)
+{
+    _scale = scale;
+}
+
+float HX711::getGram()
+{
+    long val = (averageValue() - _offset);
+    return (float) val / _scale;
+}
\ No newline at end of file