Jauge de contraintes en parallèles

Dependencies:   mbed

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

Committer:
Volt72
Date:
Tue Jun 02 15:38:54 2015 +0000
Revision:
0:aa9794dcf489
Child:
1:5a1ec06c8cc9
Librairie HX711; Version 1.0

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 0:aa9794dcf489 33 /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée
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 0:aa9794dcf489 39 /** Fonction permettant de déclencher la convertion d'une série de mesure et ensuite de moyenner
Volt72 0:aa9794dcf489 40 *
Volt72 0:aa9794dcf489 41 * @param unsigned char Nombres de mesures à moyenner
Volt72 0:aa9794dcf489 42 * @returns long Valeur mesurée et moyennée sur un entier de type long
Volt72 0:aa9794dcf489 43 */
Volt72 0:aa9794dcf489 44 long averageValue(unsigned char times = 32);
Volt72 0:aa9794dcf489 45 /** Fonction permettant de régler l'offset pour la convertion en grammmes
Volt72 0:aa9794dcf489 46 *
Volt72 0:aa9794dcf489 47 * @param long Offset de décalage
Volt72 0:aa9794dcf489 48 * @returns aucun
Volt72 0:aa9794dcf489 49 */
Volt72 0:aa9794dcf489 50 void setOffset(long offset);
Volt72 0:aa9794dcf489 51 /** Fonction permettant de régler l'échelle pour la convertion en grammmes
Volt72 0:aa9794dcf489 52 *
Volt72 0:aa9794dcf489 53 * @param long Echelle de convertion
Volt72 0:aa9794dcf489 54 * @returns aucun
Volt72 0:aa9794dcf489 55 */
Volt72 0:aa9794dcf489 56 void setScale(float scale);
Volt72 0:aa9794dcf489 57 /** Fonction permettant de récupérer la mesure directement en grammes
Volt72 0:aa9794dcf489 58 *
Volt72 0:aa9794dcf489 59 * @param aucun
Volt72 0:aa9794dcf489 60 * @returns float Grammes mesurés
Volt72 0:aa9794dcf489 61 */
Volt72 0:aa9794dcf489 62 float getGram();
Volt72 0:aa9794dcf489 63
Volt72 0:aa9794dcf489 64 private: // Déclaration des propriétés de l'objet
Volt72 0:aa9794dcf489 65 DigitalIn _pin_dout; // Broche de donnée
Volt72 0:aa9794dcf489 66 DigitalOut _pin_slk; // Broche d'horloge
Volt72 0:aa9794dcf489 67 long _offset; // Offset pour la convertion en grammes
Volt72 0:aa9794dcf489 68 float _scale; // Echelle pour la convertion en grammes
Volt72 0:aa9794dcf489 69 };
Volt72 0:aa9794dcf489 70