Jauge de contraintes en parallèles

Dependencies:   mbed

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

Committer:
Volt72
Date:
Thu Jul 16 12:29:39 2015 +0000
Revision:
1:5a1ec06c8cc9
Parent:
0:aa9794dcf489
Child:
2:5d57c2060e7b
Version 2.0 Ajout fonction de r?cup?ration des grammes

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 0:aa9794dcf489 53 void HX711::setOffset(long offset)
Volt72 0:aa9794dcf489 54 {
Volt72 0:aa9794dcf489 55 _offset = offset;
Volt72 0:aa9794dcf489 56 }
Volt72 0:aa9794dcf489 57
Volt72 0:aa9794dcf489 58 void HX711::setScale(float scale)
Volt72 0:aa9794dcf489 59 {
Volt72 0:aa9794dcf489 60 _scale = scale;
Volt72 0:aa9794dcf489 61 }
Volt72 0:aa9794dcf489 62
Volt72 1:5a1ec06c8cc9 63 int HX711::getGram()
Volt72 0:aa9794dcf489 64 {
Volt72 1:5a1ec06c8cc9 65 long val = (getValue() - _offset);
Volt72 1:5a1ec06c8cc9 66 return (int)((val/_scale)*1000);
Volt72 0:aa9794dcf489 67 }