Scientific task box V1

Dependencies:   HX711 DS1820

Dependents:   Scientific_RTOS Scientific_RTOS

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers HX711.h Source File

HX711.h

00001 #include "mbed.h"
00002 
00003 /** Librairie Composant HX711
00004  * 
00005  * La classe HX711 est utilisée avec le composant du même nom
00006  *  Lien Datasheet : http://www.dfrobot.com/image/data/SEN0160/hx711_english.pdf
00007  *  Convertisseur Analogique/Numérique 24 bits
00008  *
00009  *  Mesure expérimentale personnelle : 
00010  *  Erreur relative d'environ 500 points sur 16777216 soit environ 0.00003% d'erreurs (9 bits inutiles)
00011  *  Utilisé avec un capteur de poids 0-30kg, précision a +/- 2g près
00012  *
00013  *  CORVASIER ADRIEN
00014  *  INRA - St Gilles
00015  */
00016 
00017 class HX711
00018 {
00019 public:
00020     /** Constructeur de l'objet HX711
00021     *
00022     * @param pin_din : Pin assigné à la broche DT de la carte HX711
00023     * @param pin_slk : Pin assigné à la broche d'horloge SCK de la carte HX711
00024     * @returns aucun
00025     */
00026     HX711(PinName pin_din, PinName pin_slk);
00027     /** Destructeur de l'objet HX711
00028     *
00029     * @param numero : Numéro que l'on souhaite assigné
00030     * @returns numero
00031     */
00032     virtual ~HX711();
00033     /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée entre 0 et 2^24
00034     *
00035     * @param aucun
00036     * @returns long Valeur mesurée sur un entier de type long
00037     */
00038     long getValue();
00039     /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée entre -2^23 et 2^23
00040     *
00041     * @param aucun
00042     * @returns long Valeur mesurée sur un entier de type long
00043     */
00044     long getSignedValue();
00045     /** Fonction permettant de déclencher la convertion d'une série de mesure et ensuite de moyenner
00046     *
00047     * @param unsigned char Nombres de mesures à moyenner
00048     * @returns long Valeur mesurée et moyennée sur un entier de type long
00049     */
00050     long averageValue(unsigned char times = 32);
00051     /** Fonction permettant de régler l'offset pour la convertion en grammmes
00052     *
00053     * @param long Offset de décalage
00054     * @returns aucun
00055     */
00056     void setTare(long offset);
00057     /** Fonction permettant de régler l'échelle pour la convertion en grammmes
00058     *
00059     * @param long Echelle de convertion
00060     * @returns aucun
00061     */
00062     void setScale(float scale);
00063     /** Fonction permettant de récupérer la mesure directement en grammes
00064     *
00065     * @param aucun
00066     * @returns int Grammes mesurés
00067     */
00068     int getGram();
00069 
00070 private:                        // Déclaration des propriétés de l'objet
00071     DigitalIn _pin_dout;        // Broche de donnée
00072     DigitalOut _pin_slk;        // Broche d'horloge
00073     long _offset;               // Offset pour la convertion en grammes
00074     float _scale;               // Echelle pour la convertion en grammes
00075 };
00076