#ifndef BALANCE_H #define BALANCE_H #include #include class Balance { public: /** * @brief constructeur * * @param doutPin : pin DOUT du module HX711 * * @param sckPin : pin horloge du module HX711 * * @param poidsRef : valeur de poids posée sur la balance ref en grammes */ Balance(int doutPin, int sckPin); /** * @brief determine le poids * * @return poids (double) */ double getValue(); /** * @brief determine la moyenne poids * * @param nbMesure : nombre de mesure effectues pour la moyenne * * @return moyenne poids (double) */ double getAverage(int nbMesure); /** * @brief tare et scale a 0, et recuperation de la valeur brut du plateau */ boolean initCalibration(); /** * @brief initialisation du calibrage * * @param[in] poidsRef : poid de reférence pour la calibration * @param[in] moyenne_calibration : nombre de valeurs a lire pour une mesure * * @return renvoi un true si calibration bien effectue */ boolean calibration(int poidsRef,int moyenne_calibration); //TODO: faire doc setCalibration fact void setCalibrationFact(int caliFact); private: /** * @brief true = calibration et false = erreur */ boolean initialized; /** * @brief Facteur de calibration obtenu par : (val brute poids ref - val brute poids plexiglas)/ poids ref */ int calibrationFact; /** * @brief Variable issue de la librairie HX711 qui permet d'utiliser les fonctions de celle-ci */ HX711 scale; /** * @brief Valeur moyenne brute du poids sans rien sur la balance juste le plexiglas */ long initialVal; }; #endif