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
Schema
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"); }
HX711.h
- Committer:
- Volt72
- Date:
- 2015-06-02
- Revision:
- 0:aa9794dcf489
- Child:
- 1:5a1ec06c8cc9
File content as of revision 0:aa9794dcf489:
#include "mbed.h" /** Librairie Composant HX711 * * La classe HX711 est utilisée avec le composant du même nom * Lien Datasheet : http://www.dfrobot.com/image/data/SEN0160/hx711_english.pdf * Convertisseur Analogique/Numérique 24 bits * * Mesure expérimentale personnelle : * Erreur relative d'environ 500 points sur 16777216 soit environ 0.00003% d'erreurs (9 bits inutiles) * Utilisé avec un capteur de poids 0-30kg, précision a +/- 2g près * * CORVASIER ADRIEN * INRA - St Gilles */ class HX711 { public: /** Constructeur de l'objet HX711 * * @param pin_din : Pin assigné à la broche DT de la carte HX711 * @param pin_slk : Pin assigné à la broche d'horloge SCK de la carte HX711 * @returns aucun */ HX711(PinName pin_din, PinName pin_slk); /** Destructeur de l'objet HX711 * * @param numero : Numéro que l'on souhaite assigné * @returns numero */ virtual ~HX711(); /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée * * @param aucun * @returns long Valeur mesurée sur un entier de type long */ long getValue(); /** Fonction permettant de déclencher la convertion d'une série de mesure et ensuite de moyenner * * @param unsigned char Nombres de mesures à moyenner * @returns long Valeur mesurée et moyennée sur un entier de type long */ long averageValue(unsigned char times = 32); /** Fonction permettant de régler l'offset pour la convertion en grammmes * * @param long Offset de décalage * @returns aucun */ void setOffset(long offset); /** Fonction permettant de régler l'échelle pour la convertion en grammmes * * @param long Echelle de convertion * @returns aucun */ void setScale(float scale); /** Fonction permettant de récupérer la mesure directement en grammes * * @param aucun * @returns float Grammes mesurés */ float getGram(); private: // Déclaration des propriétés de l'objet DigitalIn _pin_dout; // Broche de donnée DigitalOut _pin_slk; // Broche d'horloge long _offset; // Offset pour la convertion en grammes float _scale; // Echelle pour la convertion en grammes };