Jauge de contraintes en parallèles

Dependencies:   mbed

Dependents:   RUCHE2-CODES RUCHE2-CODES_correctionpoids RUCHE2-CODES RUCHE2-CODES_correctiondepoids ... more

Committer:
Sidibe
Date:
Sat Jan 19 10:23:31 2019 +0000
Revision:
4:0772d8ea3b75
Parent:
2:5d57c2060e7b
capteur de masse

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Volt72 0:aa9794dcf489 1 #include "HX711.h"
Volt72 0:aa9794dcf489 2
Volt72 0:aa9794dcf489 3 HX711::HX711(PinName pin_dout, PinName pin_slk) :_pin_dout(pin_dout), _pin_slk(pin_slk)
Volt72 0:aa9794dcf489 4 {
Volt72 0:aa9794dcf489 5 _pin_slk = 1;
Volt72 0:aa9794dcf489 6 wait_ms(100);
Volt72 0:aa9794dcf489 7 _pin_slk = 0;
Volt72 0:aa9794dcf489 8
Volt72 0:aa9794dcf489 9 averageValue();
Volt72 0:aa9794dcf489 10 this->setOffset(averageValue());
Volt72 0:aa9794dcf489 11 this->setScale(1);
Volt72 0:aa9794dcf489 12 }
Volt72 0:aa9794dcf489 13
Volt72 0:aa9794dcf489 14 HX711::~HX711()
Volt72 0:aa9794dcf489 15 {
Volt72 0:aa9794dcf489 16
Volt72 0:aa9794dcf489 17 }
Volt72 0:aa9794dcf489 18
Volt72 0:aa9794dcf489 19 long HX711::averageValue(unsigned char times)
Volt72 0:aa9794dcf489 20 {
Volt72 0:aa9794dcf489 21 long sum = 0;
Volt72 0:aa9794dcf489 22 for (unsigned char i = 0; i < times; i++)
Volt72 0:aa9794dcf489 23 {
Volt72 0:aa9794dcf489 24 sum += getValue();
Volt72 0:aa9794dcf489 25 }
Volt72 0:aa9794dcf489 26
Volt72 0:aa9794dcf489 27 return sum / times;
Volt72 0:aa9794dcf489 28 }
Volt72 0:aa9794dcf489 29
Volt72 0:aa9794dcf489 30 long HX711::getValue()
Volt72 0:aa9794dcf489 31 {
Volt72 0:aa9794dcf489 32 long valeur = 0;
Volt72 0:aa9794dcf489 33
Volt72 0:aa9794dcf489 34 while (_pin_dout)
Volt72 0:aa9794dcf489 35 ;
Volt72 0:aa9794dcf489 36
Volt72 0:aa9794dcf489 37 for (int i=0;i<24;i++)
Volt72 0:aa9794dcf489 38 {
Volt72 0:aa9794dcf489 39 _pin_slk = 1;
Volt72 0:aa9794dcf489 40 valeur=valeur<<1;
Volt72 0:aa9794dcf489 41 _pin_slk = 0;
Volt72 0:aa9794dcf489 42 if(_pin_dout) valeur++;
Volt72 0:aa9794dcf489 43 }
Volt72 0:aa9794dcf489 44
Volt72 0:aa9794dcf489 45 _pin_slk = 1;
Volt72 0:aa9794dcf489 46 _pin_slk = 0;
Volt72 0:aa9794dcf489 47
Volt72 0:aa9794dcf489 48 valeur=valeur^0x800000;
Volt72 0:aa9794dcf489 49
Volt72 0:aa9794dcf489 50 return valeur;
Volt72 0:aa9794dcf489 51 }
Volt72 0:aa9794dcf489 52
Volt72 2:5d57c2060e7b 53 long HX711::getSignedValue()
Volt72 2:5d57c2060e7b 54 {
Volt72 2:5d57c2060e7b 55 return (getValue()-0x7FFFFF);
Volt72 2:5d57c2060e7b 56 }
Volt72 2:5d57c2060e7b 57
Volt72 0:aa9794dcf489 58 void HX711::setOffset(long offset)
Volt72 0:aa9794dcf489 59 {
Volt72 0:aa9794dcf489 60 _offset = offset;
Volt72 0:aa9794dcf489 61 }
Volt72 0:aa9794dcf489 62
Volt72 0:aa9794dcf489 63 void HX711::setScale(float scale)
Volt72 0:aa9794dcf489 64 {
Volt72 0:aa9794dcf489 65 _scale = scale;
Volt72 0:aa9794dcf489 66 }
Volt72 0:aa9794dcf489 67
Volt72 1:5a1ec06c8cc9 68 int HX711::getGram()
Volt72 0:aa9794dcf489 69 {
Volt72 1:5a1ec06c8cc9 70 long val = (getValue() - _offset);
Volt72 1:5a1ec06c8cc9 71 return (int)((val/_scale)*1000);
Volt72 0:aa9794dcf489 72 }