Librairie pouvant être utilisée avec le module HX711. Library which can be used with the HX711 component.

Dependents:   11B_DOGFEEDER 10B_Project_strian_guage_final Project_strian_guage_final 11A_ForcePlate_by_LoadCell ... more

Photo

/media/uploads/Volt72/hx711petit.jpeg

Schema

/media/uploads/Volt72/schemahx711module.jpg

Utilisation

Datasheet du composant : https://cdn.sparkfun.com/datasheets/Sensors/ForceFlex/hx711_english.pdf

Pour utiliser le module sous une tension de 3,3V, il faut préalablement modifier le pont de résistances R12, R13 en modifiant R13 par une résistance de 20kOhms.

Tel que le module est câblé, la fréquence d'échantillonnage maximale d'un capteur est de 10Hz.

Dans l'exemple ci-dessous les paramètres d'échelle et d'offset sont fixes. Les fonctions de réglages d'offset et d'échelle ne sont pas utilisés.

Code d'utilisation simple en utilisant seulement getValue()

#include "mbed.h"
#include "HX711.h"

Serial pc(USBTX,USBRX);         // Déclaration du port série USB

HX711 Balance(PTD0,PTD5);       // Déclaration de l'objet HX711

int main() 
{
    pc.printf("\nDebut Enregistrement\n");
    
    long valeur;
    long valeurTare;
    long float poids;
    
    valeurTare = Balance.getValue();                                           // On récupère la valeur de la Tare
    while (true) 
    {
        wait_ms(200);                                                       // Attente de 200 millisecondes
        valeur = Balance.getValue();                                        // On récupère la valeur du module
        poids = ((long float)valeur-(long float)valeurTare)/143200;         // Convertionde la valeur de l'ADC en grammes
        pc.printf("Valeur : %ld          Poids : %.3lf\n",valeur,poids);    // Affichage du poids
    }
    
    pc.printf("\nFin Enregistrement\n");
}

Files at this revision

API Documentation at this revision

Comitter:
Volt72
Date:
Fri Jul 17 13:51:10 2015 +0000
Parent:
1:5a1ec06c8cc9
Commit message:
Version 3.0 Ajout fonction getSignedValue() afin de r?cup?rer la valeur sign?e de l'ADC

Changed in this revision

HX711.cpp Show annotated file Show diff for this revision Revisions of this file
HX711.h Show annotated file Show diff for this revision Revisions of this file
diff -r 5a1ec06c8cc9 -r 5d57c2060e7b HX711.cpp
--- a/HX711.cpp	Thu Jul 16 12:29:39 2015 +0000
+++ b/HX711.cpp	Fri Jul 17 13:51:10 2015 +0000
@@ -50,6 +50,11 @@
     return valeur;
 }
 
+long HX711::getSignedValue()
+{
+    return (getValue()-0x7FFFFF);
+}
+
 void HX711::setOffset(long offset)
 {
     _offset = offset;
diff -r 5a1ec06c8cc9 -r 5d57c2060e7b HX711.h
--- a/HX711.h	Thu Jul 16 12:29:39 2015 +0000
+++ b/HX711.h	Fri Jul 17 13:51:10 2015 +0000
@@ -30,12 +30,18 @@
     * @returns numero
     */
     virtual ~HX711();
-    /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée
+    /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée entre 0 et 2^24
     *
     * @param aucun
     * @returns long Valeur mesurée sur un entier de type long
     */
     long getValue();
+    /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée entre -2^23 et 2^23
+    *
+    * @param aucun
+    * @returns long Valeur mesurée sur un entier de type long
+    */
+    long getSignedValue();
     /** Fonction permettant de déclencher la convertion d'une série de mesure et ensuite de moyenner
     *
     * @param unsigned char Nombres de mesures à moyenner