projet3_temperature/lib/MesureADC/MesureADC.h

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 */