#ifndef BALANCE_H #define BALANCE_H #include #include #include "Capteur.h" class Balance: public Capteur{ public: /** * @brief constructeur * * @param[in] doutPin : pin DOUT du module HX711 * @param[in] sckPin : pin horloge du module HX711 * @param[in] fullVall : valeur a la quel la poubelle est pleine */ Balance(int doutPin, int sckPin, String fullVall); /** * @brief lit la valeur du capteur de poid * * @return String retour la valeur */ String read(); /** * @brief tare et scale a 0, et recuperation de la valeur brut du plateau */ bool 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 */ bool calibration(int poidsRef,int moyenne_calibration); /** * @brief tar le capteur de poids * * @param[in] val valeur de référence du capteur * @return true si la tarre a bien réussi (ou si il n'a pas besoins de tarre) * @return false erreur durrant la tar */ bool tar(int val = 0); private: /** * @brief Variable issue de la librairie HX711 qui permet d'utiliser les fonctions de celle-ci */ HX711* capteur; /** * @brief true = calibration et false = erreur */ bool initialized; /** * @brief Facteur de calibration obtenu par : (val brute poids ref - val brute poids plexiglas)/ poids ref */ int calibrationFact; /** * @brief Valeur moyenne brute du poids sans rien sur la balance juste le plexiglas */ long initialVal; }; #endif