92 lines
2.3 KiB
C++
92 lines
2.3 KiB
C++
//
|
|
// MesureADC.h
|
|
// libLTC
|
|
//
|
|
// Created by Tim THUREL on 04/03/2020.
|
|
// Copyright © 2020 Tim THUREL. All rights reserved.
|
|
//
|
|
|
|
/*! \mainpage Guide de démarrage
|
|
*
|
|
* \section intro_sec Introduction
|
|
*
|
|
* Cette librairie sert à utiliser un ou plusieurs ADC : LTC2439.
|
|
*
|
|
* Elle donne les valeurs en degrés des 16 capteurs qui sont raccordées sur l'ADC.
|
|
*
|
|
* Pour faire fonctionner cette librairie il faut déjà avoir installé la librairie LTC2439.h.
|
|
*/
|
|
|
|
|
|
#ifndef MesureADC_h
|
|
#define MesureADC_h
|
|
|
|
#include <stdint.h>
|
|
#include <Arduino.h>
|
|
#include "LTC2439.h"
|
|
|
|
#define DEBUG
|
|
|
|
|
|
|
|
/*! \class MesureADC MesureADC.h <MesureADC.h>
|
|
* \brief Classe utilisé pour la librairie LTC2439 et avoir toute les températures
|
|
*/
|
|
class MesureADC
|
|
{
|
|
public:
|
|
MesureADC(int vref,int maxval,int res_mesure,int v_alim, int beta, int r_therm );
|
|
/*! \fn MesureADC(int vref,int maxval,int res_mesure,int v_alim, int beta, int r_therm );
|
|
* \param vref La tentsion d'alimentation de la pin COM de l'ADC en mV
|
|
* \param maxval La valeur maximal que sort l'ADC, elle est egale à 2^(n-1) n étant le nombre de bits de l'ADC
|
|
* \param res_mesure La valeur en ohm de la résitance de précision
|
|
* \param v_alim La tention d'alimentation de l'ADC en mV
|
|
* \param beta Le béta des thermistances
|
|
* \param r_therm La résistance en ohm des thermistances à 25 degrés
|
|
*/
|
|
float * ReadTemp(int adcCS); // renvoie l'adresse d'un tableau de température
|
|
// !!! Attention !!! bien vider le tableau dans un autre tableau si vous utilisez plusieurs ADC.
|
|
|
|
/*! \fn float * ReadTemp(int adcCS);
|
|
* Calcul les 16 températues de l'ADC LTC2439
|
|
* \param adcCS La pin de CS de l'ADC LTC2439
|
|
* \return Un pointeur d'un tableau de 16 float. Attention ce tableau est modifier a chaque appel de la fonction !
|
|
*/
|
|
|
|
|
|
private:
|
|
float mesureI(float *table);
|
|
void temp();
|
|
void res();
|
|
void volt();
|
|
void mesureV(int CS);
|
|
|
|
int vreference;
|
|
int maximumval;
|
|
int res_courant;
|
|
int tention_alim;
|
|
int beta_therm;
|
|
int res_therm;
|
|
|
|
float i1;
|
|
float i2;
|
|
|
|
float tableV1[8];
|
|
float tableV2[8];
|
|
|
|
float tableVR1[8];
|
|
float tableVR2[8];
|
|
|
|
float tableR1[8];
|
|
float tableR2[8];
|
|
|
|
float T1[8];
|
|
float T2[8];
|
|
|
|
float out[16];
|
|
};
|
|
|
|
|
|
|
|
#endif /* MesureADC.h */
|