Scientific task box V1

Dependencies:   HX711 DS1820

Dependents:   Scientific_RTOS Scientific_RTOS

Committer:
Alessio_Zaino
Date:
Thu Sep 05 20:55:56 2019 +0000
Revision:
4:d9c5d93963a8
Parent:
0:01deb85101c9
final;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Alessio_Zaino 0:01deb85101c9 1 #include "mbed.h"
Alessio_Zaino 0:01deb85101c9 2
Alessio_Zaino 0:01deb85101c9 3 /** Librairie Composant HX711
Alessio_Zaino 0:01deb85101c9 4 *
Alessio_Zaino 0:01deb85101c9 5 * La classe HX711 est utilisée avec le composant du même nom
Alessio_Zaino 0:01deb85101c9 6 * Lien Datasheet : http://www.dfrobot.com/image/data/SEN0160/hx711_english.pdf
Alessio_Zaino 0:01deb85101c9 7 * Convertisseur Analogique/Numérique 24 bits
Alessio_Zaino 0:01deb85101c9 8 *
Alessio_Zaino 0:01deb85101c9 9 * Mesure expérimentale personnelle :
Alessio_Zaino 0:01deb85101c9 10 * Erreur relative d'environ 500 points sur 16777216 soit environ 0.00003% d'erreurs (9 bits inutiles)
Alessio_Zaino 0:01deb85101c9 11 * Utilisé avec un capteur de poids 0-30kg, précision a +/- 2g près
Alessio_Zaino 0:01deb85101c9 12 *
Alessio_Zaino 0:01deb85101c9 13 * CORVASIER ADRIEN
Alessio_Zaino 0:01deb85101c9 14 * INRA - St Gilles
Alessio_Zaino 0:01deb85101c9 15 */
Alessio_Zaino 0:01deb85101c9 16
Alessio_Zaino 0:01deb85101c9 17 class HX711
Alessio_Zaino 0:01deb85101c9 18 {
Alessio_Zaino 0:01deb85101c9 19 public:
Alessio_Zaino 0:01deb85101c9 20 /** Constructeur de l'objet HX711
Alessio_Zaino 0:01deb85101c9 21 *
Alessio_Zaino 0:01deb85101c9 22 * @param pin_din : Pin assigné à la broche DT de la carte HX711
Alessio_Zaino 0:01deb85101c9 23 * @param pin_slk : Pin assigné à la broche d'horloge SCK de la carte HX711
Alessio_Zaino 0:01deb85101c9 24 * @returns aucun
Alessio_Zaino 0:01deb85101c9 25 */
Alessio_Zaino 0:01deb85101c9 26 HX711(PinName pin_din, PinName pin_slk);
Alessio_Zaino 0:01deb85101c9 27 /** Destructeur de l'objet HX711
Alessio_Zaino 0:01deb85101c9 28 *
Alessio_Zaino 0:01deb85101c9 29 * @param numero : Numéro que l'on souhaite assigné
Alessio_Zaino 0:01deb85101c9 30 * @returns numero
Alessio_Zaino 0:01deb85101c9 31 */
Alessio_Zaino 0:01deb85101c9 32 virtual ~HX711();
Alessio_Zaino 0:01deb85101c9 33 /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée entre 0 et 2^24
Alessio_Zaino 0:01deb85101c9 34 *
Alessio_Zaino 0:01deb85101c9 35 * @param aucun
Alessio_Zaino 0:01deb85101c9 36 * @returns long Valeur mesurée sur un entier de type long
Alessio_Zaino 0:01deb85101c9 37 */
Alessio_Zaino 0:01deb85101c9 38 long getValue();
Alessio_Zaino 0:01deb85101c9 39 /** Fonction permettant de déclencher la convertion et de récupérer la valeur mesurée entre -2^23 et 2^23
Alessio_Zaino 0:01deb85101c9 40 *
Alessio_Zaino 0:01deb85101c9 41 * @param aucun
Alessio_Zaino 0:01deb85101c9 42 * @returns long Valeur mesurée sur un entier de type long
Alessio_Zaino 0:01deb85101c9 43 */
Alessio_Zaino 0:01deb85101c9 44 long getSignedValue();
Alessio_Zaino 0:01deb85101c9 45 /** Fonction permettant de déclencher la convertion d'une série de mesure et ensuite de moyenner
Alessio_Zaino 0:01deb85101c9 46 *
Alessio_Zaino 0:01deb85101c9 47 * @param unsigned char Nombres de mesures à moyenner
Alessio_Zaino 0:01deb85101c9 48 * @returns long Valeur mesurée et moyennée sur un entier de type long
Alessio_Zaino 0:01deb85101c9 49 */
Alessio_Zaino 0:01deb85101c9 50 long averageValue(unsigned char times = 32);
Alessio_Zaino 0:01deb85101c9 51 /** Fonction permettant de régler l'offset pour la convertion en grammmes
Alessio_Zaino 0:01deb85101c9 52 *
Alessio_Zaino 0:01deb85101c9 53 * @param long Offset de décalage
Alessio_Zaino 0:01deb85101c9 54 * @returns aucun
Alessio_Zaino 0:01deb85101c9 55 */
Alessio_Zaino 0:01deb85101c9 56 void setTare(long offset);
Alessio_Zaino 0:01deb85101c9 57 /** Fonction permettant de régler l'échelle pour la convertion en grammmes
Alessio_Zaino 0:01deb85101c9 58 *
Alessio_Zaino 0:01deb85101c9 59 * @param long Echelle de convertion
Alessio_Zaino 0:01deb85101c9 60 * @returns aucun
Alessio_Zaino 0:01deb85101c9 61 */
Alessio_Zaino 0:01deb85101c9 62 void setScale(float scale);
Alessio_Zaino 0:01deb85101c9 63 /** Fonction permettant de récupérer la mesure directement en grammes
Alessio_Zaino 0:01deb85101c9 64 *
Alessio_Zaino 0:01deb85101c9 65 * @param aucun
Alessio_Zaino 0:01deb85101c9 66 * @returns int Grammes mesurés
Alessio_Zaino 0:01deb85101c9 67 */
Alessio_Zaino 0:01deb85101c9 68 int getGram();
Alessio_Zaino 0:01deb85101c9 69
Alessio_Zaino 0:01deb85101c9 70 private: // Déclaration des propriétés de l'objet
Alessio_Zaino 0:01deb85101c9 71 DigitalIn _pin_dout; // Broche de donnée
Alessio_Zaino 0:01deb85101c9 72 DigitalOut _pin_slk; // Broche d'horloge
Alessio_Zaino 0:01deb85101c9 73 long _offset; // Offset pour la convertion en grammes
Alessio_Zaino 0:01deb85101c9 74 float _scale; // Echelle pour la convertion en grammes
Alessio_Zaino 0:01deb85101c9 75 };
Alessio_Zaino 0:01deb85101c9 76