2023-04-11 12:35:25 +02:00
|
|
|
#ifndef BALANCE_H
|
|
|
|
#define BALANCE_H
|
|
|
|
#include <Arduino.h>
|
|
|
|
#include <HX711.h>
|
|
|
|
|
2023-05-02 20:14:57 +02:00
|
|
|
#include "Capteur.h"
|
|
|
|
|
|
|
|
class Balance: public Capteur{
|
2023-04-11 12:35:25 +02:00
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief constructeur
|
|
|
|
*
|
2023-05-02 20:14:57 +02:00
|
|
|
* @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);
|
2023-04-11 12:35:25 +02:00
|
|
|
|
|
|
|
/**
|
2023-05-02 20:14:57 +02:00
|
|
|
* @brief lit la valeur du capteur de poid
|
|
|
|
*
|
|
|
|
* @return String retour la valeur
|
|
|
|
*/
|
|
|
|
String read();
|
2023-04-11 12:35:25 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief tare et scale a 0, et recuperation de la valeur brut du plateau
|
|
|
|
*/
|
2023-05-09 16:55:37 +02:00
|
|
|
bool initCalibration();
|
2023-04-11 12:35:25 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @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
|
|
|
|
*/
|
2023-05-09 16:55:58 +02:00
|
|
|
bool calibration(int poidsRef,int moyenne_calibration);
|
2023-04-11 12:35:25 +02:00
|
|
|
|
2023-05-02 20:14:57 +02:00
|
|
|
/**
|
2023-05-02 22:12:28 +02:00
|
|
|
* @brief tar le capteur de poids
|
2023-05-02 20:14:57 +02:00
|
|
|
*
|
2023-05-02 22:12:28 +02:00
|
|
|
* @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
|
2023-05-02 20:14:57 +02:00
|
|
|
*/
|
2023-05-02 22:12:28 +02:00
|
|
|
bool tar(int val = 0);
|
2023-04-11 12:35:25 +02:00
|
|
|
|
|
|
|
private:
|
|
|
|
|
2023-05-02 20:14:57 +02:00
|
|
|
/**
|
|
|
|
* @brief Variable issue de la librairie HX711 qui permet d'utiliser les fonctions de celle-ci
|
|
|
|
*/
|
2023-05-02 22:01:10 +02:00
|
|
|
HX711* capteur;
|
2023-05-02 20:14:57 +02:00
|
|
|
|
2023-04-11 12:35:25 +02:00
|
|
|
/**
|
|
|
|
* @brief true = calibration et false = erreur
|
|
|
|
*/
|
2023-05-09 16:58:19 +02:00
|
|
|
bool initialized;
|
2023-04-11 12:35:25 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @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
|