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 "mbed.h"
Volt72 0:aa9794dcf489 2
Volt72 0:aa9794dcf489 3 /** Librairie Composant HX711
Volt72 0:aa9794dcf489 4 *
Volt72 0:aa9794dcf489 5 * La classe HX711 est utilisée avec le composant du même nom
Volt72 0:aa9794dcf489 6 * Lien Datasheet : http://www.dfrobot.com/image/data/SEN0160/hx711_english.pdf
Volt72 0:aa9794dcf489 7 * Convertisseur Analogique/Numérique 24 bits
Volt72 0:aa9794dcf489 8 *
Volt72 0:aa9794dcf489 9 * Mesure expérimentale personnelle :
Volt72 0:aa9794dcf489 10 * Erreur relative d'environ 500 points sur 16777216 soit environ 0.00003% d'erreurs (9 bits inutiles)
Volt72 0:aa9794dcf489 11 * Utilisé avec un capteur de poids 0-30kg, précision a +/- 2g près
Volt72 0:aa9794dcf489 12 *
Volt72 0:aa9794dcf489 13 * CORVASIER ADRIEN
Volt72 0:aa9794dcf489 14 * INRA - St Gilles
Volt72 0:aa9794dcf489 15 */
Volt72 0:aa9794dcf489 16
Volt72 0:aa9794dcf489 17 class HX711
Volt72 0:aa9794dcf489 18 {
Volt72 0:aa9794dcf489 19 public:
Volt72 0:aa9794dcf489 20 /** Constructeur de l'objet HX711
Volt72 0:aa9794dcf489 21 *
Volt72 0:aa9794dcf489 22 * @param pin_din : Pin assigné à la broche DT de la carte HX711
Volt72 0:aa9794dcf489 23 * @param pin_slk : Pin assigné à la broche d'horloge SCK de la carte HX711
Volt72 0:aa9794dcf489 24 * @returns aucun
Volt72 0:aa9794dcf489 25 */
Volt72 0:aa9794dcf489 26 HX711(PinName pin_din, PinName pin_slk);
Volt72 0:aa9794dcf489 27 /** Destructeur de l'objet HX711
Volt72 0:aa9794dcf489 28 *
Volt72 0:aa9794dcf489 29 * @param numero : Numéro que l'on souhaite assigné
Volt72 0:aa9794dcf489 30 * @returns numero
Volt72 0:aa9794dcf489 31 */
Volt72 0:aa9794dcf489 32 virtual ~HX711();
Volt72 2:5d57c2060e7b 33 /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée entre 0 et 2^24
Volt72 0:aa9794dcf489 34 *
Volt72 0:aa9794dcf489 35 * @param aucun
Volt72 0:aa9794dcf489 36 * @returns long Valeur mesurée sur un entier de type long
Volt72 0:aa9794dcf489 37 */
Volt72 0:aa9794dcf489 38 long getValue();
Volt72 2:5d57c2060e7b 39 /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée entre -2^23 et 2^23
Volt72 2:5d57c2060e7b 40 *
Volt72 2:5d57c2060e7b 41 * @param aucun
Volt72 2:5d57c2060e7b 42 * @returns long Valeur mesurée sur un entier de type long
Volt72 2:5d57c2060e7b 43 */
Volt72 2:5d57c2060e7b 44 long getSignedValue();
Volt72 0:aa9794dcf489 45 /** Fonction permettant de déclencher la convertion d'une série de mesure et ensuite de moyenner
Volt72 0:aa9794dcf489 46 *
Volt72 0:aa9794dcf489 47 * @param unsigned char Nombres de mesures à moyenner
Volt72 0:aa9794dcf489 48 * @returns long Valeur mesurée et moyennée sur un entier de type long
Volt72 0:aa9794dcf489 49 */
Volt72 0:aa9794dcf489 50 long averageValue(unsigned char times = 32);
Volt72 0:aa9794dcf489 51 /** Fonction permettant de régler l'offset pour la convertion en grammmes
Volt72 0:aa9794dcf489 52 *
Volt72 0:aa9794dcf489 53 * @param long Offset de décalage
Volt72 0:aa9794dcf489 54 * @returns aucun
Volt72 0:aa9794dcf489 55 */
Volt72 0:aa9794dcf489 56 void setOffset(long offset);
Volt72 0:aa9794dcf489 57 /** Fonction permettant de régler l'échelle pour la convertion en grammmes
Volt72 0:aa9794dcf489 58 *
Volt72 0:aa9794dcf489 59 * @param long Echelle de convertion
Volt72 0:aa9794dcf489 60 * @returns aucun
Volt72 0:aa9794dcf489 61 */
Volt72 0:aa9794dcf489 62 void setScale(float scale);
Volt72 0:aa9794dcf489 63 /** Fonction permettant de récupérer la mesure directement en grammes
Volt72 0:aa9794dcf489 64 *
Volt72 0:aa9794dcf489 65 * @param aucun
Volt72 1:5a1ec06c8cc9 66 * @returns int Grammes mesurés
Volt72 0:aa9794dcf489 67 */
Volt72 1:5a1ec06c8cc9 68 int getGram();
Volt72 0:aa9794dcf489 69
Volt72 0:aa9794dcf489 70 private: // Déclaration des propriétés de l'objet
Volt72 0:aa9794dcf489 71 DigitalIn _pin_dout; // Broche de donnée
Volt72 0:aa9794dcf489 72 DigitalOut _pin_slk; // Broche d'horloge
Volt72 0:aa9794dcf489 73 long _offset; // Offset pour la convertion en grammes
Volt72 0:aa9794dcf489 74 float _scale; // Echelle pour la convertion en grammes
Volt72 0:aa9794dcf489 75 };
Volt72 0:aa9794dcf489 76